# 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: - '*' branches: - torch-1.7.1 jobs: pypi: runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: [ubuntu-18.04, macos-10.15] cuda: ["10.1"] torch: ["1.7.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 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 }} if: startsWith(matrix.os, 'ubuntu') 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 PyTorch ${{ matrix.torch }} if: startsWith(matrix.os, 'macos') shell: bash run: | python3 -m pip install -qq --upgrade pip python3 -m pip install -qq wheel twine typing_extensions python3 -m pip install -qq torch==${{ matrix.torch }} 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: 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