Skip to content

Fix actions (#31)

Fix actions (#31) #9

# Copyright 2023 Xiaomi Corp. (Wei Kang)
# 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: run-tests-cuda
on:
push:
branches:
- master
paths:
- '.github/workflows/run_tests_cuda.yml'
- 'CMakeLists.txt'
- 'cmake/**'
- 'fast_rnnt/csrc/**'
- 'fast_rnnt/python/**'
pull_request:
branches:
- master
paths:
- '.github/workflows/run_tests_cuda.yml'
- 'CMakeLists.txt'
- 'cmake/**'
- 'fast_rnnt/csrc/**'
- 'fast_rnnt/python/**'
concurrency:
group: run-tests-${{ github.ref }}
cancel-in-progress: true
jobs:
run-tests:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
cuda: ["11.6"]
torch: ["1.12.1"]
python-version: ["3.9"]
build_type: ["Release", "Debug"]
steps:
# refer to https://github.com/actions/checkout
- uses: actions/checkout@v2
- name: Install CUDA Toolkit ${{ matrix.cuda }}
env:
cuda: ${{ matrix.cuda }}
run: |
source ./.github/scripts/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
shell: bash
- name: Display NVCC version
run: |
which nvcc
nvcc --version
- name: Display GCC version
run: |
gcc --version
- name: Setup Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Display Python version
run: python -c "import sys; print(sys.version)"
- name: Install PyTorch ${{ matrix.torch }}
env:
cuda: ${{ matrix.cuda }}
torch: ${{ matrix.torch }}
shell: bash
run: |
python3 -m pip install -qq --upgrade pip
./.github/scripts/install_torch.sh
python3 -c "import torch; print('torch version:', torch.__version__)"
- name: Install git lfs
run: |
sudo apt-get install -y git-lfs
- name: Download cudnn 8.0
env:
cuda: ${{ matrix.cuda }}
run: |
./.github/scripts/install_cudnn.sh
- name: Configure CMake
shell: bash
env:
torch: ${{ matrix.torch }}
run: |
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} ..
- name: ${{ matrix.build_type }} Build
shell: bash
run: |
echo "number of cores: $(nproc)"
cd build
# we cannot use -j here because of limited RAM
# of the VM provided by GitHub actions
make VERBOSE=1 -j2
- name: Display Build Information
shell: bash
run: |
export PYTHONPATH=$PWD/fast_rnnt/python:$PWD/build/lib:$PYTHONPATH
- name: Run Tests
shell: bash
run: |
cd build
ctest --output-on-failure