clarify how hotfix releases are versioned

OatmealDome 2024-07-11 14:34:28 -04:00
parent 50754e205f
commit 23a7b4e5ce
1 changed files with 6 additions and 6 deletions

@ -2,14 +2,14 @@
Creating a Dolphin Release does require some steps, but if you know what to do it's fairly straightforward.
Releases are versioned as follows: `YYMM`, where `YY` is the current year, and `MM` is the current month. If creating a hotfix release, a letter is appended to the end of the version number. For example, `2407a` would be the first hotfix for a release made in July 2024.
Releases are versioned as follows: `YYMM`, where `YY` is the current year, and `MM` is the current month. Hotfix releases are versioned as follows: `YYMMp`, where `p` is the hotfix letter. For example, `2407` would be a release made in July 2024, and `2407a` would be the first hotfix for that release.
Releases can only be created by [core developers](https://github.com/orgs/dolphin-emu/teams/core-developers).
## Details
1. Perform a translation sync with Transifex if creating a major release.
2. Create a new branch named `release-prep-YYMM`: `git checkout -b release-prep-YYMM <commit or tag>`
2. Create a new branch named `release-prep-YYMMp`: `git checkout -b release-prep-YYMMp <commit or tag>`
* If creating a major release, use the commit that the release should be based on.
* If creating a hotfix release, use the tag of the last release.
3. Cherry pick any necessary commits.
@ -17,13 +17,13 @@ Releases can only be created by [core developers](https://github.com/orgs/dolphi
* Set `DOLPHIN_VERSION_MAJOR` to `YYMM`.
* Set `DOLPHIN_VERSION_MINOR` to the patch number. If creating a hotfix release, use the number corresponding to the patch letter (for example, `a` is `1`, `b` is `2`, etc). Otherwise, set to `0`.
* This field must be set to a number [as CPack does not support non-numerical values in the minor or patch version fields](https://gitlab.kitware.com/cmake/cmake/-/issues/19310).
5. Push the branch to GitHub: `git push -u origin release-prep-YYMM`.
5. Push the branch to GitHub: `git push -u origin release-prep-YYMMp`.
6. Smoke test the produced builds.
* The builds can be downloaded at `https://dolphin-emu.org/download/list/release-prep-YYMM/1/`.
* Now is the time to fix any last-minute issues. Additional builds can be created by pushing new commits to GitHub.
7. Create an **annotated** tag: `git tag -a YYMM -m "Release for some date"`
8. Push the tag to GitHub: `git push origin YYMM`.
7. Create an **annotated** tag: `git tag -a YYMMp -m "Release for some date"`
8. Push the tag to GitHub: `git push origin YYMMp`.
9. The release builds will automatically show up on the normal download page.
10. Publish the corresponding Progress Report, if any.
* After publishing, post the link to the Progress Report onto Twitter, Mastodon, Bluesky, etc.
11. Merge the release branch back into master: `git checkout master`, `git merge --no-ff release-prep-YYMM`.
11. Merge the release branch back into master: `git checkout master`, `git merge --no-ff release-prep-YYMMp`.