Release 8.3.18-fork.1 + automated release workflow - #6
Merged
Conversation
- Bump versionName to 1.0.0, versionCode to 8332 (keep MAJOR/MINOR backup format) - Promote CHANGELOG Unreleased section to 1.0.0 - Add fastlane en-US changelog 8332.txt - Add optional keystore.properties-driven release signing (non-breaking) - Add .github/workflows/release.yml to build + publish a GitHub Release on v* tags Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
- versionName 8.3.18-fork.1: keeps upstream base visible, clearly marks the fork - versionCode 8334: monotonic, continues past upstream 8331 - CHANGELOG header and fastlane changelog (8334.txt) updated to match - Release workflow only flags -alpha/-beta/-rc tags as prerelease, so -fork tags publish as full releases Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Bumps versionName/versionCode (leaving MAJOR/MINOR backup-format fields untouched), promotes the CHANGELOG Unreleased section to a dated header, generates the Fastlane en-US changelog for the new versionCode, then commits and tags v<versionName>. Optional --push triggers the release workflow. Supports --dry-run, explicit VERSION/--code/--date, and guards against non-monotonic codes, existing tags, and a dirty tree. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.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.
Summary
Cuts the personal fork's first release as
8.3.18-fork.1, adds an automated GitHub Actions release workflow, and adds acut-release.shscript that automates future releases.The fork keeps the Android
versionCodemonotonic and continuing past upstream so devices update in place, while theversionNameclearly marks it as a fork of a specific upstream base. Tags use av-prefixed namespace that can't collide with upstream's bare tags.Version changes (
build.gradle.kts)versionName→8.3.18-fork.1—8.3.18shows the exact upstream base;-fork.1marks this fork's buildversionCode→8334— ahead of upstream's 8331; bump +1 per fork releaseMAJOR=8/MINOR=3left unchanged — these are the backup on-disk format version (backupVersionCode = MAJOR*1000+MINOR), gated byisOldVersion = backupVersionCode < 8000inRestoreAppAction. Changing them would make existing backups restore as "old". Added a comment documenting this.Release content
CHANGELOG.md: promotedUnreleased→8.3.18-fork.1 (08.07.2026)(the backup-encryption hardening work).fastlane/metadata/android/en-US/changelogs/8334.txt: store changelog keyed by versionCode.Automated release workflow (
.github/workflows/release.yml)v*tag (plusworkflow_dispatchfor build-only runs).CHANGELOG.md.-alpha/-beta/-rctags are marked prerelease, so-forktags publish as full releases.KEYSTORE_BASE64,KEYSTORE_PASSWORD,KEY_ALIAS,KEY_PASSWORD. Matching optionalkeystore.properties-driven signing config added tobuild.gradle.kts(no-op without the file); keystore secrets gitignored.Release automation (
scripts/cut-release.sh)One command to cut the next fork release. It:
versionName+versionCodeinbuild.gradle.kts(leavesMAJOR/MINORalone).UnreleasedCHANGELOG section to a dated version header.v<versionName>;--pushtriggers the release workflow.Defaults to auto-incrementing the
-fork.Nsuffix andversionCode. Supports--dry-run, explicitVERSION/--code/--date/--fastlane, and guards against non-monotonic codes, existing tags, and a dirty tree.How to cut this release
After merging:
git tag v8.3.18-fork.1 && git push origin v8.3.18-fork.1That triggers the workflow, which builds the APK and publishes the release. (Subsequent releases can just use
scripts/cut-release.sh.)Validation
./gradlew helpconfigures cleanly with signing on and off.cut-release.shtested:--help,--dry-run, a real--no-commitrun (correct version bump, changelog promotion, and generated fastlane notes), and error guards; reverted after testing.