Skip to content
Peter Jonas edited this page Feb 2, 2024 · 1 revision

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 /version.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. Markdown style is available (Useful service for converting formatted text to markdown).
    3. Attach .msi, .paf.exe, .dmg, .AppImage (also for arm/aarch64), .AppImage.zsync (also for arm/aarch64) 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/allowUpdateOnPreRelease, 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.

Updating playlists on the Learn page

If there are new videos related to the upcoming release, then Go to Collect playlists for Home->Learn page, click 'Run workflow', select master branch, and select stable mode.

Check that all videos are displayed on the Learn page.

Other things we shouldn't forget

These must be done in the run-up to the release so they are included in the release commit:

Testing

Translation

Compilation

  1. Set up developer environment
  2. Install Qt and Qt Creator
  3. Get MuseScore's source code
  4. Install dependencies
  5. Compile on the command line
  6. Compile in Qt Creator

Beyond compiling

  1. Find your way around the code
  2. Submit a Pull Request
  3. Fix the CI checks

Misc. development

Architecture general

Audio

Engraving

Extensions

Google Summer of Code

References

Clone this wiki locally