Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[MU3] Fix GH#7449: Almost everything suitable for 3.6.3 or 3.7.0 #9000

Closed
wants to merge 369 commits into from

Conversation

Jojo-Schmitz
Copy link
Contributor

@Jojo-Schmitz Jojo-Schmitz commented Sep 1, 2021

Mostly resolves #7449 (i.e.: it includes the vast majority of the PRs listed there, but not all. Contains far more than listed there too)

Submitted mainly to get the development builds from GitHub CI (AKA artifacts, see the corresponding checks), for Windows (64-bit and 32-bit, no PortableApp unfortunately), Mac and Linux (64-bit AppImage) and also to get the vtests to run (which are expected to fail, but I'm curious in what way. Edit: As far as I can tell the vtests failures don't show any real failures, only changes for the better, but see for yourself, from the artifact of the corresponding check), and also for the mtests of course (which I expect it to pass with flying colors. Edit: indeed they do).

If you want to download and test, see https://github.com/musescore/MuseScore/wiki/Downloading-and-running-test-builds#Downloading-Builds-from-Pull-Requests, needs some adjustment for MuseScore 3 though.
Edit: Actually, as the PR got closed now, see #9000 (comment).

Yes, it really is more than 360 commits (and still counting)...
All this on top of the 81 commits that the 3.x branch is ahead of 3.6.2 already.
So this indeed feels more like a 3.7(.0) rather than a 3.6.3, but as long as such a thing is not planned for, nor another PR for such a much smaller 3.6.3 exists...
Edit: I made up my mind and made it a 3.7.0 now ;-)
(Might also get named 3.9.0, to make clear that it really is the last minor release before/below 4.0)

From PRs against the 3.x branch (not merged into it yet):

Not included so far:

PRs backported from master (merged and not yet merged ones):

Not included so far:

PRs against the 3.6.2_backend / 3.6.2_backend_musicxml branches (all merged into those). See also #9581 for a forward port of those to master:

Not included so far:

There are still some PRs not (yet) migrated into this one here (see above) and also some open issues (i.e. without a PR or otherwise known fix), see #7449.

@Jojo-Schmitz Jojo-Schmitz marked this pull request as draft September 1, 2021 16:57
@Jojo-Schmitz Jojo-Schmitz force-pushed the master-to-3.x branch 3 times, most recently from f655f6b to 4967716 Compare September 2, 2021 06:58
@igorkorsukov igorkorsukov added the vtests This PR produces approved changes to vtest results label Sep 2, 2021
@Jojo-Schmitz Jojo-Schmitz force-pushed the master-to-3.x branch 3 times, most recently from 828baec to 27d68f4 Compare September 2, 2021 09:37
@Jojo-Schmitz Jojo-Schmitz changed the title [MU3] Almost everything suitable for 3.6.3 [MU3] Fix GH#7449: Almost everything suitable for 3.6.3 Sep 2, 2021
@Jojo-Schmitz
Copy link
Contributor Author

Jojo-Schmitz commented Sep 2, 2021

I'd appreciate if the original authors of the PRs/commits I've included in this PR would double check whether I did it correctly. In (more ot less) chronological order:
@AntonioBL, @SKefalidis, @MarcSabatella, @NozBead, @infojunkie, @worldwideweary, @shoogle, @sidharth-anand, @OmarEmaraDev, @mirabilos, @apricot2012, @lvinken , @tobik, @mattmcclinch, @rettinghaus, @laturetab, @iveshenry18 (although his were all done with git cherry-pick rather than manual like most of the rest, so should be OK, but that does sound like "famos last words", doesn't it ;-)), @wizofaus, @Mystic-Slice, @njvdberg, @dmitrio95, @oktophonie (he gave his OK already), @cbjeukendrup, @lyrra, @PatrickNorton, @RomanPudashkin, @asattely, @Nick-Mazuk (I hope I haven't fogotten anyone), all of which I'd also like to thank for their fixes.
Once checked, and if based on 3.x, you may close your PR...

@rettinghaus
Copy link
Contributor

looks fine!

@Mystic-Slice
Copy link
Contributor

300daba looks good

@infojunkie
Copy link

#311792 looks good to me, thanks

@Jojo-Schmitz
Copy link
Contributor Author

#311792 looks good to me, thanks

Thanks, I guess with that you can close your PR #6693

@NozBead
Copy link

NozBead commented Sep 2, 2021

#6095 looking good thank you

@MarcSabatella
Copy link
Contributor

I have not done a good job keeping up on Discord. Is a 3.6.3 being seriously considered? If so, to me this list is too long by a factor of 10 or so. I see far too much risk that this breaks something and then requires 3.6.4. If we're OK with that, fine. But otherwise, I would prefer to see 3.6.3 just include fixes for the top 10 most serious regressions that have low-risk fixes.

Anyhow, I'd like to understand the context a bit more.

This reverts commit d200716.

It seems no longer to be needed, most probably got obsoleted by later changes to SMuFL or Bravura/Petaluma

See also https://musescore.org/en/node/344717#comment-1175789
pachulo and others added 3 commits February 27, 2023 11:38
Further investigation shows that the current MusicXML importer contains two kinds of MAX_STAVES sized data structures: the voice mapping data and the per staff octave state. It also seems that in the current MuseScore releases (both 3.x and 4.x) MAX_STAVES is used for the maximum number of staves in an instrument template only. It obviously does not limit the actual number of staves in a part.

The structural solution would be to make these MusicXML importer data structures dynamically sized. A crude solution is to create a local fixed (larger) size. This here is an experimental 3.x version of the last one, it allows up to 6 staves per part.
Force building 32-bit Windows on GitHub CI using Qt 5.9.9 for now, as there is no 5.15.2 package available
currently for the GitHub CI builds.
Also allow "Save online" even from an unstable build in GUI
and on the commandline.
Temp. measure... needed only as long as there is no 'official' release
(which may mean forever).

Ignore a file generated on a master build same way it is ignored non in the master branch too.
Just eases the switching between master and 3.x

Fix some GitHub actions warnings reg. deprecated Node.js 12 vs. 16

Fix vtests build using a similar method as the mtest.
Doesn't work, so back to 5.9.8, for Linux, for now...

Trick musescore.com to allow save, by claiming the score to stem from 3.6.3...

Change Linux builds to use Ubuntu 20
and partly sync with master's ci_linux_mu3.yml
@RomanPudashkin
Copy link
Contributor

I'm sorry, but I'm going to close this PR for the following reasons:

  1. this PR is causing duplicate workflows on the Actions page because of the changes made in PR Disabled nightly build for MU3 #16200

  2. this PR may be a bit misleading for users/contributors because there are no plans to release new versions of the application based on the 3.x source code

I would recommend creating a fork and continuing the work there. Thanks!

@Jojo-Schmitz
Copy link
Contributor Author

Jojo-Schmitz commented Feb 28, 2023

I of course do have a fork (which is what this PR is made from), but not the GitHub CI workflows set up to create the artifacts, that's what I need the PR for.
Alternatively I'd need help on setting up the GitHub CI workflows. Any takers?

@lyrra
Copy link
Contributor

lyrra commented Feb 28, 2023

I of course do have a fork (which what this PR is made from), but not the GitHub CI workflows set up to create the artifacts, that's what I need the PR for. Alternatively I'd need help on setting up the GitHub CI workflows. Any takers?

You could just fork from my work, see this fork: https://github.com/lyrra/MuseScore it has its own CI workflow which produces weekly Musescore3 packages. The packages are for linux and windows (mingw).
My Musescore3 is a network distributed flavor + albums, but it is based on your pr9000 so you could easily just git reset it.

@mirabilos
Copy link
Contributor

mirabilos commented Feb 28, 2023 via email

@Jojo-Schmitz
Copy link
Contributor Author

Jojo-Schmitz commented Mar 1, 2023

OK, now continued in my fork and branch, including artifacts (development builds) for Windows (32-bit and 64-bit), Mac and Linux (AppImage), available via the topmost actions against that branch.

@lyrra
Copy link
Contributor

lyrra commented Mar 1, 2023

OK, now continued in my fork and branch, including artifacts (development builds) for Windows (32-bit and 64-bit), Mac and Linux (AppImage), available via the topmost actions.

Great! Could you add an release step, so the artifacts are released? This enables people who are not logged into github to access the packages.

@Jojo-Schmitz
Copy link
Contributor Author

You mean something like this?

@lyrra
Copy link
Contributor

lyrra commented Mar 1, 2023

Yes, something like that :-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
vtests This PR produces approved changes to vtest results
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet