From 02532428a633ed29aef284189be4dc98bcd0a596 Mon Sep 17 00:00:00 2001 From: whatbee Date: Wed, 3 Jun 2026 15:20:09 +0100 Subject: [PATCH 1/7] add android build --- .github/workflows/publish.yml | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index bdc0c50..e80346f 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -191,6 +191,35 @@ jobs: name: wheels-macos-${{ matrix.platform.target }} path: dist + android: + runs-on: ubuntu-latest + needs: test_install + strategy: + matrix: + platform: + - target: aarch64-linux-android + - target: armv7-linux-androideabi + - target: x86_64-linux-android + steps: + - uses: actions/checkout@v6 + + - uses: actions/setup-python@v6 + with: + python-version: 3.x + + - name: Build wheels + uses: PyO3/maturin-action@v1 + with: + target: ${{ matrix.platform.target }} + args: --release --out dist --find-interpreter + sccache: ${{ !startsWith(github.ref, 'refs/tags/') }} + + - name: Upload wheels + uses: actions/upload-artifact@v5 + with: + name: wheels-android-${{ matrix.platform.target }} + path: dist + sdist: runs-on: ubuntu-latest needs: test_install From 96d963356ba1b619dcea5e3c68fb311c0a1cf97d Mon Sep 17 00:00:00 2001 From: whatbee Date: Wed, 3 Jun 2026 15:46:23 +0100 Subject: [PATCH 2/7] pass specific python versions to cross compiler --- .github/workflows/publish.yml | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index e80346f..56a5367 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -200,20 +200,24 @@ jobs: - target: aarch64-linux-android - target: armv7-linux-androideabi - target: x86_64-linux-android + interpreter: + - target: python3.9 + - target: python3.10 + - target: python3.11 + - target: python3.12 + - target: python3.13 + - target: python3.14 steps: - uses: actions/checkout@v6 - - uses: actions/setup-python@v6 with: python-version: 3.x - - name: Build wheels uses: PyO3/maturin-action@v1 with: target: ${{ matrix.platform.target }} - args: --release --out dist --find-interpreter + args: --release --out dist -i ${{ matrix.platform.interpreter.target }} sccache: ${{ !startsWith(github.ref, 'refs/tags/') }} - - name: Upload wheels uses: actions/upload-artifact@v5 with: From 1ff21c874d4c9fbefadcbb4bfcfcf76c93f633b8 Mon Sep 17 00:00:00 2001 From: whatbee Date: Wed, 3 Jun 2026 16:01:30 +0100 Subject: [PATCH 3/7] change matrix syntax --- .github/workflows/publish.yml | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 56a5367..66efa46 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -197,16 +197,16 @@ jobs: strategy: matrix: platform: - - target: aarch64-linux-android - - target: armv7-linux-androideabi - - target: x86_64-linux-android + - aarch64-linux-android + - armv7-linux-androideabi + - x86_64-linux-android interpreter: - - target: python3.9 - - target: python3.10 - - target: python3.11 - - target: python3.12 - - target: python3.13 - - target: python3.14 + - python3.9 + - python3.10 + - python3.11 + - python3.12 + - python3.13 + - python3.14 steps: - uses: actions/checkout@v6 - uses: actions/setup-python@v6 @@ -215,13 +215,13 @@ jobs: - name: Build wheels uses: PyO3/maturin-action@v1 with: - target: ${{ matrix.platform.target }} - args: --release --out dist -i ${{ matrix.platform.interpreter.target }} + target: ${{ matrix.platform }} + args: --release --out dist -i ${{ matrix.interpreter }} sccache: ${{ !startsWith(github.ref, 'refs/tags/') }} - name: Upload wheels uses: actions/upload-artifact@v5 with: - name: wheels-android-${{ matrix.platform.target }} + name: wheels-android-${{ matrix.platform }} path: dist sdist: From 6d142a140cd3186db0c9a669f454d7c6518558e9 Mon Sep 17 00:00:00 2001 From: whatbee Date: Wed, 3 Jun 2026 16:30:48 +0100 Subject: [PATCH 4/7] build with abi3 --- .github/workflows/publish.yml | 9 +-------- Cargo.toml | 8 +++++++- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 66efa46..15dcd74 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -200,13 +200,6 @@ jobs: - aarch64-linux-android - armv7-linux-androideabi - x86_64-linux-android - interpreter: - - python3.9 - - python3.10 - - python3.11 - - python3.12 - - python3.13 - - python3.14 steps: - uses: actions/checkout@v6 - uses: actions/setup-python@v6 @@ -216,7 +209,7 @@ jobs: uses: PyO3/maturin-action@v1 with: target: ${{ matrix.platform }} - args: --release --out dist -i ${{ matrix.interpreter }} + args: --release --out dist -i python3.12 sccache: ${{ !startsWith(github.ref, 'refs/tags/') }} - name: Upload wheels uses: actions/upload-artifact@v5 diff --git a/Cargo.toml b/Cargo.toml index a0a3ec5..29a836b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,10 +4,16 @@ version = "2.1.0" edition = "2024" license = "MIT" +[package.metadata.maturin] +compatibility = "abi3" + [lib] name = "_rust_wrapper" crate-type = ["cdylib"] [dependencies] -pyo3 = "0.28.0" fracturedjson = "0.1.1" + +[dependencies.pyo3] +version = "0.28.0" +features = ["extension-module", "abi3-py39"] \ No newline at end of file From b3ff35a35139230325708c7a9ab3fdc084734af5 Mon Sep 17 00:00:00 2001 From: whatbee Date: Wed, 3 Jun 2026 16:58:34 +0100 Subject: [PATCH 5/7] change interpreter version, drop `armv7-linux-androideabi` support --- .github/workflows/publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 15dcd74..f85c75e 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -198,8 +198,8 @@ jobs: matrix: platform: - aarch64-linux-android - - armv7-linux-androideabi - x86_64-linux-android + # - armv7-linux-androideabi steps: - uses: actions/checkout@v6 - uses: actions/setup-python@v6 From b0c993ddedcb9a5b040d0c936e5545d89acc9447 Mon Sep 17 00:00:00 2001 From: whatbee Date: Wed, 3 Jun 2026 17:06:22 +0100 Subject: [PATCH 6/7] bump version --- Cargo.lock | 2 +- Cargo.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 5fbfd42..79f73af 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -168,7 +168,7 @@ dependencies = [ [[package]] name = "pyfracturedjson" -version = "2.1.0" +version = "2.1.1" dependencies = [ "fracturedjson", "pyo3", diff --git a/Cargo.toml b/Cargo.toml index 29a836b..a5e4e17 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pyfracturedjson" -version = "2.1.0" +version = "2.1.1" edition = "2024" license = "MIT" From 0552d4d0d81e40318f06d44da3dd4c38c57b37c5 Mon Sep 17 00:00:00 2001 From: whatbee Date: Wed, 3 Jun 2026 17:08:36 +0100 Subject: [PATCH 7/7] add android builds to list --- .github/workflows/publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index f85c75e..1f866c7 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -236,7 +236,7 @@ jobs: release: name: Release runs-on: ubuntu-latest - needs: [linux, musllinux, windows, macos, sdist, test_install] + needs: [linux, musllinux, windows, macos, android, sdist, test_install] if: startsWith(github.ref, 'refs/tags/v') permissions: id-token: write