On 9/15/21 10:29 AM, Daniel P. Berrangé wrote:
> On Tue, Sep 14, 2021 at 08:17:19PM +0100, Peter Maydell wrote:
>> On Mon, 13 Sept 2021 at 11:19, Peter Maydell <[email protected]>
>> wrote:
>>>
>>> Currently we define a lot of jobs for our custom runners:
>>> for both aarch64 and s390x we have
>>> - all-linux-static
>>> - all
>>> - alldbg
>>> - clang (manual)
>>> - tci
>>> - notcg (manual)
>>>
>>> This is overkill. The main reason to run on these hosts is to get
>>> coverage for the host architecture; we can leave the handling of
>>> differences like debug vs non-debug to the x86 CI jobs.
>>>
>>> The jobs are also generally running OK; they occasionally fail due to
>>> timeouts, which is likely because we're overloading the machine by
>>> asking it to run 4 CI jobs at once plus the ad-hoc CI.
>>>
>>> Remove the 'allow_failure' tag from all these jobs, and switch the
>>> s390x-alldbg, aarch64-all, s390x-tci and aarch64-tci jobs to manual.
>>> This will let us make the switch for s390x and aarch64 hosts from
>>> the ad-hoc CI to gitlab.
>>>
>>> Signed-off-by: Peter Maydell <[email protected]>
>>
>> It looks like this change has resulted in pipelines ending
>> up in a "blocked" state:
>>
>> https://gitlab.com/qemu-project/qemu/-/pipelines
>>
>> I'm not sure why this is -- is it perhaps because there were
>> other jobs that depended on the now-manual-only jobs ?
>> Can somebody suggest a fix ?
>
> Urgh, my bad, I completely forget this behaviour when reviewing.
> When we only have
>
> when: manual
>
> then the job has to be manually started, and it still contributes
> to pipeline status, so it /must/ triggered manually.
>
> If we want it to be manually started and not contribute to the
> pipeline status we need:
>
> rules:
> ...
> when: manual
> allow_failure: true
Reminds me of the following commits:
- d3a4e41da25 ("gitlab-ci: Fix 'when:' condition in acceptance...")
- 59e8b62b220 ("gitlab-ci: Fix 'when:' condition in EDK2 jobs")
- c217fd8e36a ("gitlab-ci: Fix 'when:' condition in OpenSBI jobs")