Skip to content

Commit

Permalink
Update documented release process (checklist)
Browse files Browse the repository at this point in the history
  • Loading branch information
ferdnyc committed Oct 27, 2024
1 parent ab119d9 commit 734ef1e
Showing 1 changed file with 41 additions and 15 deletions.
56 changes: 41 additions & 15 deletions RELEASE_CHECKLIST.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,24 +6,50 @@ SPDX-License-Identifier: GPL-2.0-or-later

# Release Checklist

## Preparing for a new release
Steps to prepare a new release.

- [ ] Bump version in `meson.build`
- [ ] Bump version in `data/metainfo/org.gnome.Shell.Extensions.GSConnect.metainfo.xml.in`
- [ ] Run `meson _build`
- [ ] Run `meson test -C _build`
- [ ] Make a commit and push it
## Submit a PR to update the version metadata

## Release: Github
- [ ] Bump the `project(version)` value in `meson.build`
- [ ] Add a corresponding `<release>...</release>` block
to the top of the `<releases>` section in
`data/metainfo/org.gnome.Shell.Extensions.GSConnect.metainfo.xml.in`
- [ ] Merge the PR to create a release commit

- [ ] Run `meson _build`
- [ ] Run `ninja -C _build make-zip`
- [ ] Tag a new release with notes at `https://github.com/GSConnect/gnome-shell-extension-gsconnect/releases/new`
- [ ] Add `_build/[email protected]` to the release
> [!CAUTION]
> The AppStream metadata will contain a release date for the new version.
> If the PR isn't merged immediately,
> double-check that it matches the current date before merging.
## Release: EGO
## Package the new release

- [ ] Run `meson _build`
- [ ] Run `ninja -C _build make-zip`
- [ ] Upload `_build/[email protected]` to `https://extensions.gnome.org/upload`
- [ ] Run `git pull` on the `main` branch
- [ ] Run `meson setup _build .`
- [ ] Run `meson compile -C _build make-zip`

## Publish to GitHub Releases

- [ ] Open the [New Release template] (or click "Draft a new release" from the Releases page)
- [ ] Create a new `v##` tag matching the new version number
- [ ] Click "Generate release notes" to populate the textarea
with an autogenerated list of PRs, as a starting point
- [ ] Clean up & compose the final notes, which may mean...

- [ ] Remove automated PRs (dependabot, Crowdin)
- [ ] Remove purely-internal PRs,
like CI, build, or repo-maintenance changes.
Anything that affects the _repo_, but not the _package_,
is probably not relevant to endusers and can be left out.
- [ ] (Optional) Write an introductory "What's New" section,
highlighting any notable changes or new features.

- [ ] Attach the `_build/[email protected]` file
- [ ] Publish the release

## Submit to EGO

Once the release is published to GitHub,
the attached zip file can also be submitted to extensions.gnome.org
by the designated extension author (currently @daniellandau).

[New Release template]: https://github.com/GSConnect/gnome-shell-extensions-gsconnect/releases/new

0 comments on commit 734ef1e

Please sign in to comment.