Skip to content

Improve GitLab CI configuration

Ondřej Surý requested to merge 4-gitlab-ci.yml-improvement into master

There are two major changes to the GitLab CI configuration:

  • All jobs now use solely the newer needs configuration to declare dependencies between jobs:

    needs: - job: artifacts: true

    instead of combination of dependencies and needs which is deprecated. This change completely unbundles the stages (alas the stages still needs to stay because the job graph has to stay acyclic between the stages).

  • The environment variable MAKE has been replaced with MAKE_COMMAND, because overriding MAKE variable also changed the definition of the MAKE inside the Makefiles, and we want only a single wrapper around the whole build process.

    Previously, setting MAKE to bear make meant that bear make would be run at every nested make invocation, which messed up the upcoming automake transition as compile_commands.json would be generated in every subdirectory instead of just having one central file at the top of the build tree.

  • As a minor nit, all *:sid:amd64 jobs were copied to *:sid:arm64 including the extra cppcheck run, and this commit removes the extra jobs on arm64.

Edited by Ondřej Surý

Merge request reports