e1d131a...
by
Philip Withnall <email address hidden>
ci: Build libmalcontent dependency on Fedora CI
This means we start to get a test matrix where Fedora builds with
libmalcontent, and Debian builds without.
Signed-off-by: Philip Withnall <email address hidden>
Fixes: #825
fec6768...
by
Philip Withnall <email address hidden>
ci: Run a custom D-Bus daemon for the tests in the CI
This was needed in the old CI, and is inexplicably also needed in the
new CI, otherwise the `flatpak` tests fail. I haven’t investigated
further why it’s needed.
Signed-off-by: Philip Withnall <email address hidden>
Helps: #825
8aed6eb...
by
Philip Withnall <email address hidden>
ci: Disable the fwupd tests
They don’t pass on CI for some reason; they were, however, run on the
previous CI setup. They need to be investigated further.
Signed-off-by: Philip Withnall <email address hidden>
Helps: #825
0f3a23d...
by
Philip Withnall <email address hidden>
ci: Disable the PackageKit tests
They don’t pass on CI (and weren’t run on the previous CI setup).
Signed-off-by: Philip Withnall <email address hidden>
Helps: #825
f6f8f22...
by
Philip Withnall <email address hidden>
ci: Rework the CI to support multiple Docker images
This is a major reworking of the CI system. Rather than downloading all
the build dependencies on every CI run, we now build a couple of Docker
images with all the relevant build dependencies pre-installed. Rather
than building only on Fedora, we now build on Fedora *and* Debian
Stable.
To update one of the Docker images, update the `.Dockerfile`, then run
```
.gitlab-ci/run-docker.sh build --base=fedora --base-version=2
.gitlab-ci/run-docker.sh push --base=fedora --base-version=2
```
The `--base-version` should be incremented each time you produce a new
Docker image (i.e. once per MR which touches the `Dockerfile`s). This
means you will end up with multiple versions of each Docker image in the
registry, which is necessary as old MRs will only be run against the
version which was listed in `.gitlab-ci.yml` when they branched.
Once a new Docker image is pushed, it needs to be referenced from the
`image:` keys in `.gitlab-ci.yml`.
It includes a script, `meson-junit-report.py`, which takes the JSON
test report and converts it to a Cobertura format suitable for GitLab to
understand and summarise.
It’s worth noting the FIXME comment in `run-tests.sh` at the
moment: tests can only be run as root. That seems like an unnecessary
restriction which implies that the tests need further sandboxing and
more mock D-Bus services added to them.
Signed-off-by: Philip Withnall <email address hidden>