From 84c4e0b6396b3aa694e1fe823a59e6bd34d51fc3 Mon Sep 17 00:00:00 2001 From: Bruno Lopes Date: Wed, 14 May 2025 09:00:09 -0300 Subject: [PATCH] gitlab-ci, devel-docs: Update to new "Package:" labels A common prefix makes easier to use these dist pipelines. --- .gitlab-ci.yml | 16 ++++++------ devel-docs/gitlab-mr.md | 56 ++++++----------------------------------- 2 files changed, 15 insertions(+), 57 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 936f44035b..6c5bede9ff 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -37,7 +37,7 @@ workflow: interruptible: true variables: {} -## 2. LABELED MERGE REQUESTS (search for 'CI_MERGE_REQUEST_LABELS'). +## 2. LABELED MERGE REQUESTS (search for $CI_MERGE_REQUEST_LABELS =~ /.*Package). #'interruptible: true' needs to be hardcoded on job rules # GitLab is quite sensitive about rules 'if' order so be careful @@ -101,7 +101,7 @@ stages: .debian: extends: .default rules: - - if: '$CI_MERGE_REQUEST_LABELS =~ /.*5. AppImage package.*/' + - if: '$CI_MERGE_REQUEST_LABELS =~ /.*Package:AppImage.*/' interruptible: true - if: '$GIMP_CI_APPIMAGE != null || "$[[ inputs.distribution_pipeline ]]" =~ /.*GIMP_CI_APPIMAGE.*/' - <<: *CI_RELEASE @@ -378,7 +378,7 @@ gimp-debian-x64: .flatpak-x64: extends: .default rules: - - if: '$CI_MERGE_REQUEST_LABELS =~ /.*5. Flatpak package.*/' + - if: '$CI_MERGE_REQUEST_LABELS =~ /.*Package:Flatpak.*/' interruptible: true - if: '$GIMP_CI_FLATPAK != null || "$[[ inputs.distribution_pipeline ]]" =~ /.*GIMP_CI_FLATPAK.*/' tags: @@ -425,16 +425,16 @@ gimp-flatpak-x64: .win: extends: .default rules: - - if: '$CI_MERGE_REQUEST_LABELS =~ /.*5. Windows Installer.*/ && $CI_MERGE_REQUEST_LABELS =~ /.*5. Microsoft Store.*/' + - if: '$CI_MERGE_REQUEST_LABELS =~ /.*Package:Windows Installer.*/ && $CI_MERGE_REQUEST_LABELS =~ /.*Package:Microsoft Store.*/' interruptible: true variables: INSTALLER_OPTION: '-Dwindows-installer=true' STORE_OPTION: '-Dms-store=true' - - if: '$CI_MERGE_REQUEST_LABELS =~ /.*5. Windows Installer.*/' + - if: '$CI_MERGE_REQUEST_LABELS =~ /.*Package:Windows Installer.*/' interruptible: true variables: INSTALLER_OPTION: '-Dwindows-installer=true' - - if: '$CI_MERGE_REQUEST_LABELS =~ /.*5. Microsoft Store.*/ && $CI_JOB_NAME =~ /.*64.*/ && $CI_JOB_NAME !~ /.*installer.*/' + - if: '$CI_MERGE_REQUEST_LABELS =~ /.*Package:Microsoft Store.*/ && $CI_JOB_NAME =~ /.*64.*/ && $CI_JOB_NAME !~ /.*installer.*/' interruptible: true variables: STORE_OPTION: '-Dms-store=true' @@ -740,7 +740,7 @@ dist-flatpak-weekly: - .default - .publish_nightly rules: - - if: '$CI_MERGE_REQUEST_LABELS =~ /.*5. Flatpak package.*/' + - if: '$CI_MERGE_REQUEST_LABELS =~ /.*Package:Flatpak.*/' interruptible: true - if: '$GIMP_CI_FLATPAK != null || "$[[ inputs.distribution_pipeline ]]" =~ /.*GIMP_CI_FLATPAK.*/' needs: ["gimp-flatpak-x64"] @@ -775,7 +775,7 @@ dist-installer-weekly: dist-store-weekly: extends: .default rules: - - if: '$CI_MERGE_REQUEST_LABELS =~ /.*5. Microsoft Store.*/' + - if: '$CI_MERGE_REQUEST_LABELS =~ /.*Package:Microsoft Store.*/' interruptible: true - if: '$GIMP_CI_MS_STORE != null || "$[[ inputs.distribution_pipeline ]]" =~ /.*GIMP_CI_MS_STORE.*/' - <<: *CI_RELEASE diff --git a/devel-docs/gitlab-mr.md b/devel-docs/gitlab-mr.md index 4fd10aa73b..7fb153564c 100644 --- a/devel-docs/gitlab-mr.md +++ b/devel-docs/gitlab-mr.md @@ -1,12 +1,14 @@ # Merge Request tricks -By default, a Merge Request pipeline would only build GIMP with -meson for Debian and for Windows 64-bit (similarly to normal commits). +By default, a Merge Request pipeline would only build GIMP for +Debian with merely testing purposes. You might want to actually generate easy-to-install builds, in -particular if you want it to be testable for non-developers, or various -other reasons. Making a full flatpak, Windows installer or .msixbundle -can actually be quite time-consuming on a personal computer. +particular if you want it to be testable for non-developers, or +various other reasons. + +So, as a developer, comment: /label ~Package:`AppImage` or `Flatpak` or `Windows Installer` or `Microsoft Store` +(this will generate the requested package for new pipelines). ☣️ We remind that these packages are built on-top of development code (i.e. work-in-progress and potentially unstable codebase likely @@ -17,50 +19,6 @@ Therefore you should always check the merge request changes before running the code and never blindly trust that it is harmless. In any case, run these builds at your own risk. ☢️ -## Generating a flatpak for merge request code - -If you add the label `5. Flatpak package` in a MR, then trigger a -pipeline for instance by rebasing), it will add a flatpak creation to -the pipeline. Once the pipeline ends, the flatpak can be installed by: - -- clicking the pipeline ID. -- In the "gimp" stage, click the "gimp-flatpak-x64" job. -- Then click the "Browse" button. -- Click the `org.gimp.GIMP.flatpak` file to download it. -- Locally run: `flatpak install --user ./org.gimp.GIMP.flatpak` - It should propose you to install the flatpak, allowing you to test. -- After testing, you can uninstall with: `flatpak remove org.gimp.GIMP//master` - -## Generating a Windows installer for merge request code - -If you add the label `5. Windows Installer` in a MR, then trigger a -pipeline (for instance by rebasing), it will add a Windows installer -creation to the pipeline. Once the pipeline ends, the installer can be -found by: - -- clicking the pipeline ID. -- In the "Distribution" stage, click the "dist-installer-weekly" job. -- Then click the "Browse" button. -- Navigate to `build/installer/_Output/`. -- Then click the `gimp--setup.exe` file to download the - installer. - -## Generating a .msixbundle for merge request code - -If you add the label `5. Microsoft Store` in a MR, then trigger a -pipeline (for instance by rebasing), it will add a .msixbundle -creation to the pipeline. Once the pipeline ends, the file can be -found by: - -- clicking the pipeline ID. -- In the "Distribution" stage, click the "dist-store-weekly" job. -- Then click the "Browse" button. -- Navigate to `build/windows/store/_Output/`. -- Then click the `gimp--local.msixbundle` file to download it. - -To test the .msixbundle, you need to have previously installed `pseudo-gimp.pfx` -in the CA cert group. You can do this with Windows built-in cert installer. - ## Reviewing MR branches Reviewing merge requests on the Gitlab interface often leads to poor