Upgrade App
DevOps & Securityupgrade-appUpgrade App is an Agent Skill for devops & security published in the pass-with-high-score/blockads-android repository on GitHub: a SKILL.md instruction file an AI agent can load to do this task.
Automates the process of upgrading the app version. Bumps versionCode and versionName in build.gradle.kts, updates the changelog, verifies the build, commits, pushes, and creates a GitHub release. Use when the user says "upgrade app", "release new version", or "bump version".
QUICK START
How to use this skill
Bring this guide into your coding agent with a prompt tailored to the tool you use.
- Open your project in Codex.
- Copy and paste the prompt below.
- Review files and risks before approving any action.
Prompt to paste
Inspect the Agent Skill at https://github.com/pass-with-high-score/blockads-android/blob/HEAD/.agent/skills/upgrade-app/SKILL.md and all supporting files. Report provenance, permissions, scripts, dependencies, and security risks. Propose an exact installation into .agents/skills/upgrade-app, but wait for my approval before writing files or running scripts.
Copying this prompt does not install or run the skill. Review third-party files before use.
Upgrade App Workflow
This skill automates the end-to-end process of releasing a new version of the application.
Workflow Steps
1. Preparation
- Ensure the git working tree is clean (
git status). - Check
gh auth statusto ensure GitHub CLI is authenticated.
2. Research & Versioning
- Read
app/build.gradle.ktsto find the currentversionCodeandversionName. - Suggest a new
versionName(e.g., if current is1.7.1, suggest1.7.2). - Increment
versionCodeby 1.
3. Update Files
- Update
app/build.gradle.ktswith the new version info. - Fetch commits since the last tag:
LAST_TAG=$(git describe --tags --abbrev=0) git log $LAST_TAG..HEAD --oneline - Generate a concise changelog and write it to
fastlane/metadata/android/en-US/changelogs/<new-versionCode>.txt. - MANDATORY: Check the character count of the changelog. It MUST NOT exceed 500 characters (Google Play Store limit). Use
wc -c <file_path>to verify. If it exceeds the limit, shorten it before proceeding.
4. User Confirmation
- MANDATORY: Present the generated changelog to the user.
- WAIT for the user to confirm or edit the changelog before proceeding.
5. Build Verification
- Run
./gradlew assembleDebugto verify the build. - If it fails, stop and report errors.
6. Git & GitHub Operations (MUST BE SEQUENTIAL)
- To avoid race conditions and tagging the wrong commit, execute the commit and tagging sequentially in a single command block:
git add app/build.gradle.kts fastlane/metadata/android/en-US/changelogs/<new-versionCode>.txt && \ git commit -m "chore: bump version to <versionName> (<versionCode>)" && \ git tag v<versionName> && \ git push origin main && \ git push origin v<versionName> && \ gh release create v<versionName> --title "v<versionName>" --notes-file fastlane/metadata/android/en-US/changelogs/<new-versionCode>.txt
Guardrails
- Race Condition Prevention: Never separate
git commitandgit taginto different tool calls in the same turn withoutwait_for_previous: true. - Validation: Always verify the build with
./gradlew assembleDebugbefore pushing. - Confirmation: Always wait for user confirmation on the changelog.
- Format: Ensure the tag matches the
vX.Y.Zformat. - Changelog Limit: The changelog file MUST be under 500 characters to avoid Google Play API rejection. Always verify with
wc -c.