# 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 pip cuda on: schedule: # minute (0-59) # hour (0-23) # day of the month (1-31) # month (1-12) # day of the week (0-6) # nightly build at 23:50 UTC time every day - cron: "50 23 * * *" jobs: enable_nightly_build: runs-on: ubuntu-latest outputs: enabled: ${{ steps.set-enabled.outputs.enabled }} steps: - uses: actions/checkout@v2 with: fetch-depth: 0 - name: Set enabled id: set-enabled run: | enabled=$(python scripts/github_actions/run-nightly-build.py) echo "enabled: $enabled" echo "::set-output name=enabled::${enabled}" generate_build_matrix: needs: enable_nightly_build if: needs.enable_nightly_build.outputs.enabled == 'true' # 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_pip_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 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 }} 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 run: | which nvcc nvcc --version - name: Install PyTorch ${{ matrix.torch }} env: cuda: ${{ matrix.cuda }} torch: ${{ matrix.torch }} shell: bash run: | sudo apt-get update sudo apt-get install -y 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 numpy ./scripts/github_actions/install_torch.sh python3 -c "import torch; print('torch version:', torch.__version__)" - name: Download cudnn 8.0 env: cuda: ${{ matrix.cuda }} run: | ./scripts/github_actions/install_cudnn.sh - name: Install from PyPI shell: bash run: | export KALDIFEAT_MAKE_ARGS="-j 3" pip install --verbose kaldifeat - name: Run tests shell: bash run: | cd kaldifeat/python/tests make test