diff mbox series

[v2] drm/ci: fix merge request rules

Message ID 20250227042058.409003-1-vignesh.raman@collabora.com (mailing list archive)
State New
Headers show
Series [v2] drm/ci: fix merge request rules | expand

Commit Message

Vignesh Raman Feb. 27, 2025, 4:20 a.m. UTC
Merge request pipelines were only created when changes
were made to drivers/gpu/drm/ci/, causing MRs that
didn't touch this path to break. Fix MR pipeline rules
to trigger jobs for all changes.

Run jobs automatically for marge-bot and scheduled
pipelines, but in all other cases run manually. Also
remove CI_PROJECT_NAMESPACE checks specific to mesa.

Fixes: df54f04f2020 ("drm/ci: update gitlab rules")
Signed-off-by: Vignesh Raman <vignesh.raman@collabora.com>
---

v2:
  - Run jobs automatically for marge-bot and scheduled
    pipelines, but in all other cases run manually. Also
    remove CI_PROJECT_NAMESPACE checks specific to mesa.

---
 drivers/gpu/drm/ci/gitlab-ci.yml | 21 +++++----------------
 1 file changed, 5 insertions(+), 16 deletions(-)

Comments

Helen Mae Koike Fornazier Feb. 27, 2025, 12:46 p.m. UTC | #1
Em qui., 27 de fev. de 2025 às 01:21, Vignesh Raman
<vignesh.raman@collabora.com> escreveu:
>
> Merge request pipelines were only created when changes
> were made to drivers/gpu/drm/ci/, causing MRs that
> didn't touch this path to break. Fix MR pipeline rules
> to trigger jobs for all changes.
>
> Run jobs automatically for marge-bot and scheduled
> pipelines, but in all other cases run manually. Also
> remove CI_PROJECT_NAMESPACE checks specific to mesa.
>
> Fixes: df54f04f2020 ("drm/ci: update gitlab rules")
> Signed-off-by: Vignesh Raman <vignesh.raman@collabora.com>

Acked-by: Helen Koike <helen.fornazier@gmail.com>

> ---
>
> v2:
>   - Run jobs automatically for marge-bot and scheduled
>     pipelines, but in all other cases run manually. Also
>     remove CI_PROJECT_NAMESPACE checks specific to mesa.
>
> ---
>  drivers/gpu/drm/ci/gitlab-ci.yml | 21 +++++----------------
>  1 file changed, 5 insertions(+), 16 deletions(-)
>
> diff --git a/drivers/gpu/drm/ci/gitlab-ci.yml b/drivers/gpu/drm/ci/gitlab-ci.yml
> index f04aabe8327c..f4e324e156db 100644
> --- a/drivers/gpu/drm/ci/gitlab-ci.yml
> +++ b/drivers/gpu/drm/ci/gitlab-ci.yml
> @@ -143,11 +143,11 @@ stages:
>      # Pre-merge pipeline
>      - if: &is-pre-merge $CI_PIPELINE_SOURCE == "merge_request_event"
>      # Push to a branch on a fork
> -    - if: &is-fork-push $CI_PROJECT_NAMESPACE != "mesa" && $CI_PIPELINE_SOURCE == "push"
> +    - if: &is-fork-push $CI_PIPELINE_SOURCE == "push"
>      # nightly pipeline
>      - if: &is-scheduled-pipeline $CI_PIPELINE_SOURCE == "schedule"
>      # pipeline for direct pushes that bypassed the CI
> -    - if: &is-direct-push $CI_PROJECT_NAMESPACE == "mesa" && $CI_PIPELINE_SOURCE == "push" && $GITLAB_USER_LOGIN != "marge-bot"
> +    - if: &is-direct-push $CI_PIPELINE_SOURCE == "push" && $GITLAB_USER_LOGIN != "marge-bot"
>
>
>  # Rules applied to every job in the pipeline
> @@ -170,26 +170,15 @@ stages:
>      - !reference [.disable-farm-mr-rules, rules]
>      # Never run immediately after merging, as we just ran everything
>      - !reference [.never-post-merge-rules, rules]
> -    # Build everything in merge pipelines, if any files affecting the pipeline
> -    # were changed
> +    # Build everything in merge pipelines
>      - if: *is-merge-attempt
> -      changes: &all_paths
> -      - drivers/gpu/drm/ci/**/*
>        when: on_success
>      # Same as above, but for pre-merge pipelines
>      - if: *is-pre-merge
> -      changes:
> -        *all_paths
> -      when: manual
> -    # Skip everything for pre-merge and merge pipelines which don't change
> -    # anything in the build
> -    - if: *is-merge-attempt
> -      when: never
> -    - if: *is-pre-merge
> -      when: never
> +    - when: manual
>      # Build everything after someone bypassed the CI
>      - if: *is-direct-push
> -      when: on_success
> +    - when: manual
>      # Build everything in scheduled pipelines
>      - if: *is-scheduled-pipeline
>        when: on_success
> --
> 2.47.2
>
Dmitry Baryshkov Feb. 28, 2025, 6:58 a.m. UTC | #2
On Thu, Feb 27, 2025 at 09:50:50AM +0530, Vignesh Raman wrote:
> Merge request pipelines were only created when changes
> were made to drivers/gpu/drm/ci/, causing MRs that
> didn't touch this path to break. Fix MR pipeline rules
> to trigger jobs for all changes.
> 
> Run jobs automatically for marge-bot and scheduled
> pipelines, but in all other cases run manually. Also
> remove CI_PROJECT_NAMESPACE checks specific to mesa.
> 
> Fixes: df54f04f2020 ("drm/ci: update gitlab rules")
> Signed-off-by: Vignesh Raman <vignesh.raman@collabora.com>
> ---
> 
> v2:
>   - Run jobs automatically for marge-bot and scheduled
>     pipelines, but in all other cases run manually. Also
>     remove CI_PROJECT_NAMESPACE checks specific to mesa.
> 
> ---
>  drivers/gpu/drm/ci/gitlab-ci.yml | 21 +++++----------------
>  1 file changed, 5 insertions(+), 16 deletions(-)
> 
> diff --git a/drivers/gpu/drm/ci/gitlab-ci.yml b/drivers/gpu/drm/ci/gitlab-ci.yml
> index f04aabe8327c..f4e324e156db 100644
> --- a/drivers/gpu/drm/ci/gitlab-ci.yml
> +++ b/drivers/gpu/drm/ci/gitlab-ci.yml
> @@ -143,11 +143,11 @@ stages:
>      # Pre-merge pipeline
>      - if: &is-pre-merge $CI_PIPELINE_SOURCE == "merge_request_event"
>      # Push to a branch on a fork
> -    - if: &is-fork-push $CI_PROJECT_NAMESPACE != "mesa" && $CI_PIPELINE_SOURCE == "push"
> +    - if: &is-fork-push $CI_PIPELINE_SOURCE == "push"
>      # nightly pipeline
>      - if: &is-scheduled-pipeline $CI_PIPELINE_SOURCE == "schedule"
>      # pipeline for direct pushes that bypassed the CI
> -    - if: &is-direct-push $CI_PROJECT_NAMESPACE == "mesa" && $CI_PIPELINE_SOURCE == "push" && $GITLAB_USER_LOGIN != "marge-bot"
> +    - if: &is-direct-push $CI_PIPELINE_SOURCE == "push" && $GITLAB_USER_LOGIN != "marge-bot"
>  
>  
>  # Rules applied to every job in the pipeline
> @@ -170,26 +170,15 @@ stages:
>      - !reference [.disable-farm-mr-rules, rules]
>      # Never run immediately after merging, as we just ran everything
>      - !reference [.never-post-merge-rules, rules]
> -    # Build everything in merge pipelines, if any files affecting the pipeline
> -    # were changed
> +    # Build everything in merge pipelines
>      - if: *is-merge-attempt
> -      changes: &all_paths
> -      - drivers/gpu/drm/ci/**/*
>        when: on_success
>      # Same as above, but for pre-merge pipelines
>      - if: *is-pre-merge
> -      changes:
> -        *all_paths
> -      when: manual
> -    # Skip everything for pre-merge and merge pipelines which don't change
> -    # anything in the build
> -    - if: *is-merge-attempt
> -      when: never
> -    - if: *is-pre-merge
> -      when: never
> +    - when: manual

I believe there should be no dash on this line

>      # Build everything after someone bypassed the CI
>      - if: *is-direct-push
> -      when: on_success
> +    - when: manual

And on this line too.

>      # Build everything in scheduled pipelines
>      - if: *is-scheduled-pipeline
>        when: on_success
> -- 
> 2.47.2
>
Vignesh Raman Feb. 28, 2025, 12:38 p.m. UTC | #3
Hi Dmitry,

On 28/02/25 12:28, Dmitry Baryshkov wrote:
> On Thu, Feb 27, 2025 at 09:50:50AM +0530, Vignesh Raman wrote:
>> Merge request pipelines were only created when changes
>> were made to drivers/gpu/drm/ci/, causing MRs that
>> didn't touch this path to break. Fix MR pipeline rules
>> to trigger jobs for all changes.
>>
>> Run jobs automatically for marge-bot and scheduled
>> pipelines, but in all other cases run manually. Also
>> remove CI_PROJECT_NAMESPACE checks specific to mesa.
>>
>> Fixes: df54f04f2020 ("drm/ci: update gitlab rules")
>> Signed-off-by: Vignesh Raman <vignesh.raman@collabora.com>
>> ---
>>
>> v2:
>>    - Run jobs automatically for marge-bot and scheduled
>>      pipelines, but in all other cases run manually. Also
>>      remove CI_PROJECT_NAMESPACE checks specific to mesa.
>>
>> ---
>>   drivers/gpu/drm/ci/gitlab-ci.yml | 21 +++++----------------
>>   1 file changed, 5 insertions(+), 16 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/ci/gitlab-ci.yml b/drivers/gpu/drm/ci/gitlab-ci.yml
>> index f04aabe8327c..f4e324e156db 100644
>> --- a/drivers/gpu/drm/ci/gitlab-ci.yml
>> +++ b/drivers/gpu/drm/ci/gitlab-ci.yml
>> @@ -143,11 +143,11 @@ stages:
>>       # Pre-merge pipeline
>>       - if: &is-pre-merge $CI_PIPELINE_SOURCE == "merge_request_event"
>>       # Push to a branch on a fork
>> -    - if: &is-fork-push $CI_PROJECT_NAMESPACE != "mesa" && $CI_PIPELINE_SOURCE == "push"
>> +    - if: &is-fork-push $CI_PIPELINE_SOURCE == "push"
>>       # nightly pipeline
>>       - if: &is-scheduled-pipeline $CI_PIPELINE_SOURCE == "schedule"
>>       # pipeline for direct pushes that bypassed the CI
>> -    - if: &is-direct-push $CI_PROJECT_NAMESPACE == "mesa" && $CI_PIPELINE_SOURCE == "push" && $GITLAB_USER_LOGIN != "marge-bot"
>> +    - if: &is-direct-push $CI_PIPELINE_SOURCE == "push" && $GITLAB_USER_LOGIN != "marge-bot"
>>   
>>   
>>   # Rules applied to every job in the pipeline
>> @@ -170,26 +170,15 @@ stages:
>>       - !reference [.disable-farm-mr-rules, rules]
>>       # Never run immediately after merging, as we just ran everything
>>       - !reference [.never-post-merge-rules, rules]
>> -    # Build everything in merge pipelines, if any files affecting the pipeline
>> -    # were changed
>> +    # Build everything in merge pipelines
>>       - if: *is-merge-attempt
>> -      changes: &all_paths
>> -      - drivers/gpu/drm/ci/**/*
>>         when: on_success
>>       # Same as above, but for pre-merge pipelines
>>       - if: *is-pre-merge
>> -      changes:
>> -        *all_paths
>> -      when: manual
>> -    # Skip everything for pre-merge and merge pipelines which don't change
>> -    # anything in the build
>> -    - if: *is-merge-attempt
>> -      when: never
>> -    - if: *is-pre-merge
>> -      when: never
>> +    - when: manual
> 
> I believe there should be no dash on this line
> 
>>       # Build everything after someone bypassed the CI
>>       - if: *is-direct-push
>> -      when: on_success
>> +    - when: manual
> 
> And on this line too.

Thanks for spotting this. Will fix and send v3.

Regards,
Vignesh

> 
>>       # Build everything in scheduled pipelines
>>       - if: *is-scheduled-pipeline
>>         when: on_success
>> -- 
>> 2.47.2
>>
>
diff mbox series

Patch

diff --git a/drivers/gpu/drm/ci/gitlab-ci.yml b/drivers/gpu/drm/ci/gitlab-ci.yml
index f04aabe8327c..f4e324e156db 100644
--- a/drivers/gpu/drm/ci/gitlab-ci.yml
+++ b/drivers/gpu/drm/ci/gitlab-ci.yml
@@ -143,11 +143,11 @@  stages:
     # Pre-merge pipeline
     - if: &is-pre-merge $CI_PIPELINE_SOURCE == "merge_request_event"
     # Push to a branch on a fork
-    - if: &is-fork-push $CI_PROJECT_NAMESPACE != "mesa" && $CI_PIPELINE_SOURCE == "push"
+    - if: &is-fork-push $CI_PIPELINE_SOURCE == "push"
     # nightly pipeline
     - if: &is-scheduled-pipeline $CI_PIPELINE_SOURCE == "schedule"
     # pipeline for direct pushes that bypassed the CI
-    - if: &is-direct-push $CI_PROJECT_NAMESPACE == "mesa" && $CI_PIPELINE_SOURCE == "push" && $GITLAB_USER_LOGIN != "marge-bot"
+    - if: &is-direct-push $CI_PIPELINE_SOURCE == "push" && $GITLAB_USER_LOGIN != "marge-bot"
 
 
 # Rules applied to every job in the pipeline
@@ -170,26 +170,15 @@  stages:
     - !reference [.disable-farm-mr-rules, rules]
     # Never run immediately after merging, as we just ran everything
     - !reference [.never-post-merge-rules, rules]
-    # Build everything in merge pipelines, if any files affecting the pipeline
-    # were changed
+    # Build everything in merge pipelines
     - if: *is-merge-attempt
-      changes: &all_paths
-      - drivers/gpu/drm/ci/**/*
       when: on_success
     # Same as above, but for pre-merge pipelines
     - if: *is-pre-merge
-      changes:
-        *all_paths
-      when: manual
-    # Skip everything for pre-merge and merge pipelines which don't change
-    # anything in the build
-    - if: *is-merge-attempt
-      when: never
-    - if: *is-pre-merge
-      when: never
+    - when: manual
     # Build everything after someone bypassed the CI
     - if: *is-direct-push
-      when: on_success
+    - when: manual
     # Build everything in scheduled pipelines
     - if: *is-scheduled-pipeline
       when: on_success