GitHub Actions vs Travis builds

Dirk Hohndel dirk at hohndel.org
Sat Oct 19 02:14:06 PDT 2019


With apologies to those of you who get the GitHub notifications... yes,
there were a LOT of them this week.

Travis has increasingly been failing builds for random reasons. So badly
that actual build errors slipped into master since they were hidden by all
this noise. As a result I decided to spend the time to migrate our CICD
builds to the GitHub Actions, Microsoft's, err, I mean, GitHub's "still in
beta" new feature that allows you to run builds on Azure, triggered by
GitHub events. Once again, free of charge for open source projects like
Subsurface.

As one would expect, there were a lot of subtle differences in how things
are set up for the user when compared to Travis, and the documentation
isn't always as clear as I would have preferred, but I have now managed to
migrate all of the relevant builds with the exception of iOS to GitHub
actions. The iOS build is held up by an odd bug where the exact same
version of Qt fails with the exact same version of Xcode that I use
locally to do the iOS release builds. Instead of beating my head against
this one I intend to move iOS to a newer version of Qt again - something
that takes a good chunk of time in order to assemble the pre-packaged Qt
in a way that can reasonably quickly be unpacked on the build VM. And that
latter part of course also requires a fast internet connection, which I
won't have for the next couple of weeks as I am first on a dive trip and
then on a business trip. In other words, I expect this one build to stick
around on Travis for a little longer.

BTW: if anyone is interest in addressing this, be my guest. I'd be more
than happy not to be the only one working on this part of our
infrastructure.

Also, as I write this, maybe with the (from what I can tell) much faster
VMs compared to Travis, maybe it's feasible for this to simply unpack and
install the official Qt binaries... that's something that one could play
with without needing to upload gigabytes of pre-packaged binaries...

In the meantime we have shiny new builds that should be very similar to
the builds that we got from Travis, but it would be super nice if people
could test them and report back here, just to make sure I didn't break
anything. I did test the the AppImage, the Mac app, and the Windows
installer each at some point while getting this to work, but because I'm
already traveling I wasn't able to test the final versions that were
produced after I merged this into master.

To keep Travis and GitHub Actions based builds apart, I changed the tag /
release name that is used. You can find the new build artefacts here:

https://github.com/Subsurface-divelog/subsurface/releases/tag/ci-release

Thanks

/D


More information about the subsurface mailing list