fix: display kernel-rs errors better #157
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Release to PyPI and documentation | ||
| on: | ||
| push: | ||
| tags: ["python-v*"] | ||
| defaults: | ||
| run: | ||
| working-directory: ./python | ||
| jobs: | ||
| validate-release-tag: | ||
| name: Validate git tag | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - uses: actions/checkout@v5 | ||
| - name: compare git tag with cargo metadata | ||
| run: | | ||
| PUSHED_TAG=${GITHUB_REF##*/} | ||
| CURR_VER=$( grep version Cargo.toml | head -n 1 | awk '{print $3}' | tr -d '"' ) | ||
| if [[ "${PUSHED_TAG}" != "python-v${CURR_VER}" ]]; then | ||
| echo "Cargo metadata has version set to ${CURR_VER}, but got pushed tag ${PUSHED_TAG}." | ||
| exit 1 | ||
| fi | ||
| release-pypi-mac: | ||
| needs: validate-release-tag | ||
| name: PyPI release on Mac | ||
| strategy: | ||
| fail-fast: false | ||
| matrix: | ||
| target: [x86_64-apple-darwin, aarch64-apple-darwin] | ||
| runs-on: macos-14 | ||
| steps: | ||
| - uses: actions/checkout@v5 | ||
| - uses: Swatinem/rust-cache@v2 | ||
| with: | ||
| cache-targets: false | ||
| - name: Publish to pypi (without sdist) | ||
| uses: messense/maturin-action@v1 | ||
| env: | ||
| MATURIN_PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }} | ||
| with: | ||
| target: ${{ matrix.target }} | ||
| command: publish | ||
| args: --skip-existing -m python/Cargo.toml --no-sdist | ||
| release-pypi-windows: | ||
| needs: validate-release-tag | ||
| name: PyPI release on Windows | ||
| runs-on: windows-latest | ||
| steps: | ||
| - uses: actions/checkout@v5 | ||
| - uses: Swatinem/rust-cache@v2 | ||
| with: | ||
| cache-targets: false | ||
| - name: Publish to pypi (without sdist) | ||
| uses: messense/maturin-action@v1 | ||
| env: | ||
| MATURIN_PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }} | ||
| with: | ||
| target: x86_64-pc-windows-msvc | ||
| command: publish | ||
| args: --skip-existing -m python/Cargo.toml --no-sdist | ||
| release-pypi-manylinux-x86-64: | ||
| needs: validate-release-tag | ||
| name: PyPI release manylinux-2_17 x86_64 | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - uses: actions/checkout@v5 | ||
| - uses: Swatinem/rust-cache@v2 | ||
| with: | ||
| cache-targets: false | ||
| - name: Publish manylinux to pypi x86_64 (with sdist) | ||
| uses: messense/maturin-action@v1 | ||
| env: | ||
| MATURIN_PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }} | ||
| with: | ||
| maturin-version: v1.6.0 # https://github.com/PyO3/maturin/issues/2154 | ||
| target: x86_64-unknown-linux-gnu | ||
| command: publish | ||
| args: --skip-existing -m python/Cargo.toml | ||
| release-pypi-manylinux-228-aarch64: | ||
| needs: validate-release-tag | ||
| name: PyPI release manylinux-2_28 aarch64 | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - uses: actions/checkout@v5 | ||
| - uses: Swatinem/rust-cache@v2 | ||
| with: | ||
| cache-targets: false | ||
| - name: Publish manylinux to pypi aarch64 manylinux-2_28 (without sdist) | ||
| uses: messense/maturin-action@v1 | ||
| env: | ||
| MATURIN_PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }} | ||
| with: | ||
| target: aarch64-unknown-linux-gnu | ||
| command: publish | ||
| args: --skip-existing -m python/Cargo.toml --no-sdist | ||
| manylinux: "2_28" | ||
| release-pypi-musl-x86-64: | ||
| needs: validate-release-tag | ||
| name: PyPI release musl-2_17 x86_64 | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - uses: actions/checkout@v5 | ||
| - uses: Swatinem/rust-cache@v2 | ||
| with: | ||
| cache-targets: false | ||
| - name: Publish manylinux to pypi x86_64 (with sdist) | ||
| uses: messense/maturin-action@v1 | ||
| env: | ||
| MATURIN_PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }} | ||
| with: | ||
| maturin-version: v1.6.0 # https://github.com/PyO3/maturin/issues/2154 | ||
| target: x86_64-unknown-linux-musl | ||
| command: publish | ||
| args: --skip-existing -m python/Cargo.toml --zig | ||
| release-docs: | ||
| needs: | ||
| [ | ||
| validate-release-tag, | ||
| release-pypi-manylinux-x86-64, | ||
| release-pypi-manylinux-217-aarch64, | ||
| release-pypi-manylinux-228-aarch64, | ||
| release-pypi-mac, | ||
| release-pypi-windows, | ||
| ] | ||
| permissions: | ||
| contents: write | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - name: Trigger the docs release event | ||
| uses: peter-evans/repository-dispatch@v2 | ||
| with: | ||
| event-type: release-docs | ||
| client-payload: > | ||
| { | ||
| "tag": "${{ github.ref_name }}" | ||
| } | ||