Hi all, I spent a bit of time trying to get a project of mine to build in Github Actions with a Qt installed via the new online installer.
I used Volker's script as a base, modified it a bit, and created a github workflow that installs Qt 5.15.1 essentials package. The workflow then builds a qmake app project and publishes a macdeploy'ed archive as a Github artifact. I also got some inspiration from qt-creator's and Cristian's ccache GA workflows. So credit goes to Volker, Cristian, and anyone that worked on the creator workflow. Here's the gist of what I have so far: https://gist.github.com/alcroito/549d47b4d961936a24a518aaada685f3 To make the online installer work in the CI setting, i first downloaded it locally and logged in with my account, extracted the created JWT token from ~/Library/Application\ Support/Qt/qtaccount.ini and saved it as a secret that's set as an environment variable in the CI. Not sure for how long the token is valid though. The workflow in the linked gist also uses GA's caching action, to cache the installed Qt (so as not to hammer Qt's mirrors). It also reduces the overall Qt installation time: initial install time restore from cache cache size Linux 2m 58s 35s 695MB Windows 4m 27s 1m 5s 783MB macOS 3m38s 22s 590MB Hope the gist proves useful to someone. I'm pondering continuing work on the installer script as well as the build_with_qmake script, and perhaps package them as GA actions if it's feasible and useful. On Wed, Sep 16, 2020 at 5:25 PM Volker Hilsheimer <volker.hilshei...@qt.io> wrote: > > On 16 Sep 2020, at 17:05, Thiago Macieira <thiago.macie...@intel.com> > wrote: > > > > On Wednesday, 16 September 2020 03:39:58 PDT Volker Hilsheimer wrote: > >> I’ve recently been doing a bit of work to automate the testing of the > online > >> installer and the Qt packages through minicoin [1] recently; check > >> > >> > https://git.qt.io/vohilshe/minicoin/-/tree/master/minicoin/jobs/install-onli > >> ne > >> > >> for a cmake script that downloads the Qt Online installer and installs > the > >> latest Qt 6 snapshot, on any host platform Qt supports. > >> > >> I’m running things regularly on local and cloud-hosted VMs running > >> Windows10, macOS, and Ubuntu. FWIW, the xdotool stuff is only needed > >> because I also want to run some basic tests that require a user session. > > > > Thanks, Volker > > > > The script is very understandable. When I have the time, I'll take a > look at > > setting up a GitHub Action for installing Qt on their Linux and Mac > hosts. I > > really need to get away from Travis, since that is taking 2-3 days to > test a > > pull request. > > > > One question: the downloads are currently anonymous. I understood from > earlier > > in this thread that would not remain the case. Did I misunderstand or is > that > > still a change to come? > > > > -- > > Thiago Macieira - thiago.macieira (AT) intel.com > > Software Architect - Intel DPG Cloud Engineering > > > The download in the cmake script (and thanks to Christian Adam for some of > the ideas to it) just pulls down the online installer. > > The online installer then downloads the actual packages, and expects your > qtaccount.ini file to have the credentials and license information. > > The other scripts take care of that, and are part of how jobs are designed > in minicoin: the pre-run script runs on the host, takes your local > qtaccount.ini file, and puts it into the job; minicoin uploads the entire > job directory ot the VM; the “main” scripts then run on the guest, and put > them where the installer expects them. > > Cheers, > Volker > > > _______________________________________________ > Development mailing list > Development@qt-project.org > https://lists.qt-project.org/listinfo/development >
_______________________________________________ Development mailing list Development@qt-project.org https://lists.qt-project.org/listinfo/development