Skip to content

SDK check: treat an empty <codename> as stable; tag images with build-tools - #87

Merged
compscidr merged 2 commits into
mainfrom
fix/stable-codename-and-bt-tag
Oct 12, 2026
Merged

compscidr merged 2 commits into
mainfrom
fix/stable-codename-and-bt-tag

Conversation

@compscidr

Copy link
Copy Markdown
Owner

Description

Why the image is stuck on platform 36.1: stable platforms since android-37.0 carry an empty <codename></codename> in repository2-3.xml. is_preview() returned true for any codename element, so every stable 37.x (37.0, 37.1, 37.2) was skipped. Only a non-empty codename (DEV, CinnamonBun, …) marks a preview now. Against today's manifest the check resolves platform 37.2, build-tools 37.0.0, NDK 30.0.16248370.

New tag: deploy.yml also publishes <runner>-jdkNN-sdkX.Y-btX.Y.Z-ndkX.Y.Z. Consumers can then have Renovate derive Gradle compileSdk, buildToolsVersion and ndkVersion from the image pin. When those match what the image ships, AGP stops downloading SDK components into the container on every job. The existing -sdk-ndk tag is kept for consumers already parsing it. The README tag table documents both.

Testing

  • Ran the patched is_preview / latest() logic against the live manifest: it picks 37.2 / 37.0.0 / 30.0.16248370.
  • The deploy.yml change is only tag metadata. It is exercised on the next push to main.

Additional Notes

Consumer side: BumpApp/bump PR adding Renovate managers for the -sdk and -bt tag parts.

🤖 Generated with Claude Code

…-tools

Stable platforms since android-37.0 carry an empty <codename></codename> in
Google's repository manifest, so is_preview() skipped every 37.x and the image
stayed on platform 36.1. Only a non-empty codename marks a preview now.

deploy also publishes <runner>-jdkNN-sdkX.Y-btX.Y.Z-ndkX.Y.Z so consumers can
let Renovate derive compileSdk, buildToolsVersion and ndkVersion from the image
pin; the existing -sdk-ndk tag is kept.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Copilot AI balanced review requested due to automatic review settings October 12, 2026 19:10

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

The preview-detection change drives an automated workflow that commits Dockerfile updates and auto-merges, and it relies on an external-manifest heuristic (empty codename = stable) that cannot be verified in this environment, so human review is warranted.

1 open finding
What changed in this PR

This PR fixes the SDK auto-update check so the image stops being pinned to platform 36.1. Stable Android platforms since android-37.0 ship an empty <codename></codename> in Google's repository2-3.xml, but is_preview() treated any codename element as a preview and skipped them. The check now only flags a package as a preview when the codename is non-empty. Separately, deploy.yml publishes a new fully-pinned tag that also encodes the build-tools version, letting consumers have Renovate derive Gradle compileSdk/buildToolsVersion/ndkVersion from one image pin, and the README documents the expanded tag scheme.

Changes:

  • Treat an empty <codename> as stable in the SDK preview-detection logic.
  • Extract BUILD_TOOLS in deploy.yml and publish a new -sdk-bt-ndk tag (keeping the existing -sdk-ndk tag).
  • Document both longer tag formats in the README.
File Description
.github/​workflows/​check-sdk-updates.yml Only non-empty <codename> marks a preview; comment updated to explain the empty-codename stable marker.
.github/​workflows/​deploy.yml Reads ARG BUILD_TOOLS, validates it, exposes build_tools, and adds the new -bt- tag.
README.md Adds table rows and prose for the -ndk and -bt-ndk tag formats.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread README.md Outdated
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@compscidr
compscidr merged commit f9f14fc into main Oct 12, 2026
10 checks passed
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.

2 participants