Some checks failed
Publish to PyPI / Build (docker-amd64, py3.10) (push) Failing after 28s
Publish to PyPI / Build (docker-arm64, py3.10) (push) Failing after 46s
Publish to PyPI / Build (docker-amd64, py3.11) (push) Failing after 30s
Publish to PyPI / Build (docker-arm64, py3.11) (push) Failing after 46s
Publish to PyPI / Build (docker-amd64, py3.12) (push) Failing after 28s
Publish to PyPI / Build (docker-arm64, py3.12) (push) Failing after 43s
Publish to PyPI / Publish to PyPI (push) Has been skipped
ver: bump
61 lines
1.4 KiB
YAML
61 lines
1.4 KiB
YAML
name: Publish to PyPI
|
|
|
|
on:
|
|
push:
|
|
tags:
|
|
- "v*.*.*"
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
build:
|
|
name: Build (${{ matrix.runner }}, py${{ matrix.python }})
|
|
runs-on: ${{ matrix.runner }}
|
|
container:
|
|
image: python:${{ matrix.python }}-bookworm
|
|
|
|
strategy:
|
|
matrix:
|
|
python: ["3.10", "3.11", "3.12"]
|
|
runner: [docker-amd64, docker-arm64]
|
|
|
|
steps:
|
|
- name: Checkout repository
|
|
run: |
|
|
git clone --depth=1 --branch "${{ github.ref_name }}" \
|
|
"https://oauth2:${{ github.token }}@bitfreedom.net/code/${{ github.repository }}.git" \
|
|
.
|
|
|
|
- name: Install build tools
|
|
run: pip install build Cython
|
|
|
|
- name: Build wheel
|
|
run: python -m build --wheel
|
|
|
|
- name: Upload wheel artifact
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: wheel-${{ matrix.runner }}-py${{ matrix.python }}
|
|
path: dist/*.whl
|
|
|
|
publish:
|
|
name: Publish to PyPI
|
|
needs: build
|
|
runs-on: docker-amd64
|
|
container:
|
|
image: python:3.12-bookworm
|
|
|
|
steps:
|
|
- name: Download all wheels
|
|
uses: actions/download-artifact@v3
|
|
with:
|
|
path: dist/
|
|
merge-multiple: true
|
|
|
|
- name: Install twine
|
|
run: pip install twine
|
|
|
|
- name: Publish to PyPI
|
|
env:
|
|
TWINE_USERNAME: __token__
|
|
TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
|
|
run: twine upload dist/**/*.whl
|