mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-02-23 10:42:11 +01:00
We have tests that are failing in some environments, but it's difficult to handle them because: - for some environments we just allow all the tests to fail: DANGEROUS - when we don't allow failures we have flacky tests: A CI pain So, to avoid this and ensure that: - New failing tests are tracked in all platforms - gitlab integration on tests reports is working - coverage is reported also for failing tests Add support for `can_fail` keyword on tests that would mark the test as part of the `failing` test suite. Not adding the suite directly when defining the tests as this is definitely simpler and allows to define conditions more clearly (see next commits). Now, add a default test setup that does not run the failing and flaky tests by default (not to bother distributors with testing well-known issues) and eventually run all the tests in CI: - Non-flaky tests cannot fail in all platforms - Failing and Flaky tests can fail In both cases we save the test reports so that gitlab integration is preserved.
CI support stuff
Docker image
GitLab CI jobs run in a Docker image, defined here. To update that image (perhaps to install some more packages):
- Edit
.gitlab-ci/Dockerfile
with the changes you want - Run
.gitlab-ci/run-docker.sh build --base=debian-stable --base-version=1
to build the new image (bump the version from the latest listed for thatbase
on https://gitlab.gnome.org/GNOME/glib/container_registry). If rebuilding thecoverity.Dockerfile
image, you’ll need to have access to Coverity Scan and will need to specify your project name and access token as the environment variablesCOVERITY_SCAN_PROJECT_NAME
andCOVERITY_SCAN_TOKEN
. - Run
.gitlab-ci/run-docker.sh push --base=debian-stable --base-version=1
to upload the new image to the GNOME GitLab Docker registry- If this is the first time you're doing this, you'll need to log into the registry
- If you use 2-factor authentication on your GNOME GitLab account, you'll
need to create a personal access token and use that rather than
your normal password — the token should have
read_registry
andwrite_registry
permissions
- Edit
.gitlab-ci.yml
(in the root of this repository) to use your new image