Refactor building wheels (#436)
This commit is contained in:
121
.github/workflows/build-wheels-linux.yaml
vendored
Normal file
121
.github/workflows/build-wheels-linux.yaml
vendored
Normal file
@@ -0,0 +1,121 @@
|
||||
name: build-wheels-linux
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- wheel
|
||||
tags:
|
||||
- '*'
|
||||
workflow_dispatch:
|
||||
|
||||
env:
|
||||
SHERPA_ONNX_IS_IN_GITHUB_ACTIONS: 1
|
||||
|
||||
concurrency:
|
||||
group: build-wheels-${{ 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_BUILD: "${{ matrix.python-version}}-* "
|
||||
CIBW_SKIP: "cp27-* cp35-* cp36-* *-win32 pp* *-musllinux* *-manylinux_i686"
|
||||
CIBW_BUILD_VERBOSITY: 3
|
||||
CIBW_ENVIRONMENT_LINUX: LD_LIBRARY_PATH='/project/build/bdist.linux-x86_64/wheel/sherpa_onnx/lib'
|
||||
|
||||
- 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@v3
|
||||
with:
|
||||
path: ./wheelhouse/*.whl
|
||||
|
||||
- name: Publish to huggingface
|
||||
if: matrix.python-version == 'cp38'
|
||||
env:
|
||||
HF_TOKEN: ${{ secrets.HF_TOKEN }}
|
||||
uses: nick-fields/retry@v2
|
||||
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-onnx-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-onnx-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 -l dist/*
|
||||
|
||||
- name: Publish sdist to PyPI
|
||||
if: matrix.python-version == 'cp38'
|
||||
env:
|
||||
TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }}
|
||||
TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
|
||||
run: |
|
||||
twine upload dist/sherpa-onnx-*.tar.gz
|
||||
Reference in New Issue
Block a user