release-automation

Use when preparing a date-based Android release from develop to main, updating versionCode, aligning an existing release PR with recent conventions, or dispatching app_deploy through GitHub Actions.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "release-automation" with this command: npx skills add keelim/keelim-skill/keelim-keelim-skill-release-automation

Release Automation

Overview

Use this skill for the recurring release flow that updates versionCode to today's date, verifies the build, syncs the develop -> main release PR, and triggers deployment.

This is a docs-only skill. Follow the mode that matches the risk level you want.

Repo defaults

  • Working branch: develop
  • Base branch: main
  • Version file: gradle/libs.versions.toml
  • Version key: versionCode
  • Default verification: ./gradlew :composeApp:assemble
  • Workflow: .github/workflows/app_deploy.yml
  • Workflow dispatch name: app_deploy.yml
  • Release label: release
  • Assignee: keelim

Modes

1. dry-run

Read-only inspection only. Do not modify files, commits, PRs, or workflows.

Run these checks and report them with Would ... wording:

date +%Y%m%d
rg -n '^versionCode = ' gradle/libs.versions.toml
git branch --show-current
gh pr list --state all --base main --limit 10 --json number,title,headRefName,baseRefName,assignees,labels,body,createdAt
gh pr list --state open --base main --head develop --json number,title,body,labels,assignees,url
gh workflow view app_deploy.yml

Then summarize like:

  • Would update gradle/libs.versions.toml to today's date
  • Would run ./gradlew :composeApp:assemble
  • Would update or create develop -> main PR
  • Would dispatch app_deploy.yml on develop

2. confirm

Same flow as execute, but stop before each risky write:

  • file update
  • git commit
  • git push
  • PR edit/create
  • workflow dispatch

Use short confirmations such as:

  • Update versionCode to 20260308?
  • Commit and push develop?
  • Edit release PR metadata?
  • Dispatch app_deploy.yml on develop?

3. execute

Perform the full release flow end to end.

Execute flow

Step 1: calculate today's release version

date +%Y%m%d

Step 2: update versionCode

sed -i '' 's/^versionCode = .*/versionCode = "YYYYMMDD"/' gradle/libs.versions.toml

If GNU sed is in use, adapt the in-place flag accordingly.

Step 3: verify before any git/GitHub mutation

./gradlew :composeApp:assemble

If verification fails, stop immediately.

Step 4: commit and push

git add gradle/libs.versions.toml
git commit -m "chore: update versionCode to YYYYMMDD"
git push origin develop

Step 5: inspect recent release PR conventions

gh pr list --state all --base main --limit 10 --json number,title,headRefName,baseRefName,assignees,labels,body,createdAt

Prefer the latest develop -> main release PR pattern for:

  • title format
  • body structure
  • release label
  • assignee

Step 6: update or create the release PR

Check whether an open develop -> main PR already exists:

gh pr list --state open --base main --head develop --json number,title,body,labels,assignees,url

If one exists, update it:

gh pr edit <number> \
  --title "release/YYMMDD" \
  --body $'## Summary\n- update release versionCode to YYYYMMDD\n- dispatch app_deploy workflow on develop\n\n## Verification\n- ./gradlew :composeApp:assemble' \
  --add-label release \
  --add-assignee keelim

If none exists, create one:

gh pr create \
  --base main \
  --head develop \
  --title "release/YYMMDD" \
  --body $'## Summary\n- update release versionCode to YYYYMMDD\n- dispatch app_deploy workflow on develop\n\n## Verification\n- ./gradlew :composeApp:assemble'

After creation, add the label and assignee if needed.

Step 7: dispatch deployment workflow

gh workflow run app_deploy.yml --ref develop

Step 8: capture run status

gh run list --workflow app_deploy.yml --branch develop --limit 1
gh run view <run-id> --json status,conclusion,url,workflowName,headBranch,event,createdAt

Report format

Always end with:

  • release version used
  • verification command and result
  • commit hash
  • PR number and URL
  • workflow run URL
  • current workflow status

Common mistakes

  • Updating versionCode before confirming the active branch is develop
  • Continuing after a failed build
  • Creating duplicate release PRs when an open develop -> main PR already exists
  • Forgetting to reapply label/assignee when editing PR metadata
  • Claiming deployment started without checking the Actions run URL

Quick reference

# release date
date +%Y%m%d

# verify
./gradlew :composeApp:assemble

# open release PR
gh pr list --state open --base main --head develop

# dispatch deploy
gh workflow run app_deploy.yml --ref develop

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

release-automation

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

release-automation

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

brave-api-free-search

Free Brave API alternative for OpenClaw. Completely FREE web search. Secure localhost-only deployment. Supports hidden --dev flag.

Registry SourceRecently Updated
Coding

Agent Collab Platform

Unified agent collaboration platform with shared core, automatic GitHub issue handling, intelligent message routing, and modular extensibility for PM and Dev...

Registry SourceRecently Updated