clarify some details

OatmealDome 2025-02-27 23:22:37 -05:00
parent 70b826cbd8
commit 0bbd061790

@ -9,22 +9,23 @@ Releases can only be created by [core developers](https://github.com/orgs/dolphi
## 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-YYMMp`: `git checkout -b release-prep-YYMMp <commit or tag>` 2. Create a new branch: `git checkout -b <branch name> <base commit or tag>`
* If creating a major release, use the commit that the release should be based on. * If creating a major release, name the branch `release-prep-YYMM` and specify 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, name the branch `release-prep-YYMMp` and base it on the tag of the last release.
3. Cherry pick any necessary commits. 3. Cherry pick any necessary commits.
4. Update the version constants in `CMake/ScmRevGen.cmake`, and commit the result. 4. Update the version constants in `CMake/ScmRevGen.cmake`, and commit the result.
* 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-YYMMp`. 5. Push the branch to GitHub: `git push -u origin <branch name>`.
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 YYMMp -m "Release for some date"` 7. Create an **annotated** tag: `git tag -a <version> -m "Release for some date"`
8. Push the tag to GitHub: `git push origin YYMMp`. 8. Push the tag to GitHub: `git push origin <version>`.
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. Push the new release to those on the `beta` auto-update track through the `Update Tracks` interface on the dolphin-emu.org admin panel. 11. Push the new release to the `beta` update track through the `Update Tracks` interface on the dolphin-emu.org admin panel.
11. Merge the release branch back into master: `git checkout master`, `git merge --no-ff release-prep-YYMMp`. 11. Merge the release branch back into master: `git checkout master`, `git merge --no-ff <branch name>`.
* `--no-ff` is important, as we require a merge commit.