# 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: Publish to PyPI on: push: tags: - '*' jobs: pypi: runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: [ubuntu-18.04] cuda: ["10.1"] gcc: ["5"] torch: ["1.8.1"] python-version: [3.6, 3.7, 3.8] 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 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 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: Download cudnn 8.0 env: cuda: ${{ matrix.cuda }} run: | ./scripts/github_actions/install_cudnn.sh - name: Build pip packages shell: bash env: KALDIFEAT_IS_FOR_PYPI: 1 run: | tag=$(python3 -c "import sys; print(''.join(sys.version[:3].split('.')))") export KALDIFEAT_MAKE_ARGS="-j2" python3 setup.py bdist_wheel --python-tag=py${tag} ls -lh dist/ - name: Publish wheels to PyPI env: TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }} TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }} run: | twine upload dist/kaldifeat-*.whl - name: Upload Wheel uses: actions/upload-artifact@v2 with: name: torch-${{ matrix.torch }}-python-${{ matrix.python-version }}-${{ matrix.os }} path: dist/*.whl