diff --git a/gitlab/ci_template.yml b/gitlab/ci_template.yml index f9197a0075..d36b4a432e 100644 --- a/gitlab/ci_template.yml +++ b/gitlab/ci_template.yml @@ -1,3 +1,6 @@ +include: + - template: 'Workflows/Branch-Pipelines.gitlab-ci.yml' + stages: - 'build docker' - 'preparation' @@ -318,13 +321,23 @@ gst-indent amd64 docker: manifest: image: $MANIFEST_IMAGE rules: - - if: '$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME && $GITLAB_USER_LOGIN == "gstreamer-merge-bot"' - when: 'always' + # Always have automatic pipeline for branchs in cerbero and docs + # cause they need to update artifacts, like the docs site or cerbero deps - if: '$CI_PROJECT_PATH == "gstreamer/cerbero"' - when: 'always' - if: '$CI_PROJECT_PATH == "gstreamer/gst-docs"' - when: 'always' - - when: 'manual' + + # If the user that triggered the Pipeline is the Merge bot and the branch doesn't match + # the upstream branch set, run the pipeline + - if: '$GITLAB_USER_LOGIN == "gstreamer-merge-bot" && $CI_COMMIT_BRANCH != "$GST_UPS_BRANCH"' + # When the user isn't the merge bot, require an explicit action to trigger the pipeline + # to avoid wasting CI resources + - if: '$GITLAB_USER_LOGIN != "gstreamer-merge-bot"' + when: 'manual' + # If this matches, it means the pipeline is running against either the main + # or a stable branch, so make it manual + - if: '$CI_COMMIT_BRANCH == "$GST_UPS_BRANCH"' + when: 'manual' + stage: 'preparation' script: - cd /gst-ci