clarify how hotfix releases are versioned
parent
50754e205f
commit
23a7b4e5ce
|
@ -2,14 +2,14 @@
|
||||||
|
|
||||||
Creating a Dolphin Release does require some steps, but if you know what to do it's fairly straightforward.
|
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).
|
Releases can only be created by [core developers](https://github.com/orgs/dolphin-emu/teams/core-developers).
|
||||||
|
|
||||||
## Details
|
## Details
|
||||||
|
|
||||||
1. Perform a translation sync with Transifex if creating a major release.
|
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 major release, use the commit that the release should be based on.
|
||||||
* If creating a hotfix release, use the tag of the last release.
|
* If creating a hotfix release, use the tag of the last release.
|
||||||
3. Cherry pick any necessary commits.
|
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_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`.
|
* 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).
|
* 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.
|
6. Smoke test the produced builds.
|
||||||
* The builds can be downloaded at `https://dolphin-emu.org/download/list/release-prep-YYMM/1/`.
|
* 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.
|
* 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"`
|
7. Create an **annotated** tag: `git tag -a YYMMp -m "Release for some date"`
|
||||||
8. Push the tag to GitHub: `git push origin YYMM`.
|
8. Push the tag to GitHub: `git push origin YYMMp`.
|
||||||
9. The release builds will automatically show up on the normal download page.
|
9. The release builds will automatically show up on the normal download page.
|
||||||
10. Publish the corresponding Progress Report, if any.
|
10. Publish the corresponding Progress Report, if any.
|
||||||
* After publishing, post the link to the Progress Report onto Twitter, Mastodon, Bluesky, etc.
|
* 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`.
|
Loading…
Reference in New Issue