[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [RFC PATCH 14/15] gitlab-ci: Allow forks to use different set of job
From: |
Philippe Mathieu-Daudé |
Subject: |
Re: [RFC PATCH 14/15] gitlab-ci: Allow forks to use different set of jobs |
Date: |
Mon, 19 Apr 2021 18:46:49 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.8.1 |
On 4/19/21 6:22 PM, Daniel P. Berrangé wrote:
> On Mon, Apr 19, 2021 at 04:57:55PM +0100, Alex Bennée wrote:
>>
>> Philippe Mathieu-Daudé <f4bug@amsat.org> writes:
>>
>>> Forks run the same jobs than mainstream, which might be overkill.
>>> Allow them to easily rebase their custom set, while keeping using
>>> the mainstream templates, and ability to pick specific jobs from
>>> the mainstream set.
>>>
>>> To switch to your set, simply add your .gitlab-ci.yml as
>>> .gitlab-ci.d/${CI_PROJECT_NAMESPACE}.yml (where CI_PROJECT_NAMESPACE
>>> is your gitlab 'namespace', usually username). This file will be
>>> used instead of the default mainstream set.
>>>
>>> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
>>> ---
>>> .gitlab-ci.yml | 7 ++++++-
>>> 1 file changed, 6 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
>>> index 718c8e004be..35fd35075db 100644
>>> --- a/.gitlab-ci.yml
>>> +++ b/.gitlab-ci.yml
>>> @@ -9,7 +9,12 @@ generate-config:
>>> paths:
>>> - generated-config.yml
>>> script:
>>> - - cp .gitlab-ci.d/qemu-project.yml generated-config.yml
>>> + - if test -e .gitlab-ci.d/${CI_PROJECT_NAMESPACE}.yml ;
>>> + then
>>> + cp .gitlab-ci.d/${CI_PROJECT_NAMESPACE}.yml generated-config.yml ;
>>> + else
>>> + cp .gitlab-ci.d/qemu-project.yml generated-config.yml ;
>>> + fi
>>
>> This is going to be a little clunky. I can see a use for the static
>> forks that Danial proposes but I guess what is needed is a little
>> expressiveness. So how to express things like:
>>
>> - I've only touched stuff in linux-user, so run only linux-user tests
>
> This can be done with "rules" matching on files, but *only* if the
> pipeline trigger is a merge request - specifically not a git branch
> push, as the latter doesn't have the semantics you expect wrt
> determining the "ancestor" to compare against. It only looks at commits
> in the push, not those which may already have previously been pushed
> on the branch.
>
>> - I'm working on KVM, run all KVM enabled builds and tests
>>
>> - I've changed the core TCG code, run everything that exercises that
>>
>> - I'm working on ARM, only build and run jobs that have ARM targets
>
> If the stuff you work on is fairly static, we could potentially
> allow env variables to be set by the user in their fork, which
> the CI jobs use to filter jobs.
>
>> I think we should define a minimum set of lightweight smoke tests that
>> get the most bang for buck for catching sillies. I think checkpatch and
>> dco checking should probably be in there - and maybe one of the bog
>> standard build everything builds (maybe a random ../configure; make;
>> make check on one of the supported LTS targets).
>
> Could we have allow an env var "QEMU_CI_SMOKE_TEST=1" which can be
> set when pushing:
>
> git push -o ci.variable="QEMU_CI_SMOKE_TEST=1"
>
>
> which causes it to only do the minimum neccessary.
>
> Alternatively, invert this, so do minimum smoke test by default
> and require an env to run the full test. QEMU_CI_MAX=1
>
> Potentially allow also "QEMU_CI_EXTRA_JOBS=foo,bar,wizz"
> to match against job jnames ?
Is that what you mean?
https://www.mail-archive.com/qemu-devel@nongnu.org/msg758340.html
(cover https://www.mail-archive.com/qemu-devel@nongnu.org/msg758331.html)
>> Then there is the question of defaults. Should we default to a minimised
>> set unless asked or should the default be the full fat run everything?
>
> With the direction gitlab is taking towards limiting CI minuts, it is
> probably a safer bet to do a minimal smoke test by default and only
> do the full test when definitely needed.
Yes please.
- Re: [RFC PATCH 14/15] gitlab-ci: Allow forks to use different set of jobs, (continued)
- Re: [RFC PATCH 14/15] gitlab-ci: Allow forks to use different set of jobs, Erik Skultety, 2021/04/19
- Re: [RFC PATCH 14/15] gitlab-ci: Allow forks to use different set of jobs, Thomas Huth, 2021/04/19
- Re: [RFC PATCH 14/15] gitlab-ci: Allow forks to use different set of jobs, Daniel P . Berrangé, 2021/04/19
- Re: [RFC PATCH 14/15] gitlab-ci: Allow forks to use different set of jobs, Thomas Huth, 2021/04/19
- Re: [RFC PATCH 14/15] gitlab-ci: Allow forks to use different set of jobs, Daniel P . Berrangé, 2021/04/19
- Re: [RFC PATCH 14/15] gitlab-ci: Allow forks to use different set of jobs, Thomas Huth, 2021/04/19
- Re: [RFC PATCH 14/15] gitlab-ci: Allow forks to use different set of jobs, Daniel P . Berrangé, 2021/04/19
- Re: [RFC PATCH 14/15] gitlab-ci: Allow forks to use different set of jobs, Philippe Mathieu-Daudé, 2021/04/19
Re: [RFC PATCH 14/15] gitlab-ci: Allow forks to use different set of jobs, Alex Bennée, 2021/04/19
Re: [RFC PATCH 14/15] gitlab-ci: Allow forks to use different set of jobs, Philippe Mathieu-Daudé, 2021/04/19
[NOTFORMERGE PATCH 15/15] gitlab-ci: Use my own set of jobs for CI pipeline, Philippe Mathieu-Daudé, 2021/04/18