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

Use Qt 5.12.1 on AppVeyor and fix #281539 32-bit build for Windows #4583

Merged
merged 1 commit into from
Feb 15, 2019

Conversation

shoogle
Copy link
Contributor

@shoogle shoogle commented Jan 14, 2019

It errored with this message when I tried to build it on my fork:

MSBUILD : error MSB1009: Project file does not exist.

Not sure if that is my fault.

Build log is here: https://ci.appveyor.com/project/shoogle/musescore/builds/21611397

EDIT: The problem with that 7z's -o option to set the output directory for files to be extracted to must be used like -o<dir> but I was using it like -o <dir> (i.e. the space is not allowed).

@shoogle
Copy link
Contributor Author

shoogle commented Jan 15, 2019

I downloaded the AppVeyor artefact and it seems to run just fine.

@shoogle shoogle changed the title Download Qt 5.12 archive for AppVeyor builds Use Qt 5.12 on AppVeyor and fix #281539 32-bit build for Windows Jan 15, 2019
@shoogle
Copy link
Contributor Author

shoogle commented Jan 15, 2019

Now it is working with Qt 5.12 and MSVC for both 32 bit and 64 bit.

Note that when this is merged you need to:

  1. Upload the 32 bit Qt archive to the MuseScore server.
  2. Ensure the 32 bit and 64 bit builds and WinSparkle appcasts are named differently.

@lasconic, @anatoly-os, I'll leave you to decide on the naming scheme.

@Jojo-Schmitz
Copy link
Contributor

see https://musescore.org/en/node/281675 for the naming issue

@lasconic
Copy link
Contributor

You should be able to get Qt 5.12.0 for both archs at:
https://utils.musescore.org.s3.amazonaws.com/qt5120_msvc2017_32.7z
https://utils.musescore.org.s3.amazonaws.com/qt5120_msvc2017_64.7z

@shoogle shoogle force-pushed the appveyor-qt branch 3 times, most recently from bb62760 to ae78b62 Compare January 16, 2019 04:58
@shoogle
Copy link
Contributor Author

shoogle commented Jan 16, 2019

I have updated the URLs and now the package names include the architecture. See AppVeyor build logs and their respective artifacts:

I haven't done anything with the sparkle appcasts as I think that is best left to you guys.

@Jojo-Schmitz
Copy link
Contributor

@shoogle
Copy link
Contributor Author

shoogle commented Jan 26, 2019

@Jojo-Schmitz, that comment refers to Windows Vista, which is EOL. Nevertheless, I have created a 32 bit build against Qt 5.9 which they can try here: https://ci.appveyor.com/api/buildjobs/rgiqdfd2gds9j2v8/artifacts/MuseScoreNightly-2019-01-26-2134-appveyor-qt-2eed34e-x86.7z

@Jojo-Schmitz
Copy link
Contributor

Yes, I noticed that too, but too late, sorry.
I don't think Qt 5.9 helps for Vista though, it certainly doesn't for XP.

@shoogle
Copy link
Contributor Author

shoogle commented Jan 27, 2019

I reverted it back to using Qt 5.12 for both 32 bit and 64 bit, but the 32 bit build against Qt 5.9 still exists here if anyone wants to try it.

@shoogle shoogle force-pushed the appveyor-qt branch 2 times, most recently from e8c3e12 to 705b273 Compare February 7, 2019 12:26
@shoogle
Copy link
Contributor Author

shoogle commented Feb 9, 2019

@anatoly-os, this is ready to merge, unless you have decided you would prefer to wait for AppVeyor to upgrade their Qt?

@Jojo-Schmitz
Copy link
Contributor

Is is on Qt 5.12.1? If not, should I pack those for you?

@shoogle
Copy link
Contributor Author

shoogle commented Feb 9, 2019

It's still on Qt 5.12, but let's see whether @anatoly-os wants to use it before you pack 5.12.1, and whether the 32 bit build is wanted.

@Jojo-Schmitz
Copy link
Contributor

As per appveyor/ci#2760 AppVeyor now supports Qt 5.12.1 builds, also see https://www.appveyor.com/docs/windows-images-software/#qt

But only for MinGW and for msvc_2015 64bit Windows (so this here seems still needed)

@anatoly-os
Copy link
Contributor

Since AppVeyor doesn't support 32-bit Qt 5.12 libs, I would consider using this PR when preparing Release.

Also, afaics the changes don't increase build time significantly because of downloading qt zip, am I right?

@Jojo-Schmitz
Copy link
Contributor

So should I prepare Qt 5.12.1 bundles for 32bit and 64bit?

@shoogle
Copy link
Contributor Author

shoogle commented Feb 12, 2019

@anatoly-os, Qt is cached so the download is more or less instantaneous after the first build. Even in the first build it only takes about 5 seconds to download because AppVeyor's internet is fast.

Note this from AppVeyor docs:

Total cache size per account consist of all caches from all projects. If projects contain more than one job in build matrix or in parallel testing, each job has its own separate cache, which cannot be shared with other jobs or projects.

Free: 1 GB

The first thing this PR does is download Qt (either 32 or 64 bit) and put it in a directory called qt, which gets cached. 32 and 64 bit builds have a separate cache, so the contents of this directory is different on 32 and 64 bit systems. Other dependencies are the same for both builds, but this means they are cached twice: once for each build.

@Jojo-Schmitz, yes please!

@shoogle shoogle force-pushed the appveyor-qt branch 3 times, most recently from 6284b6d to c40ffe8 Compare February 12, 2019 17:32
@shoogle
Copy link
Contributor Author

shoogle commented Feb 12, 2019

@anatoly-os @lasconic, I updated to Qt 5.12.1 thanks to @Jojo-Schmitz. The new Qt packages for 32 bit and 64 bit need to be put on the MuseScore server before this is merged.

The build is failing currently for reasons that seem unrelated to this PR.

@Jojo-Schmitz
Copy link
Contributor

Seeems this PR is no longer needed, Finally AppVeyor now does spupport msvc2017 32-bit: C:\Qt\5.12.1\msvc2017 and msvc2017 64-bit: C:\Qt\5.12.1\msvc2017_64

@anatoly-os
Copy link
Contributor

@shoogle could you please adapt the changes in this PR to work with both 32-bit and 64-bit configurations of AppVeyor (https://www.appveyor.com/docs/windows-images-software/#qt)? I mean remove cache for qt.zip, but keep running both configurations for each build.

@shoogle
Copy link
Contributor Author

shoogle commented Feb 13, 2019

@anatoly-os, done!

@shoogle shoogle changed the title Use Qt 5.12 on AppVeyor and fix #281539 32-bit build for Windows Use Qt 5.12.1 on AppVeyor and fix #281539 32-bit build for Windows Feb 13, 2019
@@ -13,6 +13,7 @@ branches:
# build cache to preserve files/folders between builds
cache:
- dependencies.7z
# - qt-5.12.1-msvc.7z # if not using AppVeyor's built-in Qt in before_build.bat
- C:\Qt\Tools\mingw530_32\lib
- C:\Qt\Tools\mingw530_32\i686-w64-mingw32
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think these 2 are needed?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably not, but they are not related to this PR and I don't have time to investigate other things right now.

- fix #281539 - 32-bit build for Windows
- fix #281675 - add architecture to MSI name
- Option to download Qt rather than using AppVeyor's Qt (disabled)
@anatoly-os anatoly-os merged commit 7678137 into musescore:master Feb 15, 2019
anatoly-os added a commit that referenced this pull request Feb 18, 2019
Use Qt 5.12.1 on AppVeyor and fix #281539 32-bit build for Windows
@shoogle shoogle deleted the appveyor-qt branch March 8, 2019 04:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants