Upload Python Package #28
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Upload Python Package | |
on: | |
release: | |
types: [published] | |
jobs: | |
build_wheels: | |
name: Build wheels on ${{matrix.arch}} for ${{ matrix.os }} | |
runs-on: ${{ matrix.os }} | |
env: | |
CIBW_SKIP: "cp27-* cp34-* cp35-* pp27-* cp36-musllinux_aarch64 pp37-manylinux_aarch64 cp36-manylinux_aarch64 cp310-win32 cp311-win32 pp3*" | |
CIBW_BEFORE_BUILD: "pip install Cython==3.0.2" | |
strategy: | |
matrix: | |
os: [ubuntu-22.04, windows-latest, macos-latest] | |
# os: [ubuntu-22.04, macos-latest] | |
arch: [auto] | |
# include: | |
# - os: ubuntu-22.04 | |
# arch: aarch64 | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: true | |
- uses: actions/setup-python@v4 | |
name: Install Python | |
with: | |
python-version: '3.11' | |
- uses: docker/setup-qemu-action@v2 | |
if: ${{ matrix.arch == 'aarch64' }} | |
name: Set up QEMU | |
- name: Install cibuildwheel | |
run: | | |
python -m pip install cibuildwheel==2.14.1 Cython==3.0.2 | |
- name: Build wheels | |
env: | |
CIBW_ARCHS_MACOS: x86_64 universal2 | |
CIBW_ARCHS_LINUX: ${{matrix.arch}} | |
run: | | |
python -m cibuildwheel --output-dir wheelhouse | |
- uses: actions/upload-artifact@v3 | |
with: | |
path: ./wheelhouse/*.whl | |
retention-days: 1 | |
build_sdist: | |
name: Build source distribution | |
runs-on: ubuntu-latest | |
env: | |
CIBW_SKIP: "cp27-* cp34-* pp27-* cp35-*" | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: true | |
- uses: actions/setup-python@v4 | |
name: Install Python | |
with: | |
python-version: '3.11' | |
- name: Install build & updates | |
run: | | |
python -m pip install build | |
python -m pip install -U pip setuptools | |
- name: Build sdist | |
run: | | |
python -m build --sdist --outdir dist | |
- uses: actions/upload-artifact@v3 | |
with: | |
path: dist/*.tar.gz | |
retention-days: 1 | |
upload: | |
needs: [build_wheels, build_sdist] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Download Artifacts | |
uses: actions/download-artifact@v3 | |
with: | |
name: artifact | |
path: dist | |
- name: Publish to Test PyPI | |
uses: pypa/gh-action-pypi-publish@release/v1 | |
with: | |
user: __token__ | |
password: ${{ secrets.TEST_PYPI_API_TOKEN }} | |
repository-url: https://test.pypi.org/legacy/ | |
- name: Publish to PyPI | |
if: startsWith(github.ref, 'refs/tags') | |
uses: pypa/gh-action-pypi-publish@release/v1 | |
with: | |
password: ${{ secrets.PYPI_API_TOKEN }} |