Repository navigation
deploy: also tag images with the NDK version they ship - #86
Conversation
Adds <runner>-jdkNN-sdkNN-ndkX.Y.Z next to the existing tag so downstream repos that pin an Android NDK (Gradle ndkVersion) can have Renovate derive it from the image tag and bump image and NDK together. The weekly SDK/NDK automation already rewrites ARG NDK_VERSION, so the tag follows it. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
There was a problem hiding this comment.
🟢 Approval recommended
The one-line additions follow the file's existing version-extraction and tagging patterns exactly, and all dependencies (Dockerfile ARG, update automation, action comment support) were verified.
0 open findings
What changed in this PR
This PR adds an extra Docker image tag that encodes the shipped Android NDK version, alongside the existing <runner>-jdkNN-sdkNN.N tag. The NDK version is read from ARG NDK_VERSION in the Dockerfile using the same extraction approach already used for the runner and SDK versions, so the existing weekly SDK/NDK automation keeps the tag current automatically. This enables downstream consumers (e.g., the BumpApp repo) to let Renovate derive and bump the pinned NDK from the image tag, keeping image and NDK in lockstep.
Changes:
- Extract
NDK_VERSIONfrom the Dockerfile and include it in the extraction failure guard and step outputs. - Publish an additional
type=rawtag<runner>-jdkNN-sdkNN.N-ndk<NDK>with an explanatory comment; existing tags are unchanged.
| File | Description |
|---|---|
| .github/workflows/deploy.yml | Reads ARG NDK_VERSION from the Dockerfile, validates it, exposes it as a step output, and emits a new NDK-suffixed image tag. |
🧠 Review effort: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Publishes one extra tag per build,
<runner>-jdkNN-sdkNN.N-ndkX.Y.Z, alongside the existing<runner>-jdkNN-sdkNN.Ntag. The NDK is read fromARG NDK_VERSIONin the Dockerfile the same way the runner and SDK versions already are, so the weekly SDK/NDK automation keeps it current with no further change.Why: the BumpApp repo pins an Android NDK (
ndkVersion) that must match what this image ships; with the NDK in the tag, Renovate there can derive the NDK from the pinned image and bump both in one PR (today a mismatch makes the Android Gradle plugin auto-download the NDK into the runner container, and a corrupt download poisons the container until it is recreated).Existing tags are unchanged.
🤖 Generated with Claude Code