name: Publish to PyPI on: push: tags: - "v*.*.*" workflow_dispatch: jobs: build-and-publish: name: Build & Publish (${{ 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 twine - name: Build wheel run: python -m build --wheel - name: Publish to PyPI env: TWINE_USERNAME: __token__ TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }} run: twine upload dist/*.whl