diff --git a/releases/hotfix.md b/releases/hotfix.md index b86c0297206..968072dca52 100644 --- a/releases/hotfix.md +++ b/releases/hotfix.md @@ -26,7 +26,7 @@ Operations ### See also * [Hotfix versioning]({% link resources/versions.md %}) -* [Major and minor releases]({% link releases/process.md %}) +* [Releases]({% link releases/process.md %}) ## Hotfixes @@ -58,19 +58,23 @@ Also consider the timing of when the next release is scheduled. If the freeze or ### Process **NOTE:** The processes below use these releases as examples: -- Current release `M.A.X` -- Next minor release `M.B.0` (where `B=A+1`) -- Next patch release `M.A.Y` (where `Y=X+1`) +- Current release `YY.MA.PX` +- Next release `YY.MB.0` (where `MB=MA+2`) +- Next patch release `MM.MA.PY` (where `PY=PX+1`) Developers {: .label .label-green} 1. Hotfix issues will be assigned to you -2. Create your branch from the `branch-M.A` branch +2. Create `hotfix/YY.MA.PX` branch from `^vYY.MA.00` (commit `BEFORE` the tag) 3. Implement the fix succinctly 1. Change the minimal amount of code required 2. Update related documentation and unit tests 3. It is acceptable to implement a quick fix and open a new issue for a more in depth solution -4. Once complete, create a pull request targeting `branch-M.A` +4. Once complete, create a pull request targeting the following + 1. `hotfix/YY.MA.PX` → `release/YY.MA` and notify Operations + 2. `hotfix/YY.MA.PX` → `main` and notify Operations + 1. This can also be done as a `cherry-pick` from `release/YY.MA` -> `main` + 3. ***NOTE:*** After the `release/YY.MA` has completed, the [forward merger]({% link resources/auto-merger.md %}) will no longer automatically merge from `release/YY.MA` -> `main` 5. Notify the project lead Project Leads @@ -86,9 +90,8 @@ Operations {: .label .label-purple} 1. Once notified by a Project Lead, review the pull request 2. Begin testing of conda and containers for correctness and functionality -3. Review documentation to ensure version numbers (updating to `M.A.Y`) and instructions are correct -4. Merge the developer's PR targeting `branch-M.A` after approval -5. Create a new PR from `branch-M.A` targeting `main` -6. Merge the PR targeting `main` after review and approval +3. Review documentation to ensure version numbers (updating to `YY.MA.PX`) and instructions are correct +4. Merge the developer's PR from the `hotfix/YY.MM.PX` targeting `release/YY.MA` after approval +5. Merge the developer's PR from the `hotfix/YY.MM.PX` targeting `main` after approval 7. Monitor process of automated tools 8. Spot check deliverables to ensure correctness