ci: drop containers, builds, and tests from post-merge pipeline

All these jobs are redundant and a waste of resources:
- the containers have already been built & pushed in the merge pipeline
- the mesa build variants have already all passed
- the driver tests have already all passed

None of these jobs are doing anything useful in this pipeline, but it
costs a factor of 2x to our infrastructure, so let's remove them.

In other words, the only job left in the post-merge pipeline is the
`pages` job that deploys the update to the website.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26451>
This commit is contained in:
Eric Engestrom
2023-11-01 13:03:49 +00:00
committed by Marge Bot
parent b976b9cd8d
commit 90a77f55de
18 changed files with 93 additions and 34 deletions

View File

@@ -32,11 +32,7 @@ workflow:
MESA_CI_PERFORMANCE_ENABLED: 1
VALVE_INFRA_VANGOGH_JOB_PRIORITY: "" # Empty tags are ignored by gitlab
# post-merge pipeline
- if: $GITLAB_USER_LOGIN == "marge-bot" && $CI_COMMIT_BRANCH
variables:
KERNEL_IMAGE_BASE: https://${S3_HOST}/mesa-lava/${KERNEL_REPO}/${KERNEL_TAG}
JOB_PRIORITY: 40
VALVE_INFRA_VANGOGH_JOB_PRIORITY: priority:low
- if: &is-post-merge $GITLAB_USER_LOGIN == "marge-bot" && $CI_PIPELINE_SOURCE == "push"
# any other pipeline
- if: $GITLAB_USER_LOGIN != "marge-bot" && $FORCE_KERNEL_TAG != null
variables:
@@ -168,19 +164,13 @@ include:
# YAML anchors for rule conditions
# --------------------------------
.rules-anchors:
# Post-merge pipeline
- &is-post-merge '$CI_PROJECT_NAMESPACE == "mesa" && $CI_COMMIT_BRANCH'
# Post-merge pipeline after Marge has merged an MR
- &is-post-merge-for-marge '$CI_PROJECT_NAMESPACE == "mesa" && $CI_COMMIT_BRANCH && $GITLAB_USER_LOGIN != "marge-bot"'
# Post-merge pipeline, not for Marge Bot
- &is-post-merge-not-for-marge '$CI_PROJECT_NAMESPACE == "mesa" && $GITLAB_USER_LOGIN != "marge-bot" && $CI_COMMIT_BRANCH'
# Pre-merge pipeline
- &is-pre-merge '$CI_PIPELINE_SOURCE == "merge_request_event"'
.never-post-merge-rules:
rules:
- if: *is-post-merge-for-marge
- if: *is-post-merge
when: never
@@ -188,9 +178,11 @@ include:
rules:
# Run when re-enabling a disabled farm, but not when disabling it
- !reference [.disable-farm-mr-rules, rules]
# Run pipeline by default in the main project if any CI pipeline
# configuration files were changed, to ensure docker images are up to date
- if: *is-post-merge
# Never run immediately after merging, as we just ran everything
- !reference [.never-post-merge-rules, rules]
# Run pipeline by default if it was triggered by Marge Bot, is for a
# merge request, and any files affecting the pipeline were changed
- if: *is-merge-attempt
changes: &all_paths
- VERSION
- bin/git_sha1_gen.py
@@ -211,24 +203,10 @@ include:
- include/**/*
- src/**/*
when: on_success
# Run pipeline by default if it was triggered by Marge Bot, is for a
# merge request, and any files affecting the pipeline were changed
- if: *is-merge-attempt
changes:
*all_paths
when: on_success
# Run pipeline by default in the main project if it was not triggered by
# Marge Bot, and any files affecting the pipeline were changed
- if: *is-post-merge-not-for-marge
changes:
*all_paths
when: on_success
# Just skip everything for MRs which don't actually change anything in the
# build - the same rules as above, but without the file-change rules
- if: *is-merge-attempt
when: never
- if: *is-post-merge
when: never
# Always allow user branches etc to trigger jobs manually
- when: manual