Hi, 2 months ago GitLab added time limit to their free CI offer [1]. This series provide developers with the possibility to not run all jobs. By default all jobs are started, but we can disable a subset of them.
I think this should be the other way around (enable features one wants to test, with a default to the "all" keyword), but I didn't want to disrupt the current workflow. I'm not sure supporting both ("SKIP_BUILD=3Dall INCLUDE_BUILD=3Dsystem") options is easy to implement, or to maintain (unlikely). In the next iteration I'll add the possibility to use a project- wide environment variable [2] to set the default set of enabled / disabled features a fork is interested in. User will still be able to overload using git-push on the command line. A friendly way to use this feature is with git aliases [3]: $ git config alias.pushci_system \ 'push -o ci.variable=3D"SKIP_BUILD=3Duser"' $ git config alias.pushci_debian \ 'push -o ci.variable=3D"SKIP_BUILD=3Dcentos,fedora,ubuntu"' Then you can run the jobs based on Debian images (only) using: $ git pushci_debian gitlab_repo my_branch_for_debian Or run all system-mode emulation jobs only using: $ git pushci_system my_gitlab_repo branch_with_system_feature Comments welcomed! Regards, Phil. [1] https://about.gitlab.com/releases/2020/09/01/ci-minutes-update-free-users/ [2] https://docs.gitlab.com/ee/ci/variables/README.html#create-a-custom-varia= ble-in-the-ui [3] https://docs.gitlab.com/ee/user/project/push_options.html#useful-git-alia= ses Philippe Mathieu-Daud=C3=A9 (9): gitlab-ci: Replace YAML anchors by extends (cross_system_build_job) gitlab-ci: Replace YAML anchors by extends (native_build_job) gitlab-ci: Replace YAML anchors by extends (native_test_job) gitlab-ci: Replace YAML anchors by extends (acceptance_test_job) gitlab-ci: Rename acceptance_test_job -> integration_test_job gitlab-ci: Extract common job definition as 'cross_common_job' gitlab-ci: Extract common job definition as 'native_common_job' gitlab-ci: Add rules to skip building cross-jobs gitlab-ci: Add rules to skip building/testing native jobs .gitlab-ci.d/crossbuilds.yml | 57 +++++++++++-------- .gitlab-ci.yml | 104 +++++++++++++++++++++-------------- 2 files changed, 98 insertions(+), 63 deletions(-) --=20 2.26.2