-name: Publish to PyPI
+name: Build wheels and publish to PyPI
on:
release:
types: [published]
+ pull_request:
permissions:
contents: read
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
- name: Set up latest Python
uses: actions/setup-python@v4
- name: Build wheel and source distributions
run: python -m build
- - name: Upload to PyPI via Twine
+ - if: github.event_name == 'release'
+ name: Upload to PyPI via Twine
env:
TWINE_PASSWORD: ${{ secrets.PYPI_TOKEN }}
run: twine upload --verbose -u '__token__' dist/*
- os: macos-11
name: macos-x86_64
macos_arch: "x86_64"
- # Only build x86_64 wheels on macos until #3312 is fixed
- # - os: macos-11
- # name: macos-arm64
- # macos_arch: "arm64"
- # - os: macos-11
- # name: macos-universal2
- # macos_arch: "universal2"
+ - os: macos-11
+ name: macos-arm64
+ macos_arch: "arm64"
+ - os: macos-11
+ name: macos-universal2
+ macos_arch: "universal2"
steps:
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
- name: Build wheels via cibuildwheel
- uses: pypa/cibuildwheel@v2.11.3
+ uses: pypa/cibuildwheel@v2.15.0
env:
CIBW_ARCHS_MACOS: "${{ matrix.macos_arch }}"
name: ${{ matrix.name }}-mypyc-wheels
path: ./wheelhouse/*.whl
- - name: Upload wheels to PyPI via Twine
+ - if: github.event_name == 'release'
+ name: Upload wheels to PyPI via Twine
env:
TWINE_PASSWORD: ${{ secrets.PYPI_TOKEN }}
run: pipx run twine upload --verbose -u '__token__' wheelhouse/*.whl
steps:
- name: Checkout stable branch
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
ref: stable
fetch-depth: 0
- - name: Update stable branch to release tag & push
+ - if: github.event_name == 'release'
+ name: Update stable branch to release tag & push
run: |
git reset --hard ${{ github.event.release.tag_name }}
git push