Commit graph

113 commits

Author SHA1 Message Date
Dirk Hohndel
ec9829bbd6 build-system: move to Ubuntu Jammy
Impish is EOL.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2022-07-31 10:26:25 -07:00
Dirk Hohndel
c1e7cd1428 build-system: consistently mark git directories safe
Even on platforms that don't have the new git version, yet.
And using the convoluted way to create an environment variable that should
point to our checked out tree in the GitHub Action. The more obvious ways
have resulted in failed builds for obscure reasons.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2022-05-14 10:28:56 -07:00
Dirk Hohndel
df5c715afa build-system: work around git change in Fedora 35 build
Not sure why I didn't include that earlier.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2022-05-12 11:09:12 -07:00
Michał Sawicz
ef0a6b7bee [gha] refresh linux-snap.patch
Signed-off-by: Michał Sawicz <michal@sawicz.net>
2022-05-07 14:49:17 -07:00
Dirk Hohndel
5a5188bc47 build-system: don't build against Qt6 by default
As some Linux distros start to ship both Qt5 and Qt6, it actually makes more
sense to build only against Qt6 when the user explicitly asks for it. Having it
preferred over Qt5 seems completely wrong in hind sight.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2022-04-23 12:35:54 -07:00
Dirk Hohndel
36c991a1b8 build-system: work around git change in coverity build
The git ownership issue strikes again.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2022-04-22 21:32:50 +02:00
Dirk Hohndel
514edfec07 build-system: work around latest GitHub Action issue
This suddenly started. A couple of build would fail because the git submodule
checkout fails because of directory ownership issues. Hopefully this will fix
it.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2022-04-12 23:35:25 -07:00
Dirk Hohndel
af88d34227 build-system: updates to GitHub Actions
Hirsute is EOL, so we need to move to Impish.
Adding Fedora 35 allows us to do a simple test against Qt 6.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2022-03-14 17:36:55 -07:00
Dirk Hohndel
f6a1340a29 buildsystem: remove Ubuntu Groovy build
This GitHub Action started failing. Groovy was EOL'ed six months ago and
downloads from the Ubuntu servers of Groovy components are no longer
supported.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2022-01-04 19:50:05 -08:00
Dirk Hohndel
ba1564fddb build-system: stop using openSUSE Tumbleweed
The docker container for Tumbleweed has been broken for a while now.
Given the Hirsuite gives us Qt 5.15 testing, I guess it makes sense to
drop Tumbleweed for now.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2021-10-22 10:45:28 -07:00
Dirk Hohndel
7944978274 snap: push regular updates of dependencies to stable
We simply don't use release candidates in Subsurface these days, and no one
then moves these builds to stable after testing, so stable has been getting
stale while the builds that people SHOULD use have been sitting in candidate.

Of course, this will only become the default after our next release (as I don't
want four digit versions in a release build, so I can't simply add this to our
snap-stable branch).

Oh well - 5.0.3 will happen soon, given the print resolution issue for icons.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2021-07-05 10:48:30 -07:00
Dirk Hohndel
fd3ebf9b62 build-system: build for Ubuntu 21.04 / hirsute as well
This release drops the qt5-default package - which really wasn't needed since
focal. So just drop it on all of the builds after 18.04 (bionic).

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2021-05-07 12:17:21 -07:00
Dirk Hohndel
b95ab84226 build-system: fix AppImage build failure
It's debatable if it makes sense to continue building on Trusty. The AppImage
community moved on to Xenial for a reason. But for now let's just make sure the
CI builds don't all break.

Suggested-by: Simon Peter <probono@puredarwin.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2021-05-06 08:43:01 -07:00
Dirk Hohndel
faf349bbda prepare for 5.0.1
Update README and ReleaseNotes.

Also remove outdated workflow badge, add a couple new one, and hack around a
rendering issue where the last character of longer workflow names gets
overwritten by the status - which resulted in the arguably most important info
(which Qt version) being hidden.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2021-03-31 09:07:01 -07:00
Michał Sawicz
6dccfc75dc [gha] simplify LXD handling 2021-03-01 12:48:11 -08:00
Michał Sawicz
a72f2ac92d [snap] use setup-lxd action
The Snapcraft action unnecessarily tries to migrate things.

Signed-off-by: Michał Sawicz <michal@sawicz.net>
2021-02-26 09:57:24 -08:00
Dirk Hohndel
b40354c7f2 build-system: compile stats code on mobile OSs
Android and iOS use qmake, so add the code to the .pro file.
This also removes all remnants of QCharts includes and uses and all the
references to QCharts in our various build systems.

That was a brief but extremely useful detour.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2021-01-10 15:16:52 -08:00
Michał Sawicz
4ecb8ba0cc [snap] enable ccache in Linux Snap workflow
Also adding `push` to triggering events to populate the cache.

Signed-off-by: Michał Sawicz <michal@sawicz.net>
2021-01-07 17:26:25 -08:00
Michał Sawicz
a5e25c8e7d [snap] add Linux Snap workflow
This will build and verify the snap on pull requests to `master`.

Signed-off-by: Michał Sawicz <michal@sawicz.net>
2021-01-07 17:26:25 -08:00
Michał Sawicz
25d0fb7157 [snap] add daily USN check
This workflow will download the current snaps published in the `candidate`
channel for all architectures and check them for packages with published
Ubuntu Security Notices. If it finds one, it will trigger a build of the
snap recipe:

https://code.launchpad.net/~subsurface/+snap/subsurface-stable

This will rebuild the snap with patched packages and publish it to the
`candidate` channel.

Signed-off-by: Michał Sawicz <michal@sawicz.net>
2021-01-07 12:44:36 -08:00
Dirk Hohndel
c63994f775 build-system/AppImage: ensure stats dependencies get bundled
This will make sure QtCharts is part of the AppImage.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2021-01-03 17:11:54 -08:00
Dirk Hohndel
402e7eaf97 cleanup: get the Ubuntu names right
Kinda silly, but it bugged me.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2021-01-03 13:39:20 -08:00
Dirk Hohndel
edd19d4725 build-system: fix Coverity script
Trying to keep the different build environments consistent I messed up and
dropped wget and curl from the Coverity build. Moving them to the beginning of
the list so they stand out more.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-12-30 10:56:06 -08:00
Dirk Hohndel
8cbde0829d GitHub Actions: clearly disable the docker build tasks
These haven't been used for a while and still create strange errors.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-12-29 13:39:16 -08:00
Dirk Hohndel
d6ee2de78f build-system: update Coverity build for QtCharts
This was missing in the earlier GitHub Action updates.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-12-29 13:39:16 -08:00
Subsurface CI
3cf6848605 build-system/trusty: use new Qt installer
Update to Qt 5.12.10, latest OpenSSL, add QtChart, add other missing packages.
Also switch to gcc-7 as our statistics code requires better C++17 support than
what gcc-6 can offer.

This then creates trusty-qt512:1.1

Signed-off-by: Subsurface CI <dirk@hohndel.org>
2020-12-29 08:38:36 -08:00
Dirk Hohndel
3fa2a6a533 build-system: add QtCharts for CodeQL build
This fixes another GitHub Action failure.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-12-29 08:38:36 -08:00
Dirk Hohndel
ed67979ed9 build-system: build Windows binaries with gcc 10.2
This simply uses a newer version of our build container which includes newer
tools.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-12-29 08:38:36 -08:00
Dirk Hohndel
21fbc7f6e4 build-system: add missing components for GitHub Actions
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-12-29 08:38:36 -08:00
Subsurface CI
c21cc590d4 GitHub Actions: turn off building docker images
This hasn't worked in quite a while. It was a good thought, but, yeah, no.

Signed-off-by: Subsurface CI <dirk@hohndel.org>
2020-12-29 08:34:09 -08:00
Dirk Hohndel
0143d64439 GitHub Actions: build all three targets in the Tumbleweed build
This is kind of a random choice - I don't see much value to build this
everywhere, but it's kinda neat to use this to test that the -all option works
correctly and does the right thing with WebKit now. And it will also ensure
that the downloader build isn't broken.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-12-19 15:33:17 -08:00
Dirk Hohndel
dbf2e3a857 GitHub Action/iOS: build in the right directory
The way I test things locally I build in the directory above the subsurface
directory. Let's match this on GitHub as well.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-12-17 09:17:54 -08:00
Dirk Hohndel
de194d56be GitHub Actions: better job names
This makes it more obvious which action actually failed.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-12-17 09:17:54 -08:00
Dirk Hohndel
08c72605aa Github Actions: switch to Ubuntu 20.04
19.10 is no longer receiving updates and causing problems when running
the tests. 20.04 also uses Qt 5.12.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-12-17 09:17:54 -08:00
Dirk Hohndel
c5074c8af5 build-system/Android: work around missing C compiler in our build container
This of course needs to be fixed in the build container itself, but
for now this might be enough to make progress.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-12-17 09:17:54 -08:00
Dirk Hohndel
70470ffa45 build-system: configure git when running GitHub Action
In order to apply the patches for Kirigami, git insists on having
a valid user name and email.

Also, don't build the mobile app when preparing the AppImage. That
build already takes way too long and we test this in a few other
actions.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-12-17 09:17:54 -08:00
Dirk Hohndel
706f44a13c build-system: update GitHub Action to use current android container
This brings the scripts and the container in use back into sync.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-11-19 17:18:33 -08:00
Dirk Hohndel
198096e30e iOS: adjust GitHub Action to new build format
It's frustrating that I can't get the translation.qrc support the translation
files to be created in the build directory. Having them as part of the sources
just feels wrong.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-11-19 17:18:33 -08:00
Dirk Hohndel
6d93a14d18 build-system: giving up on TestGitStorage
It is completely incomprehensible why these fail. And why randomly restarting
sometimes fixes them, and often doesn't. At this point there is no incremental
value in having this test. If it were to ever catch a real bug, we wouldn't
realize it because we are too well trained to ignore the problem.

Very disappointing, but IMHO the right thing to do.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-11-12 11:19:55 -08:00
Dirk Hohndel
c5ab9647d5 build-systsem: move back to Xcode 11
It appears that Xcode 12 applies some rather self defeating logic when picking
build architectures in release builds for the simulator. It adds aarch64 by
default and I can't find a way to turn that off from the command line. At the
same time, you can't link against the simulator if you have build with aarch64
as the aarch64 simulator doesn't exist, yet.

Since I couldn't get any of the claimed workarounds to work, I'm forcing Xcode
11 to be used in the Action.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-11-01 14:28:09 -08:00
Dirk Hohndel
bd0d7bd0fa build-system: switch GitHub Action Windows build to 64 bit
This is using the new build container with a 64bit MXE system.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-10-30 12:24:36 -07:00
Dirk Hohndel
e71e715cd3 build-system: Docker build for 64bit MXE
We previously tried to build the MXE Docker container on GitHub using
an Action, but that really didn't work well and was a lot more trouble
than it was worth.

So this goes back to an offline build mechanism where I simply create
an updated Docker image when needed and push that to Docker Hub.

But this nearly hides the most interesting change here - we are finally
switching to using 64bit binaries on Windows. It's 2020 and fewer than
1% of our users use 32bit Windows machines. We'll need to expand this
to be able to have both a 32bit and a 64bit version of Subsurface for
Windows. But for now, this solves the problem for 99% of our users.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-10-30 12:24:36 -07:00
Dirk Hohndel
cdf1865246 build-system: add libmtp for our Windows builds
This uses latest master (as that's the only one that has the explicit
Descent Mk2i support in it).

Right now, unfortunately the MXE build fails.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-10-30 12:24:36 -07:00
Dirk Hohndel
0b13cbd81b build-system: add libmtp for Linux and macOS
Since MXE doesn't offer libmtp I'll need to add code to manually build
libmtp there.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-10-30 12:24:36 -07:00
Dirk Hohndel
b554b3d060 build-system: use openSUSE Tumbleweed latest
Without a distro update, Leap 15.2 appears to only give us Qt 5.12.
Since the upgrade takes forever and causes problems as it requests a senseless
'reboot' of the container, let's try using Tumbleweed instead.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-10-26 19:27:03 -07:00
Dirk Hohndel
7068e64e49 test: manually run gitStorageTest
This way we should see the output and hopefully be able to figure
out why that silly test keeps randomly failing.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-10-24 15:22:37 -07:00
Dirk Hohndel
6b7d7f9ee1 build-system: add GitHub action for openSUSE Leap 15.2
This way we test a Qt 5.15 build.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-10-16 21:32:43 -07:00
Dirk Hohndel
e57b7659cc build-system: add GitHub action for Ubuntu 20.10
This way we test a Qt 5.14 build.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-10-16 21:11:44 -07:00
Dirk Hohndel
967473a1cd build-system: add GitHub scanning
Enable the newly re-imagined Semmel based CodeQL scanning.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-10-16 14:14:05 -07:00
Dirk Hohndel
3371086d2b build-system: remove building Grantlee from AppImage build
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-10-08 12:19:39 -07:00