Skip to content

Add tagged release flow with real APK signing - #3

Merged
BarMal merged 2 commits into
masterfrom
claude/whoop-strap-sync-debug-in8711
Jun 16, 2026
Merged

BarMal merged 2 commits into
masterfrom
claude/whoop-strap-sync-debug-in8711

Conversation

@BarMal

@BarMal BarMal commented Jun 16, 2026

Copy link
Copy Markdown
Owner

Summary

  • New .github/workflows/android-release.yml: pushing a vX.Y.Z tag builds app:assembleRelease and publishes a GitHub Release with the APK attached and auto-generated notes, separate from the existing rolling debug-latest build.
  • app/build.gradle.kts: the release build type now uses a real signing config (keystore path + credentials from environment variables), falling back to debug signing when those env vars aren't set (e.g. local builds).
  • The release workflow decodes a base64-encoded keystore from a RELEASE_KEYSTORE_BASE64 secret and passes RELEASE_KEYSTORE_PASSWORD, RELEASE_KEY_ALIAS, RELEASE_KEY_PASSWORD through to Gradle.

Setup required before first tagged release

A release keystore has been generated and sent separately (not committed to the repo). To enable signed releases, add these repository secrets in GitHub (Settings → Secrets and variables → Actions):

  • RELEASE_KEYSTORE_BASE64
  • RELEASE_KEYSTORE_PASSWORD
  • RELEASE_KEY_ALIAS
  • RELEASE_KEY_PASSWORD

If these secrets are absent, the release workflow still runs and produces a debug-signed APK (with a CI warning), so the flow degrades gracefully.

Test plan

  • Add the four secrets above to the repo
  • Push a tag, e.g. git tag v0.1.0 && git push origin v0.1.0
  • Confirm the Release workflow runs, builds assembleRelease, and publishes a GitHub Release with the APK attached
  • Install the APK on a device to confirm it's signed and installable

https://claude.ai/code/session_01J194Wop2SixMd1HPS5PbcS


Generated by Claude Code

claude added 2 commits June 16, 2026 14:17
Pushing a vX.Y.Z tag now builds app:assembleRelease and publishes a
GitHub Release with the minified APK attached and auto-generated notes,
separate from the existing rolling debug-latest build. Since there's no
managed release keystore yet, the release build type signs with the
debug key so the APK stays installable.

https://claude.ai/code/session_01J194Wop2SixMd1HPS5PbcS
Adds a release signingConfig that reads the keystore path and
credentials from environment variables, falling back to debug signing
when they're unset (e.g. local builds). The release workflow decodes
a base64-encoded keystore secret and passes the credentials through
so tagged releases are signed with a real release key instead of the
debug key.

https://claude.ai/code/session_01J194Wop2SixMd1HPS5PbcS
@BarMal
BarMal merged commit 257630b into master Jun 16, 2026
1 check 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