Skip to content

CI Guidelines

Sandro Elsweijer edited this page May 11, 2026 · 6 revisions

This article consists of a set of tips and guides for the development of the t8code CI. If you encounter anything relevant for other devs or your future self, do not hesitate to add it to this article.

Installing software in the CI (all apt commands)

Some of our CI scripts run inside a docker container. This has the advantage, that we already have pre-installed packages and that we can control the environment. This means, that we avoid calling apt inside the CI. This not only speeds up the CI, but also makes us less prone to slow Ubuntu update servers. Every new software and every update can be installed in the appropriate docker image: https://github.com/DLR-AMR/t8code-docker-images

Git and Docker images

For some reason using a Docker container inside a GH workflow leads to the effect, that every git command throws an error. This can be fixed by disabling the global ownership checks from git: git config --global --add safe.directory '*'. Otherwise each workflow involving a git command will fail. t8code scripts and a t8code install automatically call git commands to determine the t8code version or repository path.

This can somehow not be offloaded to the Dockerfile of the containers.

Clone this wiki locally