9 Release process
Elnur Ismailzada edited this page 2023-06-29 14:48:39 +03:00

Prepare a branch

Example: 4.0.0-alpha < 4.0.0-alpha.1 < 4.0.0-alpha.beta < 4.0.0-beta < 4.0.0-beta.2 < 4.0.0-beta.11 < 4.0.0-rc.1 < 4.0.0

  1. Create a branch with the name of the current release or pre-release. See the example above.
  2. Go to /config.cmake and correct major, minor, patch, and label. For example, for '4.0.1-beta.11': major '4', minor '0', patch '1', label 'beta.11'.

Prepare builds

When the branch is ready for release, go to Actions and prepare builds for each platform.

For example:

  1. Go to CI Linux MU4.
  2. Click 'Run workflow'.
  3. Select release branch.
  4. Select 'stable_build' as Build mode.
  5. Click 'Run workflow'.
  6. Wait for finish.

Prepare a release on GitHub

  1. Create a tag on the last commit of the branch in the format 'v<branch name>' and push it to GitHub. For example, v4.0.0-alpha
  2. Create a new release.
    1. On GitHub go to Releases page and click Draft a new release.
    2. Choose a newly created tag, select a release branch as a target, and fill in a release title and description. Please note that the description should not contain links, as the editor does not currently support Html.
    3. Attach .msi, .dmg, .AppImage, .AppImage.zsync from step 3.
    4. For alpha, beta, rc choose 'Set as a pre-release'. For release select 'Set as the latest release'.
    5. Publish release.

Notifying all users about the new release.

Go to Collect release info, click 'Run workflow', and select master branch.

  1. If you want to test the update before notifying all users and make sure that everything is fine, then select testing mode, click 'Run workflow', and wait for finish.
    1. In MuseScore app go to DevTools->Settings, choose application/checkForUpdateTestingMode, and restart application.
    2. After the restart, a dialog about an available update should appear. Check that everything works and is displayed correctly. If not, need to check what is wrong.
  2. If you are sure that everything is working as expected, then select 'stable' as Mode and click 'Run workflow', wait for finish.
    1. Check that everything works correctly and is displayed. If not, need to check what is wrong.

Other things we shouldn't forget

  • Update the AppStream file in build/Linux+BSD/org.musescore.MuseScore.appdata.xml.in