ci: Add job for Apple Silicon

This marks the beginning of transitioning to the arm64 architecture as
the default. The x86_64 job remains present but is being phased out of
24/7 operations, i.e. the job is now on-demand only.
This commit is contained in:
René de Hesselle 2024-02-18 20:24:58 +01:00
parent b7285bd688
commit 6fd5e5f61c

View File

@ -210,34 +210,46 @@ msys2-mingw64:
paths: paths:
- "${CI_PROJECT_DIR}/_build/gtkdll.tar.gz" - "${CI_PROJECT_DIR}/_build/gtkdll.tar.gz"
macos-x86_64: macos:
rules: rules:
# Do not run in forks as the runner is not available there. # Do not run in forks as the runner is not available there.
# (except for dehesselle who maintains the runner) # (except for dehesselle who maintains the runner)
- if: $CI_PROJECT_NAMESPACE == "GNOME" - if: $CI_PROJECT_NAMESPACE != "GNOME" && $CI_PROJECT_NAMESPACE != "dehesselle"
- if: $CI_PROJECT_NAMESPACE == "dehesselle" when: never
- if: $RUNNER == "macosintel"
variables:
SDKROOT: /opt/sdks/MacOSX10.13.4.sdk
when: manual
allow_failure: true
- if: $RUNNER == "macosarm"
variables:
SDKROOT: /opt/sdks/MacOSX11.3.sdk
stage: build stage: build
parallel:
matrix:
- RUNNER: [ "macosintel", "macosarm" ]
tags: tags:
- macosintel - ${RUNNER}
needs: [] needs: []
variables: variables:
EXTRA_MESON_FLAGS: "" EXTRA_MESON_FLAGS: ""
BACKEND_FLAGS: "-Dx11-backend=false -Dbroadway-backend=true" BACKEND_FLAGS: "-Dx11-backend=false -Dbroadway-backend=true"
FEATURE_FLAGS: "-Dmedia-gstreamer=disabled -Dintrospection=enabled -Dgobject-introspection:werror=false" FEATURE_FLAGS: "-Dmedia-gstreamer=disabled -Dintrospection=enabled -Dgobject-introspection:werror=false"
TMPDIR: /Users/Shared/work/tmp TMPDIR: /Users/Shared/work/tmp
SDKROOT: /opt/sdks/MacOSX10.13.4.sdk
PIP_CACHE_DIR: /Users/Shared/build/cache PIP_CACHE_DIR: /Users/Shared/build/cache
PIPENV_CACHE_DIR: $PIP_CACHE_DIR PIPENV_CACHE_DIR: $PIP_CACHE_DIR
PYTHONPYCACHEPREFIX: $PIP_CACHE_DIR PYTHONPYCACHEPREFIX: $PIP_CACHE_DIR
before_script: before_script:
# Not using ccache on purpose as it accelerates the build so much that it
# can trigger race conditions in the gobject-introspection subproject.
- bash .gitlab-ci/show-info-osx.sh - bash .gitlab-ci/show-info-osx.sh
- python3 -m venv .venv - python3 -m venv .venv
# Building the introspection feature requires pkg-config and bison.
- curl -L $CI_API_V4_URL/projects/30437/packages/generic/pkgconfig/v0.29.2+10/pkg-config-0.29.2+10_$(uname -m).tar.xz | tar -C .venv -xJ - curl -L $CI_API_V4_URL/projects/30437/packages/generic/pkgconfig/v0.29.2+10/pkg-config-0.29.2+10_$(uname -m).tar.xz | tar -C .venv -xJ
- curl -L $CI_API_V4_URL/projects/30438/packages/generic/bison/v3.8.2+3/bison-3.8.2+3_$(uname -m).tar.xz | tar -C .venv -xJ - curl -L $CI_API_V4_URL/projects/30438/packages/generic/bison/v3.8.2+3/bison-3.8.2+3_$(uname -m).tar.xz | tar -C .venv -xJ
- source .venv/bin/activate - source .venv/bin/activate
- pip3 install meson==1.3.2 ninja==1.11.1.1 - pip3 install meson==1.3.2 ninja==1.11.1.1
# We're not setting up ccache here on purpose as it accelerates the build
# so much that it triggers race conditions in the gobject-introspection
# subproject.
script: script:
- meson setup - meson setup
${COMMON_MESON_FLAGS} ${COMMON_MESON_FLAGS}