From 5abb249d1d349331ad6f9def1d806232c162f5dc Mon Sep 17 00:00:00 2001 From: Bruno Lopes Date: Sat, 24 Jan 2026 08:30:52 -0300 Subject: [PATCH] gitlab-ci: Make Homebrew builds scheduled only Since the COMMIT_SHA, we default to build with MacPorts which is more native. But it is wise to not be overly reliant on it, since it tends to be very flaky, and Mac platform have very restrictive hardware with software always changing. --- .gitlab-ci.yml | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 374529cee2..6e6185695e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -16,6 +16,7 @@ spec: options: - GIMP_CI_MESON_CLANG #trigger the Debian Clang build (rare usefulness) - GIMP_CI_MESON_MSVC #trigger the Windows MSVC build (rare usefulness) + - GIMP_CI_MESON_APPLECLANG #trigger the Apple Clang build with Homebrew packages (rare usefulness) - GIMP_CI_RASTER_ICONS #trigger the Debian Clang build without vector icons (rare usefulness) - GIMP_CI_CPPCHECK #trigger cppcheck (static code analysis) - none @@ -653,12 +654,17 @@ gimp-win-eol: rules: - if: '$CI_MERGE_REQUEST_LABELS =~ /.*Package:Macos Dmg.*/' interruptible: true + variables: + OPT_PREFIX: /opt/macports - if: '$GIMP_CI_MACOS != null || "$[[ inputs.distribution_pipeline ]]" =~ /.*GIMP_CI_MACOS.*/' + variables: + OPT_PREFIX: /opt/macports + - if: '($GIMP_CI_MESON_APPLECLANG != null || "$[[ inputs.test_pipeline ]]" =~ /.*GIMP_CI_MESON_APPLECLANG.*/) && $CI_JOB_NAME !~ /.*-part.*/ && $CI_JOB_NAME !~ /.*dist-mac-.*/' + variables: + OPT_PREFIX: /opt/homebrew tags: - macos variables: - #FIXME: Our runner #926 (by MacStadium) do not have cache nor timeout for MacPorts builds - OPT_PREFIX: /opt/macports PKGCONF_RELOCATABLE_OPTION: '-Dpkgconfig.relocatable=true' DMG_OPTION: '-Ddmg=true' before_script: @@ -701,7 +707,10 @@ deps-macos-inhouse-part2: deps-macos-inhouse: extends: .macos-inhouse - needs: ["deps-macos-inhouse-part2"] + needs: + - job: deps-macos-inhouse-part2 + #to allow running the Homebrew builds which use precompiled binaries + optional: true stage: dependencies script: # Do not call sh since it is old bash on macOS, not the default zsh