Apply suggestions from code review of branch 569-release-checklist

Co-authored-by: Julian Stirling <julian@julianstirling.co.uk>
This commit is contained in:
Beth Probert 2025-11-12 15:29:15 +00:00
parent 1311cc103e
commit 560f863c47

View file

@ -34,10 +34,12 @@ This phase focuses on planning the release and, crucially, getting any major inf
--- ---
### Phase 2: Feature Freeze (T-2 Weeks) ### Phase 2: Feature Freeze And Upstream Releases (T-2 Weeks)
* [ ] **Announce:** Announce the Feature Freeze deadline one week out. This should be announced on the OpenFlexure Forum and in a message/email to the core team. * [ ] **Announce:** Announce the Feature Freeze deadline one week out. This should be announced on the OpenFlexure Forum and in a message/email to the core team.
* [ ] **Deadline:** **FEATURE FREEZE**. All MRs for the milestone must be merged. * [ ] **Deadline:** **FEATURE FREEZE**. All MRs for the milestone must be merged.
* [ ] **Deadline:** **UPSTREAM RELEASES**. Any of our repos/packages upstream of the OS and server should have a defined release, for this release to target.
* [ ] Stitching Released
* [ ] **Branching Note:** During alpha and beta development, feature freeze marks the point where only **bug fixes and release preparation** may be merged into the default branch. * [ ] **Branching Note:** During alpha and beta development, feature freeze marks the point where only **bug fixes and release preparation** may be merged into the default branch.
* [ ] **Communication:** Inform the team that all new feature work should target the *next* milestone. * [ ] **Communication:** Inform the team that all new feature work should target the *next* milestone.
@ -47,7 +49,7 @@ This phase focuses on planning the release and, crucially, getting any major inf
This phase is dedicated to intensive testing and bug fixing. This phase is dedicated to intensive testing and bug fixing.
* [ ] **Create Image:** Flash at least one SD card with the new image. * [ ] **Create Image:** Flash at least one SD card with the new image. This image should be created off the default branch.
* [ ] **Create Test Plan:** Document the specific tests to be run. * [ ] **Create Test Plan:** Document the specific tests to be run.
* [ ] **Execute Test Plan:** * [ ] **Execute Test Plan:**
* [ ] Camera Calibration * [ ] Camera Calibration
@ -63,7 +65,9 @@ This phase is dedicated to intensive testing and bug fixing.
* [ ] v7 Microscope * [ ] v7 Microscope
* [ ] Simulation * [ ] Simulation
* [ ] Smart Scan + stitching * [ ] Smart Scan + stitching
* [ ] v7 Microscope (we probably need a bit of detail here RE slides) * [ ] v7 Microscope
* [ ] At least 2 different H&E stained slides
* [ ] A blue stained biology slide, such as a wheat stem
* [ ] Simulation * [ ] Simulation
* [ ] Recentre and ROM (v7 Microscope only) * [ ] Recentre and ROM (v7 Microscope only)
* [ ] Opening each tab and sub-tab and checking things look as expected * [ ] Opening each tab and sub-tab and checking things look as expected
@ -77,19 +81,43 @@ This phase is dedicated to intensive testing and bug fixing.
### Phase 4: Release Day (T-0) ### Phase 4: Release Day (T-0)
* [ ] **Final Version Bump:** By this stage:
* [ ] **Server Package:** Update version number (add specific files).
* [ ] **Stitching Package:** Update version number (add specific files). * All upstream packages are released.
* [ ] Commit and merge the final version bumps into default branch. * We will release the exact image used for testing.
* [ ] **Final Build:** Generate the final, official release image from the default branch.
* [ ] **Draft Notes:** Draft the release notes and forum post. * [ ] **Draft Notes:** Draft the release notes for:
* [ ] **Tag:** Create a new Git tag on the default branch (e.g., `vX.Y.Z`). * [ ] High level summary for the sever release notes/changelog
* [ ] **Publish:** * [ ] High level summary for the OS release notes
* [ ] Push the tag to GitLab. * [ ] Combined summary for the forum
* [ ] Publish new versions of software sub-packages, such as openflexure-stitching, on PyPi. * [ ] **Final Server Repo Commit:**
* [ ] Create a new **GitLab Release** from the tag. * [ ] Update version string in:
* [ ] Upload the final release image and other artifacts to the GitLab Release. * [ ] `pyproject.toml`
* [ ] Paste the release notes into the GitLab Release description. * [ ] `test_version_strings.py`
* [ ] `package.json`
* [ ] `package-lock.json` (in 2 places!)
* [ ] Create `CHANGELOG` entry
* [ ] Add a title that is a link to the GitLab compare between the last release tag and this soon-to-be-made tag.
* [ ] Add the a high level summary of the server changes
* [ ] Run changelog helper to generate the list of MRs since the last tag `python change_log_helper.py -b v3 <LAST-TAG-NAME>` and copy these in below the summary.
* [ ] Run `codespell` on the changelog and use `<!-- codespell:ignore XYZ -->` to silence codespell on any spelling errors in MR titles.
* [ ] Commit, Push, and Merge
* [ ] **Release:**
* [ ] On `build.openflexure.org` copy the image that passed testing from `/raspbian-openflexure/testing/` to `/raspbian-openflexure/v3_pre_release/`.
* [ ] **OS RELEASE**
* [ ] Go to the OS Customiser *Releases* page on GitLab and select New Release
* [ ] Create a new Tag Name in the format `vX.Y.Z` or `vX.Y.Z-(alpha|beta)A`
* [ ] **Important!** Enter a simple description into the `create tag` dialog, or GitLab only creates a lightweight tag. `Release for vX.Y.Z-(alpha|beta)A` is minimal and can be used. Check it is targeted at the correct branch, and save the tag.
* [ ] Copy in the High level summary for the OS into release notes
* [ ] Enter the URL to the OS image into the box at the bottom. with "Link Title" as `SD Card Image`.
* [ ] Create the release (This will create the tag)
* [ ] **SERVER RELEASE**
* [ ] Go to the Sever *Releases* page on GitLab and select New Release
* [ ] Create a new Tag Name in the format `vX.Y.Z` or `vX.Y.Z-(alpha|beta)A`
* [ ] **Important!** Enter a simple description into the `create tag` dialog, or GitLab only creates a lightweight tag. `Release for vX.Y.Z-(alpha|beta)A` is minimal and can be used. Check it is targeted at the correct branch, and save the tag.
* [ ] Copy in the relevant section from the `CHANGELOG`
* [ ] Enter the URL to the OS image into the box at the bottom. with "Link Title" as `SD Card Image`.
* [ ] Create the release (This will create the tag)
--- ---