From a140c251cb1d729f02bb5edda6a1193a559a668c Mon Sep 17 00:00:00 2001 From: Bruno Lopes Date: Fri, 30 Jan 2026 16:45:05 -0300 Subject: [PATCH] gitlab-ci: Allow non-devs to run package pipelines from MR description Following 6245e4ee In addition to producing testable packages by adding certain labels (which only developers can do), now we can produce such packages by adding the same label in the issue description. This facilitates to non-developers generating such packages (e.g. new GsoC contributors). --- .gitlab-ci.yml | 14 +++++++------- .gitlab/merge_request_templates/default.md | 8 ++++---- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 16a6cc1eb4..7c1b82c84a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -322,7 +322,7 @@ gimp-debian-nonreloc: .debian: extends: .debian-nonreloc rules: - - if: '$CI_MERGE_REQUEST_LABELS =~ /.*Package:AppImage.*/' + - if: '$CI_MERGE_REQUEST_LABELS =~ /.*Package:AppImage.*/ || $CI_MERGE_REQUEST_DESCRIPTION =~ /.*Package:AppImage.*/' interruptible: true - if: '$GIMP_CI_APPIMAGE != null || "$[[ inputs.distribution_pipeline ]]" =~ /.*GIMP_CI_APPIMAGE.*/' - <<: *CI_RELEASE @@ -390,7 +390,7 @@ gimp-debian: #We need to specify this since .flatpak from flatpak_ci_initiative.yml sets to true interruptible: false rules: - - if: '$CI_MERGE_REQUEST_LABELS =~ /.*Package:Flatpak.*/' + - if: '$CI_MERGE_REQUEST_LABELS =~ /.*Package:Flatpak.*/ || $CI_MERGE_REQUEST_DESCRIPTION =~ /.*Package:Flatpak.*/' interruptible: true - if: '$GIMP_CI_FLATPAK != null || "$[[ inputs.distribution_pipeline ]]" =~ /.*GIMP_CI_FLATPAK.*/' parallel: @@ -441,7 +441,7 @@ gimp-flatpak: .snap: extends: .default rules: - - if: '$CI_MERGE_REQUEST_LABELS =~ /.*Package:Snap.*/' + - if: '$CI_MERGE_REQUEST_LABELS =~ /.*Package:Snap.*/ || $CI_MERGE_REQUEST_DESCRIPTION =~ /.*Package:Snap.*/' interruptible: true - if: '$GIMP_CI_SNAP != null || "$[[ inputs.distribution_pipeline ]]" =~ /.*GIMP_CI_SNAP.*/' - <<: *CI_RELEASE @@ -520,16 +520,16 @@ gimp-snap: #Non developers (e.g. on MRs), however, can create x64-only installers (.exe or .msix) - if: '$RUNNER == "windows-aarch64" && $CI_PROJECT_NAMESPACE != "GNOME"' when: never - - if: '$CI_MERGE_REQUEST_LABELS =~ /.*Package:Windows Installer.*/ && $CI_MERGE_REQUEST_LABELS =~ /.*Package:Microsoft Store.*/' + - if: '($CI_MERGE_REQUEST_LABELS =~ /.*Package:Windows Installer.*/ && $CI_MERGE_REQUEST_LABELS =~ /.*Package:Microsoft Store.*/) || ($CI_MERGE_REQUEST_DESCRIPTION =~ /.*Package:Windows Installer.*/ && $CI_MERGE_REQUEST_DESCRIPTION =~ /.*Package:Microsoft Store.*/)' interruptible: true variables: INSTALLER_OPTION: '-Dwindows-installer=true' STORE_OPTION: '-Dms-store=true' - - if: '$CI_MERGE_REQUEST_LABELS =~ /.*Package:Windows Installer.*/ && $CI_JOB_NAME !~ /.*store.*/' + - if: '($CI_MERGE_REQUEST_LABELS =~ /.*Package:Windows Installer.*/ || $CI_MERGE_REQUEST_DESCRIPTION =~ /.*Package:Windows Installer.*/) && $CI_JOB_NAME !~ /.*store.*/' interruptible: true variables: INSTALLER_OPTION: '-Dwindows-installer=true' - - if: '$CI_MERGE_REQUEST_LABELS =~ /.*Package:Microsoft Store.*/ && $CI_JOB_NAME !~ /.*eol.*/ && $CI_JOB_NAME !~ /.*installer.*/' + - if: '($CI_MERGE_REQUEST_LABELS =~ /.*Package:Microsoft Store.*/ || $CI_MERGE_REQUEST_DESCRIPTION =~ /.*Package:Microsoft Store.*/) && $CI_JOB_NAME !~ /.*eol.*/ && $CI_JOB_NAME !~ /.*installer.*/' interruptible: true variables: STORE_OPTION: '-Dms-store=true' @@ -652,7 +652,7 @@ gimp-win-eol: .macos-inhouse: extends: .default rules: - - if: '$CI_MERGE_REQUEST_LABELS =~ /.*Package:Macos Dmg.*/' + - if: '$CI_MERGE_REQUEST_LABELS =~ /.*Package:Macos Dmg.*/ || $CI_MERGE_REQUEST_DESCRIPTION =~ /.*Package:Macos Dmg.*/' interruptible: true variables: OPT_PREFIX: /opt/macports diff --git a/.gitlab/merge_request_templates/default.md b/.gitlab/merge_request_templates/default.md index a568479b38..5773c072aa 100644 --- a/.gitlab/merge_request_templates/default.md +++ b/.gitlab/merge_request_templates/default.md @@ -9,7 +9,7 @@ "*Allow commits from members who can merge to the target branch.*" - No AI-generated contents allowed (neither code nor text, images…). - Only human created works please! - -- You can request the devs to allow installable packages to be - generated from this MR by writing ~Package: in the comments --> + Only human created works please! + +- If needed, you can create installable packages to be generated from + each push to this MR by writing ~Package: in this MR description -->