Skip to content

Commit a515a8b

Browse files
committed
docs: add release checklist
1 parent 6a573a3 commit a515a8b

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

docs/dev/release-checklist.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# Release checklist
2+
3+
## Pre-release
4+
5+
- [ ] Optional: set a release date in advance and notify translators to give them a chance to translate strings
6+
- [ ] Run an initial release build (`yarn android-release`) and perform any relevant testing - do this **before** releasing
7+
8+
## Release
9+
10+
- [ ] Update `versionName` and `versionCode` in `android/app/build.gradle`
11+
- [ ] Update the `version` field in the `package.json` file
12+
- [ ] Create a new file in `fastlane/metadata/android/en-US/changelogs/` - named `xyz.txt`, with `xyz` being the new `versionCode` - and note the biggest changes in the release, with a link to the full `CHANGELOG.md` entry - **this cannot exceed 500 characters**
13+
- [ ] Update `changelogParagraphs` in `src/components/sheets/ChangelogSheet.tsx` with a short summary of the changes
14+
- [ ] Write out a full changelog entry for `CHANGELOG.md` - use the previous entries as a guide for formatting
15+
- You can use `git log v[VERSION]...main --format="%s (%h)"` to get a clean list of commits since the last release - this can help make sure you don't miss anything
16+
- [ ] Stage and commit these changes in a commit titled `release: x.y.z` (with `x.y.z` being the new version) - do **not** push the commit yet
17+
- [ ] Run another release build **_after_** committing the changes and check that everything looks right - if not, undo the commit, make any necessary changes and repeat
18+
- You **_must_** run the final release build **_after_** making the release commit - if you don't, it'll break reproducible builds for the release, and the app itself will link to the wrong commit in the about page
19+
- [ ] Once you're **certain** that everything is ready, run the full release build command (`yarn android-release:full`) and push the release commit
20+
- [ ] On GitHub, [create a new release](https://github.com/upryzing/clerotri/releases/new) - **make sure you create a new tag!** - and upload the 4 APK files in `android/app/build/outputs/apk/release`, renaming them to `Clerotri-v[VERSION]-[ARCH].apk` (e.g. `Clerotri-v0.13.0-arm64-v8a.apk`)
21+
- [ ] Open [the Accrescent console](https://console.accrescent.app/apps/app.upryzing.clerotri/details) and submit a new update, using the APK set file in `dir`
22+
23+
## Post release
24+
25+
- [ ] Announce the new release in the Stoat server's #announcement channel...
26+
- [ ] ...and post a link to it in the #version channel
27+
- [ ] Post an announcement on [the fedi account](https://lea.pet/@clerotri)
28+
- [ ] Post an announcement on [the Bluesky account](https://bsky.app/profile/clerotri.upryzing.app)

0 commit comments

Comments
 (0)