-
Notifications
You must be signed in to change notification settings - Fork 2.7k
Release Process
Amphitryon0 edited this page Dec 9, 2024
·
19 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 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.
- 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 release-prep-YYMMp
. - 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 YYMMp -m "Release for some date"
- Push the tag to GitHub:
git push origin YYMMp
. - 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 those on the
beta
auto-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 release-prep-YYMMp
.
Homepage | Project Site | Forums | Wiki | Issue Tracker | Coding Style | Transifex Page