From 1311cc103e9ebeb262015b3c4ba60fbdc408aee8 Mon Sep 17 00:00:00 2001 From: Beth Probert Date: Wed, 12 Nov 2025 11:27:02 +0000 Subject: [PATCH] Responding to comment on branching. --- .gitlab/issue_templates/Release checklist.md | 28 ++++++++++++++------ 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/.gitlab/issue_templates/Release checklist.md b/.gitlab/issue_templates/Release checklist.md index 83f78813..aac19824 100644 --- a/.gitlab/issue_templates/Release checklist.md +++ b/.gitlab/issue_templates/Release checklist.md @@ -4,6 +4,20 @@ This checklist tracks the process for releasing version **vX.Y.Z** of the OpenFl --- +### Branching Strategy (as of v3 development) + +The current branching strategy is for **alpha and beta development of v3**. +There is an issue open (#606) to discuss branching beyond v3. + +* The **default branch** is called `v3`. +* **Feature branches** are made from `v3` and merged back into `v3`. +* We **do not** make a new release branch. +* We **still perform a feature freeze** before release. +* We **still tag each release** and post it on the forum. +* We **do not rename** the `v3` branch or create additional long-lived branches for releases. + +--- + ### Phase 1: Preparation (T-6 Weeks _minimum_) This phase focuses on planning the release and, crucially, getting any major infrastructure or build system changes merged *before* the feature freeze. @@ -24,15 +38,14 @@ This phase focuses on planning the release and, crucially, getting any major inf * [ ] **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. -* [ ] **Branch:** Create a `release/vX.Y.Z` branch from `main`. - * *From this point, only bug fixes (regressions) are merged into this 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. --- ### Phase 3: Testing & Qualification (T-1 Week) -This phase is dedicated to intensive testing and bug fixing on the `release/vX.Y.Z` branch. +This phase is dedicated to intensive testing and bug fixing. * [ ] **Create Image:** Flash at least one SD card with the new image. * [ ] **Create Test Plan:** Document the specific tests to be run. @@ -54,7 +67,7 @@ This phase is dedicated to intensive testing and bug fixing on the `release/vX.Y * [ ] Simulation * [ ] Recentre and ROM (v7 Microscope only) * [ ] Opening each tab and sub-tab and checking things look as expected - * [ ] v7 Microscope + * [ ] v7 Microscope * [ ] Simulation * [ ] Manual * [ ] **Triage:** Triage all bugs found. Fix any release-blocking bugs. @@ -67,11 +80,10 @@ This phase is dedicated to intensive testing and bug fixing on the `release/vX.Y * [ ] **Final Version Bump:** * [ ] **Server Package:** Update version number (add specific files). * [ ] **Stitching Package:** Update version number (add specific files). - * [ ] Commit and merge the final version bumps into the `release/vX.Y.Z` branch. -* [ ] **Final Build:** Generate the final, official release image from the `release/vX.Y.Z` branch. + * [ ] Commit and merge the final version bumps into default branch. +* [ ] **Final Build:** Generate the final, official release image from the default branch. * [ ] **Draft Notes:** Draft the release notes and forum post. -* [ ] **Merge:** Merge the `release/vX.Y.Z` branch into `main`. -* [ ] **Tag:** Create a new Git tag on `main` (e.g., `vX.Y.Z`). +* [ ] **Tag:** Create a new Git tag on the default branch (e.g., `vX.Y.Z`). * [ ] **Publish:** * [ ] Push the tag to GitLab. * [ ] Publish new versions of software sub-packages, such as openflexure-stitching, on PyPi.