qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [RFC PATCH 0/9] gitlab-ci: Allow forks to skip some build jobs


From: Philippe Mathieu-Daudé
Subject: Re: [RFC PATCH 0/9] gitlab-ci: Allow forks to skip some build jobs
Date: Thu, 5 Nov 2020 08:22:08 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.3.1

On 11/4/20 11:45 PM, Philippe Mathieu-Daudé wrote:
> 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 was a bit too focused on getting the YAML right to not realize
it is simpler to do:

QEMU_JOBS=all          # default, overwritable
QEMU_JOBS=system,fuzz  # only build those jobs
                       # can be set in fork UI config (see [2])
                       # can be set with git-push option (see below)

> 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]