gitlab-ci: make detached MR pipeline for external contributor's pipelines to run

The permissions for running CI will be restricted to external
contributors. It will only work for projects that use "detached MR
pipelines" ([1]).

Note that for it to actually work, a member with permission might have
to go to the "pipeline" tab of the merge request and click "run
pipeline". But this snippet is necessary for that.

[1] https://docs.gitlab.com/ee/ci/pipelines/merge_request_pipelines.html

https://gitlab.freedesktop.org/freedesktop/freedesktop/-/issues/540#what-it-means-for-me-a-maintainer-of-a-project-part-of-gitlabfreedesktoporg
This commit is contained in:
Thomas Haller 2023-04-13 15:03:16 +02:00
parent 31b5bd72eb
commit 7fa72645e5
No known key found for this signature in database
GPG key ID: 29C2366E4DFC5728
2 changed files with 20 additions and 6 deletions

View file

@ -57,11 +57,11 @@ variables:
#
# This is done by running `ci-fairy generate-template` and possibly bumping
# ".default_tag".
ALPINE_TAG: 'tag-c6ac275362b2'
CENTOS_TAG: 'tag-80e000f258af'
DEBIAN_TAG: 'tag-f961edd7a574'
FEDORA_TAG: 'tag-80e000f258af'
UBUNTU_TAG: 'tag-f961edd7a574'
ALPINE_TAG: 'tag-20ccfc6f0a87'
CENTOS_TAG: 'tag-cdc72bd04206'
DEBIAN_TAG: 'tag-bc68fd50d074'
FEDORA_TAG: 'tag-cdc72bd04206'
UBUNTU_TAG: 'tag-bc68fd50d074'
ALPINE_EXEC: 'bash .gitlab-ci/alpine-install.sh'
CENTOS_EXEC: 'bash .gitlab-ci/fedora-install.sh'
@ -1117,4 +1117,11 @@ triage:issues:
- gem install gitlab-triage
- gitlab-triage -d --token $API_TOKEN --source-id $SOURCE_ID
only:
- schedules
- schedules
# Have detached MR pipeline (https://docs.gitlab.com/ee/ci/pipelines/merge_request_pipelines.html)
# https://gitlab.freedesktop.org/freedesktop/freedesktop/-/issues/540#what-it-means-for-me-a-maintainer-of-a-project-part-of-gitlabfreedesktoporg
workflow:
rules:
- if: $CI_PIPELINE_SOURCE == 'merge_request_event'
- if: $CI_PIPELINE_SOURCE == 'push'

View file

@ -286,3 +286,10 @@ triage:issues:
- gitlab-triage -d --token $API_TOKEN --source-id $SOURCE_ID
only:
- schedules
# Have detached MR pipeline (https://docs.gitlab.com/ee/ci/pipelines/merge_request_pipelines.html)
# https://gitlab.freedesktop.org/freedesktop/freedesktop/-/issues/540#what-it-means-for-me-a-maintainer-of-a-project-part-of-gitlabfreedesktoporg
workflow:
rules:
- if: $CI_PIPELINE_SOURCE == 'merge_request_event'
- if: $CI_PIPELINE_SOURCE == 'push'