4. Gitlab CI

  1. Each repository should have a Gitlab CI configuration. For software where we’re upstream it should be stored in ./.gitlab-ci.yml in the git repository. This configuration must at least build the artifacts (binaries, documentation) and should run the unit tests that don’t require any special setup.
  2. The CI pipeline of each repository should be green since everything else drives possible contributors away and makes it harder for contributors to evaluate the impact their changes. Temporary breackage will happen but it should not be the norm.
  3. The CI pipeline should produce artifacts for easy consumption. A Debian package is a must for system components. Applications should produce a flatpak.
  4. The CI should run against multiple platforms. E.g. prepare for the future by building/testing against Debian testing as well.