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
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

View file

@ -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-<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 merge requests on the Gitlab interface often leads to poor