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

View File

@@ -228,6 +228,14 @@ Now go to
`GitLab <https://gitlab.freedesktop.org/mesa/mesa/-/milestones>`__ and `GitLab <https://gitlab.freedesktop.org/mesa/mesa/-/milestones>`__ and
add the new Mesa version X.Y. 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 Check that there are no distribution breaking changes and revert them if
needed. For example: files being overwritten on install, etc. Happens needed. For example: files being overwritten on install, etc. Happens
extremely rarely - we had only one case so far (see commit extremely rarely - we had only one case so far (see commit