Skip to content

release: v0.14.3 — engine simplification + generic filter iterators #14

release: v0.14.3 — engine simplification + generic filter iterators

release: v0.14.3 — engine simplification + generic filter iterators #14

Workflow file for this run

name: release_python
on:
push:
tags:
- 'v*'
permissions:
contents: read
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Rust
uses: dtolnay/rust-toolchain@master
with:
toolchain: nightly
- uses: Swatinem/rust-cache@v2
with:
cache-on-failure: true
- uses: taiki-e/install-action@v2
with:
tool: cargo-all-features,cargo-nextest
- name: Test
run: |
cargo all-features nextest run
cargo test --doc
working-directory: matcher_rs
env:
RUST_BACKTRACE: 1
linux:
needs: [test]
runs-on: ${{ matrix.platform.runner }}
strategy:
fail-fast: false
matrix:
platform:
- runner: ubuntu-latest
target: x86_64
- runner: ubuntu-24.04-arm
target: aarch64
python: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]
steps:
- uses: actions/checkout@v4
- name: Install Python
uses: actions/setup-python@v5
with:
python-version: "${{ matrix.python }}"
- name: Build wheels
uses: PyO3/maturin-action@v1
env:
RUSTFLAGS: "-Z threads=0 -D warnings"
with:
target: ${{ matrix.platform.target }}
args: --release --out dist -i python${{ matrix.python }}
sccache: 'true'
manylinux: auto
rust-toolchain: nightly
working-directory: matcher_py
- name: Upload wheels
uses: actions/upload-artifact@v4
with:
name: wheels-linux-${{ matrix.platform.target }}-${{ matrix.python }}
path: matcher_py/dist
overwrite: true
musllinux:
needs: [test]
runs-on: ${{ matrix.platform.runner }}
strategy:
fail-fast: false
matrix:
platform:
- runner: ubuntu-latest
target: x86_64
- runner: ubuntu-24.04-arm
target: aarch64
python: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]
steps:
- uses: actions/checkout@v4
- name: Install Python
uses: actions/setup-python@v5
with:
python-version: "${{ matrix.python }}"
- name: Build wheels
uses: PyO3/maturin-action@v1
env:
RUSTFLAGS: "-Z threads=0 -D warnings"
with:
target: ${{ matrix.platform.target }}
args: --release --out dist -i python${{ matrix.python }}
sccache: 'true'
manylinux: musllinux_1_2
rust-toolchain: nightly
working-directory: matcher_py
- name: Upload wheels
uses: actions/upload-artifact@v4
with:
name: wheels-musllinux-${{ matrix.platform.target }}-${{ matrix.python }}
path: matcher_py/dist
overwrite: true
windows:
needs: [test]
runs-on: ${{ matrix.platform.runner }}
strategy:
fail-fast: false
matrix:
platform:
- runner: windows-latest
target: x64
python: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]
steps:
- uses: actions/checkout@v4
- name: Install Python
uses: actions/setup-python@v5
with:
python-version: "${{ matrix.python }}"
- name: Build wheels
uses: PyO3/maturin-action@v1
env:
RUSTFLAGS: "-Z threads=0 -D warnings"
with:
target: ${{ matrix.platform.target }}
args: --release --out dist -i python${{ matrix.python }}
sccache: 'true'
rust-toolchain: nightly
working-directory: matcher_py
- name: Upload wheels
uses: actions/upload-artifact@v4
with:
name: wheels-windows-${{ matrix.platform.target }}-${{ matrix.python }}
path: matcher_py/dist
overwrite: true
macos:
needs: [test]
runs-on: ${{ matrix.platform.runner }}
strategy:
fail-fast: false
matrix:
platform:
- runner: macos-latest
target: aarch64
python: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]
steps:
- uses: actions/checkout@v4
- name: Install Python
uses: actions/setup-python@v5
with:
python-version: "${{ matrix.python }}"
- name: Build wheels
uses: PyO3/maturin-action@v1
env:
RUSTFLAGS: "-Z threads=0 -D warnings"
with:
target: ${{ matrix.platform.target }}
args: --release --out dist -i python${{ matrix.python }}
sccache: 'true'
rust-toolchain: nightly
working-directory: matcher_py
- name: Upload wheels
uses: actions/upload-artifact@v4
with:
name: wheels-macos-${{ matrix.platform.target }}-${{ matrix.python }}
path: matcher_py/dist
overwrite: true
sdist:
needs: [test]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Python
uses: actions/setup-python@v5
with:
python-version: 3.13
- name: Build sdist
uses: PyO3/maturin-action@v1
with:
command: sdist
args: --out dist
rust-toolchain: nightly
working-directory: matcher_py
- name: Upload sdist
uses: actions/upload-artifact@v4
with:
name: wheels-sdist
path: matcher_py/dist
overwrite: true
release:
name: Release
runs-on: ubuntu-latest
needs: [linux, musllinux, windows, macos, sdist]
steps:
- name: Download artifact
uses: actions/download-artifact@v4
with:
pattern: wheels-*
merge-multiple: true
path: dist
- uses: actions/setup-python@v5
with:
python-version: 3.13
- run: pip install --upgrade pip twine
- name: Publish to pypi
env:
TWINE_USERNAME: __token__
TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
run: twine upload --skip-existing dist/*