18 Release Process
OatmealDome edited this page 2024-09-04 00:41:32 -04:00

Introduction

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. 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.

Details

  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>
    • 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.
  4. Update the version constants in CMake/ScmRevGen.cmake, and commit the result.
  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 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. Push the new release to those on the beta auto-update track through the Update Tracks interface on the dolphin-emu.org admin panel.
  12. Merge the release branch back into master: git checkout master, git merge --no-ff release-prep-YYMMp.