gitlab-ci, build: Add x64 macOS builds with Rosetta emulation

See: https://gitlab.gnome.org/Infrastructure/Infrastructure/-/issues/2166
This commit is contained in:
Bruno Lopes 2026-02-21 12:16:21 -03:00
parent cb9e1c9ac1
commit 8c3a9dd4a8
2 changed files with 11 additions and 7 deletions

View file

@ -631,23 +631,27 @@ gimp-win:
variables:
OPT_PREFIX: /opt/macports
DMG_OPTION: '-Ddmg=true'
- if: '($GIMP_CI_MESON_APPLECLANG != null || "$[[ inputs.test_pipeline ]]" =~ /.*GIMP_CI_MESON_APPLECLANG.*/) && $CI_JOB_NAME !~ /.*-part.*/ && $CI_JOB_NAME !~ /.*dist-mac-.*/'
- if: '($GIMP_CI_MESON_APPLECLANG != null || "$[[ inputs.test_pipeline ]]" =~ /.*GIMP_CI_MESON_APPLECLANG.*/) && $CI_JOB_NAME !~ /.*-x86_64.*/ && $CI_JOB_NAME !~ /.*dist-mac-.*/'
variables:
OPT_PREFIX: /opt/homebrew
WARN_AS_ERROR_ON_CI: '-Dwerror=true'
VARIANT: -homebrew
parallel:
matrix:
- ARCH: [arm64, x86_64]
tags:
- macos
- marathon
variables:
ARCH: arm64
ORKA_RUNNER: tahoe-1
#meson.build forces non-relocatable .pc. See: https://github.com/mesonbuild/meson/issues/14346
PKGCONF_RELOCATABLE_OPTION: '-Dpkgconfig.relocatable=true'
before_script:
- export GIMP_PREFIX="$PWD/_install-$(uname -m)"
- export GIMP_PREFIX="$PWD/_install-$ARCH"
- export PATH="$OPT_PREFIX/bin:$PATH"
timeout: 4h
- if [ "$ARCH" = 'x86_64' ]; then softwareupdate --install-rosetta --agree-to-license; fi
#4h is enough only on arm64 or if no macports port was updated/rebuilt, we need more time in case of port bumps
timeout: 24h
.macos_environ: &MAC_ENVIRON
- printf "\e[0Ksection_start:`date +%s`:macos_environ[collapsed=true]\r\e[0KPreparing build environment\n"
@ -669,7 +673,7 @@ deps-macos-inhouse:
- macports-cached-$ARCH
script:
# Do not call sh since it is old bash on macOS, not the default zsh
- zsh build/macos/1_build-deps-macports.sh
- arch -${ARCH} zsh build/macos/1_build-deps-macports.sh
artifacts:
paths:
- _install-*
@ -692,7 +696,7 @@ gimp-macos-inhouse:
policy: pull
script:
# Do not call sh since it is old bash on macOS, not the default zsh
- zsh build/macos/2_build-gimp-macports.sh
- arch -${ARCH} zsh build/macos/2_build-gimp-macports.sh
artifacts:
paths:
- gimp-*.app

View file

@ -82,7 +82,7 @@ printf "\e[0Ksection_end:`date +%s`:mac_info\r\e[0K\n"
# 3. PREPARE FILES
for APP in $supported_archs; do
for APP in $(echo "$supported_archs" | tr ' ' '\n'); do
export ARCH=$(echo $APP | sed -e 's|gimp-||' -e 's|./||' -e 's|.app||')
printf "\e[0Ksection_start:`date +%s`:${ARCH}_files[collapsed=true]\r\e[0KPreparing GIMP files in $ARCH .dmg\n"
## Create temporary .dmg