ci/farms: always compare the code against main repository

`rules:changes:compare_to` resolved firstly pushed branch pipelines,
which always evaluated `rules:changes` as true which breaks the workflow

Since we now explicitely say, that we compare against `main` repository,
GitLab can evaluate against real changes.

Fixes: 79f7882fc6 ("ci: add quirk for GitLab assuming changes is always true for scheduled runs")

Reviewed-by: Eric Engestrom <eric@igalia.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24305>
This commit is contained in:
David Heidelberg
2023-07-24 18:27:02 +02:00
parent 50c29e1ffa
commit 7b29ae557a
2 changed files with 89 additions and 27 deletions

View File

@@ -2,10 +2,14 @@
rules:
- exists: [ .ci-farms-disabled/microsoft ] # 1. Is disabled, never run
when: never
- changes: [ .ci-farms-disabled/microsoft ] # 2. Removed from disabled, run
- changes:
paths: [ .ci-farms-disabled/microsoft ] # 2. Removed from disabled, run
compare_to: main
if: '$CI_PIPELINE_SOURCE != "schedule"'
when: on_success
- changes: [ .ci-farms-disabled/* ] # 3. We touched other farms in MR, do not run
- changes:
paths: [ .ci-farms-disabled/* ] # 3. We touched other farms in MR, do not run
compare_to: main
if: '$CI_PIPELINE_SOURCE != "schedule"'
when: never
# 4. Fall-through (other rules or on_success)
@@ -16,7 +20,9 @@
# pipeline were changed
- exists: [ .ci-farms-disabled/microsoft ]
when: never
- changes: [ .ci-farms-disabled/microsoft ]
- changes:
paths: [ .ci-farms-disabled/microsoft ]
compare_to: main
if: '$CI_PIPELINE_SOURCE != "schedule"'
when: never
- !reference [.microsoft-farm-rules, rules]
@@ -27,7 +33,9 @@
# pipeline were changed
- exists: [ .ci-farms-disabled/microsoft ]
when: never
- changes: [ .ci-farms-disabled/microsoft ]
- changes:
paths: [ .ci-farms-disabled/microsoft ]
compare_to: main
if: '$CI_PIPELINE_SOURCE != "schedule"'
when: on_success
- !reference [.microsoft-farm-rules, rules]
@@ -39,10 +47,14 @@
exists: [ .ci-farms-disabled/collabora ]
when: never
- if: '$RUNNER_TAG =~ /^mesa-ci-x86-64-lava-/ && $CI_PIPELINE_SOURCE != "schedule"'
changes: [ .ci-farms-disabled/collabora ]
changes:
paths: [ .ci-farms-disabled/collabora ]
compare_to: main
when: on_success
- if: '$RUNNER_TAG =~ /^mesa-ci-x86-64-lava-/ && $CI_PIPELINE_SOURCE != "schedule"'
changes: [ .ci-farms-disabled/* ]
changes:
paths: [ .ci-farms-disabled/* ]
compare_to: main
when: never
.collabora-farm-manual-rules:
@@ -51,7 +63,9 @@
exists: [ .ci-farms-disabled/collabora ]
when: never
- if: '$RUNNER_TAG =~ /^mesa-ci-x86-64-lava-/ && $CI_PIPELINE_SOURCE != "schedule"'
changes: [ .ci-farms-disabled/collabora ]
changes:
paths: [ .ci-farms-disabled/collabora ]
compare_to: main
when: never
- !reference [.collabora-farm-rules, rules]
@@ -60,10 +74,14 @@
rules:
- exists: [ .ci-farms-disabled/igalia ]
when: never
- changes: [ .ci-farms-disabled/igalia ]
- changes:
paths: [ .ci-farms-disabled/igalia ]
compare_to: main
if: '$CI_PIPELINE_SOURCE != "schedule"'
when: on_success
- changes: [ .ci-farms-disabled/* ]
- changes:
paths: [ .ci-farms-disabled/* ]
compare_to: main
if: '$CI_PIPELINE_SOURCE != "schedule"'
when: never
@@ -71,7 +89,9 @@
rules:
- exists: [ .ci-farms-disabled/igalia ]
when: never
- changes: [ .ci-farms-disabled/igalia ]
- changes:
paths: [ .ci-farms-disabled/igalia ]
compare_to: main
if: '$CI_PIPELINE_SOURCE != "schedule"'
when: never
- !reference [.igalia-farm-rules, rules]
@@ -81,10 +101,14 @@
rules:
- exists: [ .ci-farms-disabled/lima ]
when: never
- changes: [ .ci-farms-disabled/lima ]
- changes:
paths: [ .ci-farms-disabled/lima ]
compare_to: main
if: '$CI_PIPELINE_SOURCE != "schedule"'
when: on_success
- changes: [ .ci-farms-disabled/* ]
- changes:
paths: [ .ci-farms-disabled/* ]
compare_to: main
if: '$CI_PIPELINE_SOURCE != "schedule"'
when: never
@@ -92,7 +116,9 @@
rules:
- exists: [ .ci-farms-disabled/lima ]
when: never
- changes: [ .ci-farms-disabled/lima ]
- changes:
paths: [ .ci-farms-disabled/lima ]
compare_to: main
if: '$CI_PIPELINE_SOURCE != "schedule"'
when: never
- !reference [.lima-farm-rules, rules]
@@ -102,10 +128,14 @@
rules:
- exists: [ .ci-farms-disabled/anholt ]
when: never
- changes: [ .ci-farms-disabled/anholt ]
- changes:
paths: [ .ci-farms-disabled/anholt ]
compare_to: main
if: '$CI_PIPELINE_SOURCE != "schedule"'
when: on_success
- changes: [ .ci-farms-disabled/* ]
- changes:
paths: [ .ci-farms-disabled/* ]
compare_to: main
if: '$CI_PIPELINE_SOURCE != "schedule"'
when: never
@@ -113,7 +143,9 @@
rules:
- exists: [ .ci-farms-disabled/anholt ]
when: never
- changes: [ .ci-farms-disabled/anholt ]
- changes:
paths: [ .ci-farms-disabled/anholt ]
compare_to: main
if: '$CI_PIPELINE_SOURCE != "schedule"'
when: never
- !reference [.anholt-farm-rules, rules]
@@ -127,13 +159,19 @@
- exists: [ .ci-farms-disabled/valve-kws ]
if: '$RUNNER_FARM_LOCATION == "keywords"'
when: never
- changes: [ .ci-farms-disabled/valve-mupuf ]
- changes:
paths: [ .ci-farms-disabled/valve-mupuf ]
compare_to: main
if: '$RUNNER_FARM_LOCATION == "mupuf" && $CI_PIPELINE_SOURCE != "schedule"'
when: on_success
- changes: [ .ci-farms-disabled/valve-kws ]
- changes:
paths: [ .ci-farms-disabled/valve-kws ]
compare_to: main
if: '$RUNNER_FARM_LOCATION == "keywords" && $CI_PIPELINE_SOURCE != "schedule"'
when: on_success
- changes: [ .ci-farms-disabled/* ]
- changes:
paths: [ .ci-farms-disabled/* ]
compare_to: main
when: never
.valve-farm-manual-rules:
@@ -144,10 +182,14 @@
- exists: [ .ci-farms-disabled/valve-kws ]
if: '$RUNNER_FARM_LOCATION == "keywords"'
when: never
- changes: [ .ci-farms-disabled/valve-mupuf ]
- changes:
paths: [ .ci-farms-disabled/valve-mupuf ]
compare_to: main
if: '$RUNNER_FARM_LOCATION == "mupuf" && $CI_PIPELINE_SOURCE != "schedule"'
when: never
- changes: [ .ci-farms-disabled/valve-kws ]
- changes:
paths: [ .ci-farms-disabled/valve-kws ]
compare_to: main
if: '$RUNNER_FARM_LOCATION == "keywords" && $CI_PIPELINE_SOURCE != "schedule"'
when: never
- !reference [.valve-farm-rules, rules]
@@ -157,10 +199,14 @@
rules:
- exists: [ .ci-farms-disabled/austriancoder ]
when: never
- changes: [ .ci-farms-disabled/austriancoder ]
- changes:
paths: [ .ci-farms-disabled/austriancoder ]
compare_to: main
if: '$CI_PIPELINE_SOURCE != "schedule"'
when: on_success
- changes: [ .ci-farms-disabled/* ]
- changes:
paths: [ .ci-farms-disabled/* ]
compare_to: main
if: '$CI_PIPELINE_SOURCE != "schedule"'
when: never
@@ -168,7 +214,9 @@
rules:
- exists: [ .ci-farms-disabled/austriancoder ]
when: never
- changes: [ .ci-farms-disabled/austriancoder ]
- changes:
paths: [ .ci-farms-disabled/austriancoder ]
compare_to: main
if: '$CI_PIPELINE_SOURCE != "schedule"'
when: never
- !reference [.austriancoder-farm-rules, rules]
@@ -178,10 +226,14 @@
rules:
- exists: [ .ci-farms-disabled/freedreno ]
when: never
- changes: [ .ci-farms-disabled/freedreno ]
- changes:
paths: [ .ci-farms-disabled/freedreno ]
compare_to: main
if: '$CI_PIPELINE_SOURCE != "schedule"'
when: on_success
- changes: [ .ci-farms-disabled/* ]
- changes:
paths: [ .ci-farms-disabled/* ]
compare_to: main
if: '$CI_PIPELINE_SOURCE != "schedule"'
when: never
@@ -189,7 +241,9 @@
rules:
- exists: [ .ci-farms-disabled/freedreno ]
when: never
- changes: [ .ci-farms-disabled/freedreno ]
- changes:
paths: [ .ci-farms-disabled/freedreno ]
compare_to: main
if: '$CI_PIPELINE_SOURCE != "schedule"'
when: never
- !reference [.freedreno-farm-rules, rules]

View File

@@ -228,6 +228,14 @@ Now go to
`GitLab <https://gitlab.freedesktop.org/mesa/mesa/-/milestones>`__ and
add the new Mesa version X.Y.
Now you need to adjust CI, to not try to compare the changed files against `main` branch.
.. code-block:: console
sed -i '/compare_to: main/d' .gitlab-ci/**/*.yml
git commit -asm 'ci: disable comparing against the main branch'
Check that there are no distribution breaking changes and revert them if
needed. For example: files being overwritten on install, etc. Happens
extremely rarely - we had only one case so far (see commit