Releasing Geary
These are the steps that should be taken when cutting a new Geary release.
If you are new to releasing GNOME software, you'll need an account on both git.gnome.org and master.gnome.org. It's also worth reading through the Maintainer's Corner and in particular, Making a Release.
Note that Geary currently uses pre-release version incrementing.
Testing
Ensure GitLab CI for the branch is green
Make sure it builds and all unit tests pass: meson test -C $BUILD_DIR must succeed
Run through the testing checklist, preferably also on oldest targeted LTS release.
- Browse through the list of bugs targeted for this release, test to ensure they are fixed.
- Check Geary still works fine with all supported providers, and against a generic IMAP server.
Making the release
- Check out the branch to be released locally
Do both a git pull and git status to check for remote and local changes
Update the version number in meson.build
Update desktop/org.gnome.Geary.appdata.xml.in:
Add a new <release> tag with the right details
- Update with a brief list of new features (for major releases), or bug fixes (minor releases)
Check it validates: meson test -C $BUILD_DIR
Update NEWS:
Generate a new header from the built release notes: appstream-util appdata-to-news build/desktop/org.gnome.Geary.appdata.xml
- Prepend this to the NEWS file
Get a list of contributors using contributors.sh, append this below the generated release notes
Update THANKS with the details of people who contributed patches
Run meson test -C $BUILD_DIR again to ensure everything is still file
Do one last git pull, then commit the changes above and do a git push
Check meson dist succeeds: Generate a xz-compressed tarball using meson dist -C $BUILD_DIR
Tag the release: git tag --sign gnome-VER, where VER is the version number
Push the tag to the repo: git push origin gnome-VER
- Upload to master.gnome.org and install it
Post-release
Create a new gnome-x-yy branch if a new stable release
- Update Flathub build:
Update the tarball names and SHA256 hashes in org.gnome.Geary.json of the Geary Flathub repo for both Geary and other built modules
Keep an eye on on the Flathub builds starting and completing successfully
- Install the test build and check it runs
- Once Flathub has been updated, let people know:
Mention it on the usual channels (Matrix, Fediverse, etc)
Send an email with short, jocular overview of the release and the contents of NEWS to gnome-announce-list@gnome.org with your email as the reply-to address
Sit back, relax, and bask in the radiance of the latest Geary version making people's email lives a bit better.