mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-02-09 12:25:48 +01:00
This will make it easier and more obvious for developers to run them locally: I'm sure I'm not the only developer who had assumed that `.gitlab-ci/` is private to the CI environment and inappropriate (or perhaps even destructive) to run on a developer/user system. The lint checks are automatically skipped (with TAP SKIP syntax) if we are not in a git checkout, or if git or the lint tool is missing. They can also be disabled explicitly with `meson test --no-suite=lint`, which downstream distributions will probably want to do. By default, most lint checks are reported as an "expected failure" (with TAP TODO syntax) rather than a hard failure, because they do not indicate a functional problem with GLib and there is a tendency for lint tools to introduce additional checks or become more strict over time. Developers can override this by configuring with `-Dwerror=true` (which also makes compiler warnings into fatal errors), or by running the test suite like `LINT_WARNINGS_ARE_ERRORS=1 meson test --suite=lint`. One exception to this is tests/check-missing-install-tag.py, which is checking a functionally significant feature of our build system, and seems like it is unlikely to have false positives: if that one fails, it is reported as a hard failure. run-style-check-diff.sh and run-check-todos.sh are not currently given this treatment, because they require search-common-ancestor.sh, which uses Gitlab-CI-specific information to find out which commits are in-scope for checking. Signed-off-by: Simon McVittie <smcv@collabora.com>
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