diff --git a/.github/workflows/build_conda.yml b/.github/workflows/build_conda.yml index 882ad72..bb6f427 100644 --- a/.github/workflows/build_conda.yml +++ b/.github/workflows/build_conda.yml @@ -40,7 +40,7 @@ jobs: id: set-matrix run: | # outputting for debugging purposes - python scripts/github_actions/generate_build_matrix.py + python scripts/github_actions/generate_build_matrix.py --enable-cuda MATRIX=$(python scripts/github_actions/generate_build_matrix.py --enable-cuda) echo "::set-output name=matrix::${MATRIX}" diff --git a/.github/workflows/nightly-tests-ubuntu-cuda.yml b/.github/workflows/nightly-tests-ubuntu-cuda.yml new file mode 100644 index 0000000..acb41cc --- /dev/null +++ b/.github/workflows/nightly-tests-ubuntu-cuda.yml @@ -0,0 +1,115 @@ +# Copyright 2021 Xiaomi Corp. (author: Fangjun Kuang) + +# See ../../LICENSE for clarification regarding multiple authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +name: Nightly tests ubuntu cuda + +on: + push: + branches: + - nightly-test + +jobs: + generate_build_matrix: + # see https://github.com/pytorch/pytorch/pull/50633 + runs-on: ubuntu-latest + outputs: + matrix: ${{ steps.set-matrix.outputs.matrix }} + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Generating build matrix + id: set-matrix + run: | + # outputting for debugging purposes + python scripts/github_actions/generate_build_matrix.py --enable-cuda + MATRIX=$(python scripts/github_actions/generate_build_matrix.py --enable-cuda) + echo "::set-output name=matrix::${MATRIX}" + + run_nightly_tests_ubuntu_cuda: + needs: generate_build_matrix + runs-on: ubuntu-18.04 + strategy: + fail-fast: false + matrix: + ${{ fromJson(needs.generate_build_matrix.outputs.matrix) }} + + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + + - name: Setup Python + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + + - name: Install GCC 7 + if: startsWith(matrix.os, 'ubuntu') + run: | + sudo apt-get install -y gcc-7 g++-7 + echo "CC=/usr/bin/gcc-7" >> $GITHUB_ENV + echo "CXX=/usr/bin/g++-7" >> $GITHUB_ENV + + - name: Install CUDA Toolkit ${{ matrix.cuda }} + if: startsWith(matrix.os, 'ubuntu') + shell: bash + env: + cuda: ${{ matrix.cuda }} + run: | + source ./scripts/github_actions/install_cuda.sh + echo "CUDA_HOME=${CUDA_HOME}" >> $GITHUB_ENV + echo "${CUDA_HOME}/bin" >> $GITHUB_PATH + echo "LD_LIBRARY_PATH=${CUDA_HOME}/lib:${CUDA_HOME}/lib64:${LD_LIBRARY_PATH}" >> $GITHUB_ENV + + - name: Display NVCC version + if: startsWith(matrix.os, 'ubuntu') + run: | + which nvcc + nvcc --version + + - name: Install PyTorch ${{ matrix.torch }} + env: + cuda: ${{ matrix.cuda }} + torch: ${{ matrix.torch }} + shell: bash + run: | + sudo apt update + sudo apt install libsndfile1-dev libsndfile1 ffmpeg + python3 -m pip install --upgrade pip + python3 -m pip install wheel twine typing_extensions soundfile + python3 -m pip install bs4 requests tqdm + + ./scripts/github_actions/install_torch.sh + python3 -c "import torch; print('torch version:', torch.__version__)" + + - name: Download cudnn 8.0 + if: startsWith(matrix.os, 'ubuntu') + env: + cuda: ${{ matrix.cuda }} + run: | + ./scripts/github_actions/install_cudnn.sh + + - name: Install from PyPI + shell: bash + run: | + pip install --verbose kaldifeat + + - name: Run tests + shell: bash + run: | + cd kaldifeat/python/tests + make test diff --git a/kaldifeat/python/tests/Makefile b/kaldifeat/python/tests/Makefile new file mode 100644 index 0000000..20f98ff --- /dev/null +++ b/kaldifeat/python/tests/Makefile @@ -0,0 +1,13 @@ + +.PHONY: test +test: + python3 ./test_fbank.py + python3 ./test_fbank_options.py + python3 ./test_frame_extraction_options.py + python3 ./test_mel_bank_options.py + python3 ./test_mfcc.py + python3 ./test_mfcc_options.py + python3 ./test_plp.py + python3 ./test_plp_options.py + python3 ./test_spectrogram.py + python3 ./test_spectrogram_options.py