-
Notifications
You must be signed in to change notification settings - Fork 2.7k
Release Process
OatmealDome edited this page Feb 28, 2025
·
20 revisions
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.
- Perform a translation sync with Transifex if creating a major release.
- Create a new branch:
git checkout -b <branch name> <base commit or tag>
- 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, name the branch
release-prep-YYMMp
and base it on the tag of the last release.
- If creating a major release, name the branch
- Cherry pick any necessary commits.
- Update the version constants in
CMake/ScmRevGen.cmake
, and commit the result.- Set
DOLPHIN_VERSION_MAJOR
toYYMM
. - Set
DOLPHIN_VERSION_MINOR
to the patch number. If creating a hotfix release, use the number corresponding to the patch letter (for example,a
is1
,b
is2
, etc). Otherwise, set to0
.- This field must be set to a number as CPack does not support non-numerical values in the minor or patch version fields.
- Set
- Push the branch to GitHub:
git push -u origin <branch name>
. - 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.
- The builds can be downloaded at
- Create an annotated tag:
git tag -a <version> -m "Release for some date"
- Push the tag to GitHub:
git push origin <version>
. - The release builds will automatically show up on the normal download page.
- Publish the corresponding Progress Report, if any.
- After publishing, post the link to the Progress Report onto Twitter, Mastodon, Bluesky, etc.
- Push the new release to the
beta
update track through theUpdate Tracks
interface on the dolphin-emu.org admin panel. - 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.
-
Homepage | Project Site | Forums | Wiki | Issue Tracker | Coding Style | Transifex Page