Skip to content

nightly-cuda-ubuntu #448

nightly-cuda-ubuntu

nightly-cuda-ubuntu #448

name: nightly-cuda-ubuntu
on:
push:
branches:
- nightly
paths:
- '.github/workflows/nightly-cuda-ubuntu.yml'
- 'CMakeLists.txt'
- 'cmake/**'
- 'k2/csrc/**'
- 'k2/python/**'
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 * * *"
concurrency:
group: nightly-${{ github.ref }}
cancel-in-progress: true
env:
BUILD_TYPE: Release
jobs:
enable_nightly_build:
if: github.repository == 'k2-fsa/k2'
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}"
nightly:
needs: enable_nightly_build
if: needs.enable_nightly_build.outputs.enabled == 'true' || github.event_name == 'push'
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
cuda: ["11.6", "11.7"]
gcc: ["7"]
torch: ["1.13.1"]
python-version: ["3.7", "3.8", "3.9", "3.10", "3.11"]
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- uses: szenius/[email protected]
with:
timezoneLinux: "Asia/Shanghai"
- name: Display date and time
run: date
- 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 CUDA Toolkit ${{ matrix.cuda }}
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
shell: bash
- name: Display NVCC version
run: |
which nvcc
nvcc --version
- name: Install GCC ${{ matrix.gcc }}
run: |
sudo apt-get install -y gcc-${{ matrix.gcc }} g++-${{ matrix.gcc }}
echo "CC=/usr/bin/gcc-${{ matrix.gcc }}" >> $GITHUB_ENV
echo "CXX=/usr/bin/g++-${{ matrix.gcc }}" >> $GITHUB_ENV
echo "CUDAHOSTCXX=/usr/bin/g++-${{ matrix.gcc }}" >> $GITHUB_ENV
- name: Install PyTorch ${{ matrix.torch }}
env:
cuda: ${{ matrix.cuda }}
torch: ${{ matrix.torch }}
shell: bash
run: |
python3 -m pip install --upgrade pip
python3 -m pip install wheel twine typing_extensions
python3 -m pip install bs4 requests tqdm
./scripts/github_actions/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: |
./scripts/github_actions/install_cudnn.sh
- name: Build pip packages
shell: bash
run: |
export K2_CMAKE_ARGS="-DCMAKE_BUILD_TYPE=$BUILD_TYPE"
export K2_MAKE_ARGS="-j2"
python3 setup.py bdist_wheel
ls -lh dist/
- name: Copy wheels to k2-fsa.org
if: ${{ github.repository_owner == 'k2-fsa' }}
uses: horochx/[email protected]
with:
host: ${{ secrets.K2_HOST }}
user: ${{ secrets.K2_USERNAME }}
key: ${{ secrets.K2_KEY }}
port: ${{ secrets.K2_PORT }}
local: dist/*.whl
remote: nightly/whl