From a04e5e4a96c01143c2a4a5e5b02d86d09b32c43c Mon Sep 17 00:00:00 2001 From: Antoine Soulier Date: Mon, 3 Feb 2025 09:38:02 -0800 Subject: [PATCH] python: Build python wrapper wheels with github actions --- .github/workflows/pypi.yaml | 57 +++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 .github/workflows/pypi.yaml diff --git a/.github/workflows/pypi.yaml b/.github/workflows/pypi.yaml new file mode 100644 index 0000000..97e7f1e --- /dev/null +++ b/.github/workflows/pypi.yaml @@ -0,0 +1,57 @@ +name: pypi + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + +permissions: + id-token: write + +jobs: + build-linux: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 + with: + python-version: '3.10' + cache: 'pip' + - run: | + pip install auditwheel patchelf + pip wheel . -w wheel + auditwheel repair -w dist --plat=manylinux_2_17_x86_64 wheel/*.whl + - uses: actions/upload-artifact@v4 + with: + name: python-package-linux + path: dist/*.whl + + build-macos: + runs-on: macos-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 + with: + python-version: '3.10' + cache: 'pip' + - run: | + pip wheel . -w dist + - uses: actions/upload-artifact@v4 + with: + name: python-package-macos + path: dist/*.whl + + publish: + if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags') + runs-on: ubuntu-latest + needs: [build-linux, build-macos] + environment: + name: pypi + url: https://pypi.org/p/pylc3 + steps: + - uses: actions/download-artifact@v4 + with: + merge-multiple: true + path: dist/ + - uses: pypa/gh-action-pypi-publish@release/v1