-
Notifications
You must be signed in to change notification settings - Fork 2.7k
Release process
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
- Create a branch with the name of the current release or pre-release. See the example above.
- 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'.
When the branch is ready for release, go to Actions and prepare builds for each platform.
For example:
- Go to CI Linux MU4.
- Click 'Run workflow'.
- Select release branch.
- Select 'stable_build' as Build mode.
- Click 'Run workflow'.
- Wait for finish.
- 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
- Create a new release.
- On GitHub go to Releases page and click Draft a new release.
- 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).
- Attach .msi, .paf.exe, .dmg, .AppImage (also for arm/aarch64), .AppImage.zsync (also for arm/aarch64) from step 3.
- For alpha, beta, rc choose 'Set as a pre-release'. For release select 'Set as the latest release'.
- Publish release.
Go to Collect release info, click 'Run workflow', and select master branch.
- 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.
- In MuseScore app go to DevTools->Settings, choose application/allowUpdateOnPreRelease, and restart application.
- 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.
- If you are sure that everything is working as expected, then select 'stable' as Mode and click 'Run workflow', wait for finish.
- Check that everything works correctly and is displayed. If not, need to check what is wrong.
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.
These must be done in the run-up to the release so they are included in the release commit:
- Run
tools/translations/tx_pull.sh
to fetch latest translations from Transifex. - Update the
<releases>
section at the bottom of the AppStream file.
Testing
- Manual testing
- Automatic testing
Translation
Compilation
- Set up developer environment
- Install Qt and Qt Creator
- Get MuseScore's source code
- Install dependencies
- Compile on the command line
- Compile in Qt Creator
Beyond compiling
Misc. development
Architecture general
- Architecture overview
- AppShell
- Modularity
- Interact workflow
- Channels and Notifications
- Settings and Configuration
- Error handling
- Launcher and Interactive
- Keyboard Navigation
Audio
Engraving
- Style settings
- Working with style files
- Style parameter changes for 4.0
- Style parameter changes for 4.1
- Style parameter changes for 4.2
- Style parameter changes for 4.3
- Style parameter changes for 4.4
Extensions
- Extensions overview
- Manifest
- Forms
- Macros
- Api
- Legacy plugin API
Google Summer of Code
References