Skip to content

Commit ef49f6a

Browse files
committed
Update release docs: document versionCode guard and tag-move steps
1 parent 013d204 commit ef49f6a

1 file changed

Lines changed: 14 additions & 1 deletion

File tree

AGENTS/release.md

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,23 @@ unless the user explicitly requests it.
66

77
## Release flow (tags + GitHub Actions)
88

9-
Releases are driven by annotated tags like `v0.1.0`. The CI workflow
9+
Releases are driven by tags like `v0.1.0`. The CI workflow
1010
`build-apk.yml` stamps the manifest version, builds a signed release APK,
1111
and publishes a GitHub Release with the APK attached.
1212

13+
### Safety guards (automated)
14+
15+
- **versionCode regression check**`set-version.sh` compares the computed
16+
versionCode against the previous tag's manifest and **fails the build** if
17+
it hasn't increased. This prevents releasing a tag with a stale or duplicate
18+
versionCode.
19+
- **Tag moves to version-bumped commit** — After CI commits the version bump
20+
to `main`, it force-pushes the tag to that commit. This ensures
21+
`raw.githubusercontent.com/.../v0.9.4/AndroidManifest.xml` serves the
22+
correct version (not the pre-bump snapshot). Without this, downstream
23+
consumers (e.g. `bpmct/nooks`) that read the manifest from the tag ref
24+
would see stale version info.
25+
1326
### Versioning nuance (when to bump major/minor/patch)
1427

1528
This project follows semantic-versioning *in spirit*:

0 commit comments

Comments
 (0)