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.
bear makemeant that
bear makewould 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.