gitlab-ci, devel-docs: Update to new "Package:" labels

A common prefix makes easier to use these dist pipelines.
This commit is contained in:
Bruno Lopes 2025-05-14 09:00:09 -03:00
parent f0dc96caf1
commit 84c4e0b639
No known key found for this signature in database
2 changed files with 15 additions and 57 deletions

View file

@ -37,7 +37,7 @@ workflow:
interruptible: true interruptible: true
variables: {} 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 #'interruptible: true' needs to be hardcoded on job rules
# GitLab is quite sensitive about rules 'if' order so be careful # GitLab is quite sensitive about rules 'if' order so be careful
@ -101,7 +101,7 @@ stages:
.debian: .debian:
extends: .default extends: .default
rules: rules:
- if: '$CI_MERGE_REQUEST_LABELS =~ /.*5. AppImage package.*/' - if: '$CI_MERGE_REQUEST_LABELS =~ /.*Package:AppImage.*/'
interruptible: true interruptible: true
- if: '$GIMP_CI_APPIMAGE != null || "$[[ inputs.distribution_pipeline ]]" =~ /.*GIMP_CI_APPIMAGE.*/' - if: '$GIMP_CI_APPIMAGE != null || "$[[ inputs.distribution_pipeline ]]" =~ /.*GIMP_CI_APPIMAGE.*/'
- <<: *CI_RELEASE - <<: *CI_RELEASE
@ -378,7 +378,7 @@ gimp-debian-x64:
.flatpak-x64: .flatpak-x64:
extends: .default extends: .default
rules: rules:
- if: '$CI_MERGE_REQUEST_LABELS =~ /.*5. Flatpak package.*/' - if: '$CI_MERGE_REQUEST_LABELS =~ /.*Package:Flatpak.*/'
interruptible: true interruptible: true
- if: '$GIMP_CI_FLATPAK != null || "$[[ inputs.distribution_pipeline ]]" =~ /.*GIMP_CI_FLATPAK.*/' - if: '$GIMP_CI_FLATPAK != null || "$[[ inputs.distribution_pipeline ]]" =~ /.*GIMP_CI_FLATPAK.*/'
tags: tags:
@ -425,16 +425,16 @@ gimp-flatpak-x64:
.win: .win:
extends: .default extends: .default
rules: 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 interruptible: true
variables: variables:
INSTALLER_OPTION: '-Dwindows-installer=true' INSTALLER_OPTION: '-Dwindows-installer=true'
STORE_OPTION: '-Dms-store=true' STORE_OPTION: '-Dms-store=true'
- if: '$CI_MERGE_REQUEST_LABELS =~ /.*5. Windows Installer.*/' - if: '$CI_MERGE_REQUEST_LABELS =~ /.*Package:Windows Installer.*/'
interruptible: true interruptible: true
variables: variables:
INSTALLER_OPTION: '-Dwindows-installer=true' 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 interruptible: true
variables: variables:
STORE_OPTION: '-Dms-store=true' STORE_OPTION: '-Dms-store=true'
@ -740,7 +740,7 @@ dist-flatpak-weekly:
- .default - .default
- .publish_nightly - .publish_nightly
rules: rules:
- if: '$CI_MERGE_REQUEST_LABELS =~ /.*5. Flatpak package.*/' - if: '$CI_MERGE_REQUEST_LABELS =~ /.*Package:Flatpak.*/'
interruptible: true interruptible: true
- if: '$GIMP_CI_FLATPAK != null || "$[[ inputs.distribution_pipeline ]]" =~ /.*GIMP_CI_FLATPAK.*/' - if: '$GIMP_CI_FLATPAK != null || "$[[ inputs.distribution_pipeline ]]" =~ /.*GIMP_CI_FLATPAK.*/'
needs: ["gimp-flatpak-x64"] needs: ["gimp-flatpak-x64"]
@ -775,7 +775,7 @@ dist-installer-weekly:
dist-store-weekly: dist-store-weekly:
extends: .default extends: .default
rules: rules:
- if: '$CI_MERGE_REQUEST_LABELS =~ /.*5. Microsoft Store.*/' - if: '$CI_MERGE_REQUEST_LABELS =~ /.*Package:Microsoft Store.*/'
interruptible: true interruptible: true
- if: '$GIMP_CI_MS_STORE != null || "$[[ inputs.distribution_pipeline ]]" =~ /.*GIMP_CI_MS_STORE.*/' - if: '$GIMP_CI_MS_STORE != null || "$[[ inputs.distribution_pipeline ]]" =~ /.*GIMP_CI_MS_STORE.*/'
- <<: *CI_RELEASE - <<: *CI_RELEASE

View file

@ -1,12 +1,14 @@
# Merge Request tricks # Merge Request tricks
By default, a Merge Request pipeline would only build GIMP with By default, a Merge Request pipeline would only build GIMP for
meson for Debian and for Windows 64-bit (similarly to normal commits). Debian with merely testing purposes.
You might want to actually generate easy-to-install builds, in You might want to actually generate easy-to-install builds, in
particular if you want it to be testable for non-developers, or various particular if you want it to be testable for non-developers, or
other reasons. Making a full flatpak, Windows installer or .msixbundle various other reasons.
can actually be quite time-consuming on a personal computer.
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 ☣️ We remind that these packages are built on-top of development code
(i.e. work-in-progress and potentially unstable codebase likely (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 running the code and never blindly trust that it is harmless. In any
case, run these builds at your own risk. ☢️ 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-<version>-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-<version>-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 MR branches
Reviewing merge requests on the Gitlab interface often leads to poor Reviewing merge requests on the Gitlab interface often leads to poor