123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 |
- name: build-wheels-linux
- on:
- push:
- branches:
- - wheel
- tags:
- - '*'
- workflow_dispatch:
- env:
- SHERPA_NCNN_IS_IN_GITHUB_ACTIONS: 1
- concurrency:
- group: build-wheels-linux-${{ github.ref }}
- cancel-in-progress: true
- jobs:
- build_wheels_linux:
- name: ${{ matrix.python-version }}
- runs-on: ${{ matrix.os }}
- strategy:
- fail-fast: false
- matrix:
- os: [ubuntu-latest]
- python-version: ["cp37", "cp38", "cp39", "cp310", "cp311", "cp312"]
- steps:
- - uses: actions/checkout@v4
- # see https://cibuildwheel.readthedocs.io/en/stable/changelog/
- # for a list of versions
- - name: Build wheels
- uses: pypa/cibuildwheel@v2.15.0
- env:
- CIBW_BEFORE_ALL: |
- git clone --depth 1 https://github.com/alsa-project/alsa-lib
- cd alsa-lib
- ./gitcompile
- cd ..
- echo "PWD"
- ls -lh /project/alsa-lib/src/.libs
- CIBW_ENVIRONMENT: CPLUS_INCLUDE_PATH=/project/alsa-lib/include:$CPLUS_INCLUDE_PATH SHERPA_NCNN_ALSA_LIB_DIR=/project/alsa-lib/src/.libs LD_LIBRARY_PATH=/project/build/bdist.linux-x86_64/wheel/sherpa_ncnn/lib:$SHERPA_NCNN_ALSA_LIB_DIR SHERPA_NCNN_MAKE_ARGS="VERBOSE=1" SHERPA_NCNN_ENABLE_ALSA=1
- CIBW_BUILD: "${{ matrix.python-version}}-* "
- CIBW_SKIP: "cp27-* cp35-* cp36-* *-win32 pp* *-musllinux* *-manylinux_i686"
- CIBW_BUILD_VERBOSITY: 3
- - name: Display wheels
- shell: bash
- run: |
- ls -lh ./wheelhouse/
- - name: Install patchelf
- if: matrix.os == 'ubuntu-latest'
- shell: bash
- run: |
- sudo apt-get update -q
- sudo apt-get install -q -y patchelf
- patchelf --help
- - name: Patch wheels
- shell: bash
- if: matrix.os == 'ubuntu-latest'
- run: |
- mkdir ./wheels
- sudo ./scripts/wheel/patch_wheel.py --in-dir ./wheelhouse --out-dir ./wheels
- ls -lh ./wheels/
- rm -rf ./wheelhouse
- mv ./wheels ./wheelhouse
- - uses: actions/upload-artifact@v4
- with:
- name: ${{ matrix.python-version }}
- path: ./wheelhouse/*.whl
- - name: Publish to huggingface
- if: matrix.python-version == 'cp38'
- env:
- HF_TOKEN: ${{ secrets.HF_TOKEN }}
- uses: nick-fields/retry@v3
- with:
- max_attempts: 20
- timeout_seconds: 200
- shell: bash
- command: |
- git config --global user.email "csukuangfj@gmail.com"
- git config --global user.name "Fangjun Kuang"
- rm -rf huggingface
- export GIT_LFS_SKIP_SMUDGE=1
- git clone https://huggingface.co/csukuangfj/sherpa-ncnn-wheels huggingface
- cd huggingface
- git fetch
- git pull
- git merge -m "merge remote" --ff origin main
- cp -v ../wheelhouse/*.whl .
- git status
- git add .
- git commit -m "add more wheels"
- git push https://csukuangfj:$HF_TOKEN@huggingface.co/csukuangfj/sherpa-ncnn-wheels main
- - name: Publish wheels to PyPI
- env:
- TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }}
- TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
- run: |
- python3 -m pip install --upgrade pip
- python3 -m pip install wheel twine setuptools
- twine upload ./wheelhouse/*.whl
- - name: Build sdist
- if: matrix.python-version == 'cp38'
- shell: bash
- run: |
- python3 setup.py sdist
- ls -lh dist/*
- - name: Publish sdist to PyPI
- if: matrix.python-version == 'cp38'
- env:
- TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }}
- TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
- run: |
- python3 -m pip install --upgrade pip
- python3 -m pip install wheel twine setuptools
- twine upload dist/sherpa*.tar.gz
|