name: CI on: push: branches: - main - master pull_request: jobs: linux: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: messense/maturin-action@v1 with: manylinux: auto command: build args: --release --sdist -o dist --find-interpreter - name: Upload wheels uses: actions/upload-artifact@v2 with: name: wheels path: dist windows: runs-on: windows-latest steps: - uses: actions/checkout@v3 - uses: messense/maturin-action@v1 with: command: build args: --release -o dist --find-interpreter - name: Upload wheels uses: actions/upload-artifact@v2 with: name: wheels path: dist macos: runs-on: macos-latest steps: - uses: actions/checkout@v3 - uses: messense/maturin-action@v1 with: command: build args: --release -o dist --universal2 --find-interpreter - name: Upload wheels uses: actions/upload-artifact@v2 with: name: wheels path: dist release: name: Release runs-on: ubuntu-latest if: "startsWith(github.ref, 'refs/tags/')" needs: [ macos, windows, linux ] steps: - uses: actions/download-artifact@v2 with: name: wheels - name: Publish to PyPI uses: messense/maturin-action@v1 env: MATURIN_PYPI_TOKEN: ${{ secrets.PYPI_API_TOKEN }} with: command: upload args: --skip-existing *