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