From 540340edd85ce6b130cbc20500294c578e142611 Mon Sep 17 00:00:00 2001 From: Nathan Federknopp Date: Fri, 21 Nov 2025 10:09:57 -0800 Subject: [PATCH 1/2] add dry run and add python 3.8 to 3.14 to all builds --- .../sift_stream_bindings_release.yaml | 6 +- .../sift_stream_bindings_release_dry_run.yaml | 93 +++++++++++++++++++ 2 files changed, 96 insertions(+), 3 deletions(-) create mode 100644 .github/workflows/sift_stream_bindings_release_dry_run.yaml diff --git a/.github/workflows/sift_stream_bindings_release.yaml b/.github/workflows/sift_stream_bindings_release.yaml index 78ec29ffb..08ba42776 100644 --- a/.github/workflows/sift_stream_bindings_release.yaml +++ b/.github/workflows/sift_stream_bindings_release.yaml @@ -27,7 +27,7 @@ jobs: uses: PyO3/maturin-action@v1 with: target: ${{ matrix.platform.target }} - args: --release --out dist --find-interpreter + args: --release --out dist --interpreter '3.8 3.9 3.10 3.11 3.12 3.13 3.14 3.14t' sccache: ${{ !startsWith(github.ref, 'refs/tags/sift-stream-bindings/') }} manylinux: auto working-directory: rust/crates/sift_stream_bindings @@ -59,7 +59,7 @@ jobs: uses: PyO3/maturin-action@v1 with: target: ${{ matrix.platform.target }} - args: --release --out dist --find-interpreter + args: --release --out dist --interpreter '3.8 3.9 3.10 3.11 3.12 3.13 3.14 3.14t' sccache: ${{ !startsWith(github.ref, 'refs/tags/sift-stream-bindings/') }} working-directory: rust/crates/sift_stream_bindings - name: Upload wheels @@ -86,7 +86,7 @@ jobs: uses: PyO3/maturin-action@v1 with: target: ${{ matrix.platform.target }} - args: --release --out dist --find-interpreter + args: --release --out dist --interpreter '3.8 3.9 3.10 3.11 3.12 3.13 3.14 3.14t' sccache: ${{ !startsWith(github.ref, 'refs/tags/sift-stream-bindings/') }} working-directory: rust/crates/sift_stream_bindings - name: Upload wheels diff --git a/.github/workflows/sift_stream_bindings_release_dry_run.yaml b/.github/workflows/sift_stream_bindings_release_dry_run.yaml new file mode 100644 index 000000000..c7cf68595 --- /dev/null +++ b/.github/workflows/sift_stream_bindings_release_dry_run.yaml @@ -0,0 +1,93 @@ +name: Sift Stream Bindings Release + +on: + workflow_dispatch: + +permissions: + contents: read + +jobs: + linux: + runs-on: ${{ matrix.platform.runner }} + strategy: + matrix: + platform: + - runner: ubuntu-latest + target: x86_64 + - runner: ubuntu-latest + target: aarch64 + - runner: ubuntu-latest + target: armv7 + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 + with: + python-version: 3.8 + - name: Build wheels + uses: PyO3/maturin-action@v1 + with: + target: ${{ matrix.platform.target }} + args: --release --out dist --interpreter '3.8 3.9 3.10 3.11 3.12 3.13 3.14 3.14t' + sccache: ${{ !startsWith(github.ref, 'refs/tags/sift-stream-bindings/') }} + manylinux: auto + working-directory: rust/crates/sift_stream_bindings + env: + # Fix ring crate cross-compilation for aarch64 + CFLAGS_aarch64_unknown_linux_gnu: "-D__ARM_ARCH=8" + + windows: + runs-on: ${{ matrix.platform.runner }} + strategy: + matrix: + platform: + - runner: windows-latest + target: x86 + - runner: windows-latest + target: x64 + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 + with: + python-version: 3.8 + architecture: ${{ matrix.platform.target }} + - name: Build wheels + uses: PyO3/maturin-action@v1 + with: + target: ${{ matrix.platform.target }} + args: --release --out dist --interpreter '3.8 3.9 3.10 3.11 3.12 3.13 3.14 3.14t' + sccache: ${{ !startsWith(github.ref, 'refs/tags/sift-stream-bindings/') }} + working-directory: rust/crates/sift_stream_bindings + + macos: + runs-on: ${{ matrix.platform.runner }} + strategy: + matrix: + platform: + - runner: macos-13 + target: x86_64 + - runner: macos-14 + target: aarch64 + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 + with: + python-version: 3.8 + - name: Build wheels + uses: PyO3/maturin-action@v1 + with: + target: ${{ matrix.platform.target }} + args: --release --out dist --interpreter '3.8 3.9 3.10 3.11 3.12 3.13 3.14 3.14t' + sccache: ${{ !startsWith(github.ref, 'refs/tags/sift-stream-bindings/') }} + working-directory: rust/crates/sift_stream_bindings + + sdist: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Build sdist + uses: PyO3/maturin-action@v1 + with: + command: sdist + args: --out dist + working-directory: rust/crates/sift_stream_bindings + From 496eca4049d6506f612426747dd955997f294edc Mon Sep 17 00:00:00 2001 From: Nathan Federknopp Date: Fri, 21 Nov 2025 11:01:41 -0800 Subject: [PATCH 2/2] Remove 3.14t build for now, and update pyproject.toml --- .github/workflows/sift_stream_bindings_release.yaml | 6 +++--- .github/workflows/sift_stream_bindings_release_dry_run.yaml | 6 +++--- python/pyproject.toml | 2 ++ 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/.github/workflows/sift_stream_bindings_release.yaml b/.github/workflows/sift_stream_bindings_release.yaml index 08ba42776..e06dbbc31 100644 --- a/.github/workflows/sift_stream_bindings_release.yaml +++ b/.github/workflows/sift_stream_bindings_release.yaml @@ -27,7 +27,7 @@ jobs: uses: PyO3/maturin-action@v1 with: target: ${{ matrix.platform.target }} - args: --release --out dist --interpreter '3.8 3.9 3.10 3.11 3.12 3.13 3.14 3.14t' + args: --release --out dist --interpreter '3.8 3.9 3.10 3.11 3.12 3.13 3.14' sccache: ${{ !startsWith(github.ref, 'refs/tags/sift-stream-bindings/') }} manylinux: auto working-directory: rust/crates/sift_stream_bindings @@ -59,7 +59,7 @@ jobs: uses: PyO3/maturin-action@v1 with: target: ${{ matrix.platform.target }} - args: --release --out dist --interpreter '3.8 3.9 3.10 3.11 3.12 3.13 3.14 3.14t' + args: --release --out dist --interpreter '3.8 3.9 3.10 3.11 3.12 3.13 3.14' sccache: ${{ !startsWith(github.ref, 'refs/tags/sift-stream-bindings/') }} working-directory: rust/crates/sift_stream_bindings - name: Upload wheels @@ -86,7 +86,7 @@ jobs: uses: PyO3/maturin-action@v1 with: target: ${{ matrix.platform.target }} - args: --release --out dist --interpreter '3.8 3.9 3.10 3.11 3.12 3.13 3.14 3.14t' + args: --release --out dist --interpreter '3.8 3.9 3.10 3.11 3.12 3.13 3.14' sccache: ${{ !startsWith(github.ref, 'refs/tags/sift-stream-bindings/') }} working-directory: rust/crates/sift_stream_bindings - name: Upload wheels diff --git a/.github/workflows/sift_stream_bindings_release_dry_run.yaml b/.github/workflows/sift_stream_bindings_release_dry_run.yaml index c7cf68595..16f23355d 100644 --- a/.github/workflows/sift_stream_bindings_release_dry_run.yaml +++ b/.github/workflows/sift_stream_bindings_release_dry_run.yaml @@ -27,7 +27,7 @@ jobs: uses: PyO3/maturin-action@v1 with: target: ${{ matrix.platform.target }} - args: --release --out dist --interpreter '3.8 3.9 3.10 3.11 3.12 3.13 3.14 3.14t' + args: --release --out dist --interpreter '3.8 3.9 3.10 3.11 3.12 3.13 3.14' sccache: ${{ !startsWith(github.ref, 'refs/tags/sift-stream-bindings/') }} manylinux: auto working-directory: rust/crates/sift_stream_bindings @@ -54,7 +54,7 @@ jobs: uses: PyO3/maturin-action@v1 with: target: ${{ matrix.platform.target }} - args: --release --out dist --interpreter '3.8 3.9 3.10 3.11 3.12 3.13 3.14 3.14t' + args: --release --out dist --interpreter '3.8 3.9 3.10 3.11 3.12 3.13 3.14' sccache: ${{ !startsWith(github.ref, 'refs/tags/sift-stream-bindings/') }} working-directory: rust/crates/sift_stream_bindings @@ -76,7 +76,7 @@ jobs: uses: PyO3/maturin-action@v1 with: target: ${{ matrix.platform.target }} - args: --release --out dist --interpreter '3.8 3.9 3.10 3.11 3.12 3.13 3.14 3.14t' + args: --release --out dist --interpreter '3.8 3.9 3.10 3.11 3.12 3.13 3.14' sccache: ${{ !startsWith(github.ref, 'refs/tags/sift-stream-bindings/') }} working-directory: rust/crates/sift_stream_bindings diff --git a/python/pyproject.toml b/python/pyproject.toml index d3c4012b7..6113a288d 100644 --- a/python/pyproject.toml +++ b/python/pyproject.toml @@ -16,6 +16,8 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", ] maintainers = [ { name = "Sift Software Engineers", email = "engineering@siftstack.com" },