Skip to content

Conversation

@hebasto
Copy link
Member

@hebasto hebasto commented Sep 6, 2021

This PR makes the MSVC build CI task free of pre-built static Qt binaries. It uses the approach which is documented in #22890.

It takes about 13 minutes to build a static Qt dependency (for 8 CPUs):

Screenshot from 2021-09-06 08-59-08

with the maximum total time:

Screenshot from 2021-09-06 08-59-26

There is an additional benefit of this PR. It is no longer required to build a new static Qt package when a CI Windows image upgrades its building tools, and breaks the compatibility with the recent Qt package.

@hebasto
Copy link
Member Author

hebasto commented Sep 6, 2021

cc @sipsorcery @fanquake @MarcoFalke

@DrahtBot
Copy link
Contributor

DrahtBot commented Sep 6, 2021

The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

Conflicts

Reviewers, this pull request conflicts with the following ones:

  • #22890 (doc: Replace a link to Qt precompiled binaries with compile instructions by hebasto)
  • #21551 (ci: Move Windows MSVC build from AppVeyor to Cirrus by hebasto)
  • #20744 (Use std::filesystem. Remove Boost Filesystem & System by fanquake)

If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.

@sipsorcery
Copy link
Contributor

sipsorcery commented Sep 6, 2021

Concept ACK from me. I wouldn't be upset if I never need to build Qt again.

13 minutes is a very fast build time. Either the CirrusCI machine is extremely powerful or I have been doing something very wrong. Windows Qt builds have always taken me multiple hours.

[Update: Probably because my Qt build was using -debug-and-release rather than just -release].

@hebasto hebasto marked this pull request as ready for review September 7, 2021 14:21
@hebasto
Copy link
Member Author

hebasto commented Sep 7, 2021

Rebased on top of #21551, and is ready for reviewing 🐅

@sipsorcery
Copy link
Contributor

utACK 3a68546.

I've tested the Qt and subsequent Bitcoin Core builds work. I don't have a CirrusCI set up so haven't tested that.

@maflcko maflcko merged commit ecf580e into bitcoin:master Sep 7, 2021
@hebasto hebasto deleted the 210906-jom branch September 7, 2021 16:11
sidhujag pushed a commit to syscoin/syscoin that referenced this pull request Sep 7, 2021
…ding a pre-built one

3a68546 ci: Build and cache static Qt instead of downloading a pre-built one (Hennadii Stepanov)

Pull request description:

  This PR makes the MSVC build CI task free of [pre-built static Qt binaries](https://github.com/sipsorcery/qt_win_binary/releases). It uses the approach which is documented in bitcoin#22890.

  It takes about 13 minutes to build a static Qt dependency (for 8 CPUs):

  ![Screenshot from 2021-09-06 08-59-08](https://user-images.githubusercontent.com/32963518/132167857-bce49c74-f258-4468-b45b-75d0cf3c670c.png)

  with the maximum total time:

  ![Screenshot from 2021-09-06 08-59-26](https://user-images.githubusercontent.com/32963518/132167881-b84bd4de-38cc-4cb1-b9f7-35642cbea8cc.png)

  There is an additional benefit of this PR. It is no longer required to build a new static Qt package when a CI Windows image upgrades its building tools, and breaks the compatibility with the recent Qt package.

ACKs for top commit:
  sipsorcery:
    utACK 3a68546.

Tree-SHA512: 2cf358ccecb26293b52c04158d6d3366ae6257cc3c04262e02234f7d7a03086885c67f0aad5702fcaa6f035fe4a09967a81245c561614875ecd2e90e2e00bbaa
@bitcoin bitcoin locked as resolved and limited conversation to collaborators Sep 7, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants