ci: rebuild Android APK only on client changes - #269
Merged
Conversation
The release-apk job installs the full Android SDK+NDK and runs a headless Godot export (~15 min) but ran on every merge to main, including docs-, worker-, and workflow-only merges that cannot affect the APK. Gate it behind a client/** paths-filter. The cheap Cloudflare worker/pages deploys stay unconditional so the landing-page build SHA still refreshes on every merge. Biggest Actions-minute saving across the account. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The nested bullets under "Audit hypotheses" were indented 2 spaces but follow a paragraph, not a parent list item, so markdownlint flagged them as top-level list items with wrong indent. Dedent to 0. Pre-existing red on main (from #268) that was also failing this PR's Markdown lint check. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The
release-apkjob installs the full Android SDK+NDK and runs a headless Godot export (~15 min) but ran on every merge to main — including docs-, worker-, and workflow-only merges that cannot affect the APK.This gates
release-apkbehind aclient/**paths-filter. The cheap Cloudflare worker/pages deploys stay unconditional so the landing-page build SHA still refreshes on every merge.Why: TankGame is the top GitHub Actions minute consumer on the account ($4.88 gross/month). Most merges don't touch
client/**, so this avoids the bulk of those ~15-min Android builds — the single biggest Actions saving across the portfolio.Trade-off: the canary APK release now rebuilds only when
client/**changes (which is correct — nothing else affects the APK).🤖 Generated with Claude Code