[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[RFC PATCH 0/9] gitlab-ci: Allow forks to skip some build jobs
From: |
Philippe Mathieu-Daudé |
Subject: |
[RFC PATCH 0/9] gitlab-ci: Allow forks to skip some build jobs |
Date: |
Wed, 4 Nov 2020 23:45:49 +0100 |
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
- [RFC PATCH 0/9] gitlab-ci: Allow forks to skip some build jobs,
Philippe Mathieu-Daudé <=
- [RFC PATCH 1/9] gitlab-ci: Replace YAML anchors by extends (cross_system_build_job), Philippe Mathieu-Daudé, 2020/11/04
- [RFC PATCH 2/9] gitlab-ci: Replace YAML anchors by extends (native_build_job), Philippe Mathieu-Daudé, 2020/11/04
- [RFC PATCH 3/9] gitlab-ci: Replace YAML anchors by extends (native_test_job), Philippe Mathieu-Daudé, 2020/11/04
- [RFC PATCH 4/9] gitlab-ci: Replace YAML anchors by extends (acceptance_test_job), Philippe Mathieu-Daudé, 2020/11/04
- [RFC PATCH 5/9] gitlab-ci: Rename acceptance_test_job -> integration_test_job, Philippe Mathieu-Daudé, 2020/11/04
- [RFC PATCH 6/9] gitlab-ci: Extract common job definition as 'cross_common_job', Philippe Mathieu-Daudé, 2020/11/04
- [RFC PATCH 8/9] gitlab-ci: Add rules to skip building cross-jobs, Philippe Mathieu-Daudé, 2020/11/04
- [RFC PATCH 9/9] gitlab-ci: Add rules to skip building/testing native jobs, Philippe Mathieu-Daudé, 2020/11/04
- [RFC PATCH 7/9] gitlab-ci: Extract common job definition as 'native_common_job', Philippe Mathieu-Daudé, 2020/11/04
- Re: [RFC PATCH 0/9] gitlab-ci: Allow forks to skip some build jobs, Philippe Mathieu-Daudé, 2020/11/05