qemu-devel
[Top][All Lists]
Advanced

[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





reply via email to

[Prev in Thread] Current Thread [Next in Thread]