Daniel P. Berrangé <[email protected]> writes:

> On Thu, Nov 13, 2025 at 10:25:22AM +0000, Alex Bennée wrote:
>> In addition to not being triggered by schedule we should follow the
>> same rules about QEMU_CI. One day we may figure out how to fold the
>> custom runner rules into the .base_job_template but today is not that
>> day.
>> 
>> Signed-off-by: Alex Bennée <[email protected]>
>> ---
>>  .gitlab-ci.d/custom-runners/debian-13-ppc64le.yml    | 2 +-
>>  .gitlab-ci.d/custom-runners/ubuntu-24.04-aarch64.yml | 2 +-
>>  .gitlab-ci.d/custom-runners/ubuntu-24.04-s390x.yml   | 2 +-
>>  3 files changed, 3 insertions(+), 3 deletions(-)
>> 
>> diff --git a/.gitlab-ci.d/custom-runners/debian-13-ppc64le.yml 
>> b/.gitlab-ci.d/custom-runners/debian-13-ppc64le.yml
>> index 6492d013de8..be73c14b95e 100644
>> --- a/.gitlab-ci.d/custom-runners/debian-13-ppc64le.yml
>> +++ b/.gitlab-ci.d/custom-runners/debian-13-ppc64le.yml
>> @@ -11,7 +11,7 @@
>>      - ppc64le
>>    rules:
>>      - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ 
>> /^staging/'
>> -    - if: '$PPC64LE_RUNNER_AVAILABLE && $CI_PIPELINE_SOURCE != "schedule"'
>> +    - if: '$PPC64LE_RUNNER_AVAILABLE && $CI_PIPELINE_SOURCE != "schedule" 
>> && $QEMU_CI'
>>    before_script:
>>      - source scripts/ci/gitlab-ci-section
>>      - section_start setup "Pre-script setup"
>> diff --git a/.gitlab-ci.d/custom-runners/ubuntu-24.04-aarch64.yml 
>> b/.gitlab-ci.d/custom-runners/ubuntu-24.04-aarch64.yml
>> index c8adb8171c0..7a30a18d0bc 100644
>> --- a/.gitlab-ci.d/custom-runners/ubuntu-24.04-aarch64.yml
>> +++ b/.gitlab-ci.d/custom-runners/ubuntu-24.04-aarch64.yml
>> @@ -11,7 +11,7 @@
>>      - aarch64
>>    rules:
>>      - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ 
>> /^staging/'
>> -    - if: '$AARCH64_RUNNER_AVAILABLE && $CI_PIPELINE_SOURCE != "schedule"'
>> +    - if: '$AARCH64_RUNNER_AVAILABLE && $CI_PIPELINE_SOURCE != "schedule" 
>> && $QEMU_CI'
>>    before_script:
>>      - source scripts/ci/gitlab-ci-section
>>      - section_start setup "Pre-script setup"
>> diff --git a/.gitlab-ci.d/custom-runners/ubuntu-24.04-s390x.yml 
>> b/.gitlab-ci.d/custom-runners/ubuntu-24.04-s390x.yml
>> index fcb49ae884d..c30816a806e 100644
>> --- a/.gitlab-ci.d/custom-runners/ubuntu-24.04-s390x.yml
>> +++ b/.gitlab-ci.d/custom-runners/ubuntu-24.04-s390x.yml
>> @@ -11,7 +11,7 @@
>>      - s390x
>>    rules:
>>      - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ 
>> /^staging/'
>
> As a separate commit this should be changed to
>
>    - if: '$CI_PROJECT_NAMESPACE == $QEMU_CI_UPSTREAM && $CI_COMMIT_BRANCH =~ 
> /^staging/'
>
> $QEMU_CI_UPSTREAM defaults to 'qemu-project' but devs can override it
> to point to their own repo, in order to test operation as if it were
> in upstream.

I'll wrap this in into the template clean-up as that also cleans up
other bits.

>
>> -    - if: '$S390X_RUNNER_AVAILABLE && $CI_PIPELINE_SOURCE != "schedule"'
>> +    - if: '$S390X_RUNNER_AVAILABLE && $CI_PIPELINE_SOURCE != "schedule" && 
>> $QEMU_CI'
>>    before_script:
>>      - source scripts/ci/gitlab-ci-section
>>      - section_start setup "Pre-script setup"
>
> This means the job will never get run by default in upstream context
> unless QEMU_CI is set. This is different from base.yml where in upstream
> context, jobs all run by default.
>
> ie in upstream we implicitly have QEMU_CI==2 by default, while in
> forks we implicitly have QEMU_CI==0 / unset.
>
> To get this matching better requires:
>
>  rules:
>    - if: '$CI_PROJECT_NAMESPACE == $QEMU_CI_UPSTREAM && $CI_COMMIT_BRANCH =~ 
> /^staging/'
>    - if: '$QEMU_CI != "1" && $QEMU_CI != "2" && $CI_PROJECT_NAMESPACE != 
> $QEMU_CI_UPSTREAM'
>      when: never
>    - if: '$S390X_RUNNER_AVAILABLE && $CI_PIPELINE_SOURCE != "schedule" && 
> $QEMU_CI == "1"'
>      when: manual
>    - if: '$S390X_RUNNER_AVAILABLE && $CI_PIPELINE_SOURCE != "schedule"'
>
>
> With regards,
> Daniel

-- 
Alex Bennée
Virtualisation Tech Lead @ Linaro

Reply via email to