Skip to content

build: bump NDK to r27 LTS (27.3.13750724) - #34

Merged
xroche merged 2 commits into
masterfrom
polish-ndk28
Jul 21, 2026
Merged

xroche merged 2 commits into
masterfrom
polish-ndk28

Conversation

@xroche

@xroche xroche commented Jul 21, 2026

Copy link
Copy Markdown
Owner

Moves off r26d to the current LTS NDK (r27, supported until r29), across build.gradle, the toolchain Dockerfile, and the setup-ndk workflow versions. r27 defaults LOAD segments to 16 KB alignment, so the explicit -Wl,-z,max-page-size=16384 is now belt-and-suspenders (kept; the alignment gate still enforces it). coffeecatch needs no change (its arm64/x86_64 paths use bionic ucontext with no compile-time gates).

CI sequencing (important): the assemble job builds inside the prebuilt GHCR toolchain image, which still ships r26d, so this PRs assemble check will fail until the image is rebuilt from the bumped Dockerfile and republished via docker-image.yml. The image rebuild must be sequenced with the merge (see the PR discussion).

xroche and others added 2 commits July 21, 2026 07:13
Move off r26d to the current long-term-support NDK (supported until r29), across
build.gradle, the toolchain Dockerfile, and the setup-ndk workflow versions.
r27's lld defaults LOAD segments to 16 KB alignment, so the explicit
-Wl,-z,max-page-size=16384 becomes belt-and-suspenders (kept; the alignment gate
still enforces it). coffeecatch's arm64/x86_64 paths use bionic's own ucontext
with no compile-time gates, so r27 needs no submodule change.

NOTE: the CI assemble job runs inside the prebuilt GHCR toolchain image, so this
cannot go green until that image is rebuilt from the bumped Dockerfile and
republished (docker-image.yml). Sequence the image rebuild before relying on the
assemble check.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YWHWPSEx8LSfZHHAWmBtn8
Signed-off-by: Xavier Roche <roche@httrack.com>
27.3.13750724 is r27d, not the base r27, but the workflows set the bare "r27"
label, so setup-ndk would fetch base r27 (27.0.12077973) and AGP's exact-match
ndkVersion would fail to find it. Set the label to r27d.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YWHWPSEx8LSfZHHAWmBtn8
Signed-off-by: Xavier Roche <roche@httrack.com>
@xroche
xroche merged commit 99209f2 into master Jul 21, 2026
8 checks passed
xroche added a commit that referenced this pull request Jul 21, 2026
Picks up the polish pass: dark mode (#32), RTL support (#33), and the NDK r27 LTS
bump (#34).


Claude-Session: https://claude.ai/code/session_01YWHWPSEx8LSfZHHAWmBtn8

Signed-off-by: Xavier Roche <roche@httrack.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@xroche
xroche deleted the polish-ndk28 branch September 10, 2026 05:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant