Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 13 additions & 10 deletions releases/hotfix.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down Expand Up @@ -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
Expand All @@ -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