Migrate MuseScore MacOSX nightlies from a dedicated server to travis

• Apr 14, 2016 - 09:55
Reported version
3.0
Type
Functional
Severity
S4 - Minor
Status
closed
Project
Tags

Travis supports multi os build. It should be possible to move our current setup to Travis.
See https://docs.travis-ci.com/user/multi-os/


Comments

I did a first attempt tonight
https://travis-ci.org/lasconic/MuseScore/builds/126774044

The code can be built and packaged.

What's missing:
1/ A proper flac brew bottle. As you can see the one from the bottles.zip is not up to date and cannot be installed. It means the current package cannot run on Lion.
2/ Qt install is over 700MB. It would be good to cache it and install it only if needed.
3/ Apparently we compile the code twice, once for release, once for install. There is room for improvement...
4/ install_plugins_manual seems to be missing as a target. Do current nightlies contain the plugin manual, something to check. And see if this error is relevant.
5/ Packaging need to be checked to make sure we don't embed too much libraries, in particular the non mac app store ones. See warnings. (Note that it doesn't mean that MuseScore is ready for mac app store... there are many other (sandboxing) problems, starting by the fact that we create the MuseScore2 directory in the document folder without asking the user...)
6/ Code signing is missing, thus code object is not signed at all
7/ And we need to store the resulting DMG somewhere.
8/ The full process needs to be checked and compared with the current nightly process to make sure we have everything ok (splashscreen, package and app name etc...)

1/ is done. The bottle was fine but we need to have a match between the bottle version and the current version on homebrew... For this to work, we need to have Mac OSX 10.7 around to build the bottles. https://github.com/Homebrew/brew/blob/master/share/doc/homebrew/Bottles…

2/ is done but it doesn't work, at least on mavericks. It's not critical and the build can work without it.

3/ is fixed. I added a ci target in the Makefile.osx and it now does install only.

4/ Still need to be tested but should work.

5/6/ still need work

7/ I added support for artifacts so we can upload on S3 for now for testing purpose. Ideally, I would like to have another share on OSUOSL.

8/ I added the splash screen, the icons in the repository and they are moved where they should during the build process. One difference is the name of the nightly volume in the DMG because we use package_mac and not the custom version from the current nightly server.