Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 11 additions & 6 deletions .github/workflows/build-python-version.yml
Original file line number Diff line number Diff line change
Expand Up @@ -108,13 +108,18 @@ jobs:
bash ./build-all.sh "$PYTHON_VERSION"
mkdir -p dist
tar -czf dist/python-android-mobile-forge-$PYTHON_VERSION.tar.gz install support
bash ./package-for-dart.sh install "$PYTHON_VERSION" arm64-v8a
bash ./package-for-dart.sh install "$PYTHON_VERSION" x86_64
read version_major version_minor < <(echo "$PYTHON_VERSION" | sed -E 's/^([0-9]+)\.([0-9]+).*/\1 \2/')
version_int=$((version_major * 100 + version_minor))
if [ $version_int -lt 313 ]; then
bash ./package-for-dart.sh install "$PYTHON_VERSION" armeabi-v7a
# ABIs come from the manifest (`pythons.<short>.android_abis`) so a
# future minor only needs a one-line edit there — not a workflow
# bump. 3.12 ships armeabi-v7a; 3.13+ are 64-bit only (PEP 738).
short="$PYTHON_VERSION_SHORT"
abis=$(jq -r --arg s "$short" '.pythons[$s].android_abis[]' "$GITHUB_WORKSPACE/manifest.json")
if [ -z "$abis" ]; then
echo "::error::manifest.json has no .pythons[\"$short\"].android_abis"
exit 1
fi
while IFS= read -r abi; do
bash ./package-for-dart.sh install "$PYTHON_VERSION" "$abi"
done <<< "$abis"

- name: Run post-build tests
shell: bash
Expand Down
8 changes: 6 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,19 +28,23 @@ Schema:
"standalone_release_date": "20260610",
"pyodide_version": "314.0.0",
"pyodide_platform_tag": "pyemscripten-2026.0-wasm32",
"android_abis": ["arm64-v8a", "x86_64"],
"prerelease": false
}
}
}
```

`android_abis` lists the ABIs `package-for-dart.sh` builds for this minor —
64-bit first, then `armeabi-v7a` if the minor still supports 32-bit Android.
3.12 carries all three; 3.13+ are 64-bit-only ([PEP 738](https://peps.python.org/pep-0738/)).

The committed file omits `release`; the publish step injects it.

### Adding or bumping a Python / Pyodide / dart_bridge version

Edit [`manifest.json`](manifest.json) and open a PR. The CI matrix updates
automatically from it; per-version build specifics (ABIs, the 3.12 vs 3.13+ build
method) live in the platform build scripts.
automatically from it.

## Releases

Expand Down
3 changes: 3 additions & 0 deletions manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,20 +7,23 @@
"standalone_release_date": "20260610",
"pyodide_version": "0.27.7",
"pyodide_platform_tag": "pyodide-2024.0-wasm32",
"android_abis": ["arm64-v8a", "x86_64", "armeabi-v7a"],
"prerelease": false
},
"3.13": {
"full_version": "3.13.14",
"standalone_release_date": "20260610",
"pyodide_version": "0.29.4",
"pyodide_platform_tag": "pyemscripten-2025.0-wasm32",
"android_abis": ["arm64-v8a", "x86_64"],
"prerelease": false
},
"3.14": {
"full_version": "3.14.6",
"standalone_release_date": "20260610",
"pyodide_version": "314.0.0",
"pyodide_platform_tag": "pyemscripten-2026.0-wasm32",
"android_abis": ["arm64-v8a", "x86_64"],
"prerelease": false
}
}
Expand Down
Loading