diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f3a56e2771..85637a027b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -210,38 +210,46 @@ msys2-mingw64: paths: - "${CI_PROJECT_DIR}/_build/gtkdll.tar.gz" -macos-x86_64: +macos: rules: # Do not run in forks as the runner is not available there. # (except for dehesselle who maintains the runner) - - if: $CI_PROJECT_NAMESPACE == "GNOME" - - if: $CI_PROJECT_NAMESPACE == "dehesselle" + - if: $CI_PROJECT_NAMESPACE != "GNOME" && $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 + parallel: + matrix: + - RUNNER: [ "macosintel", "macosarm" ] tags: - - macosintel + - ${RUNNER} needs: [] variables: EXTRA_MESON_FLAGS: "" BACKEND_FLAGS: "-Dx11-backend=false -Dbroadway-backend=true" FEATURE_FLAGS: "-Dmedia-gstreamer=disabled -Dintrospection=enabled -Dgobject-introspection:werror=false" TMPDIR: /Users/Shared/work/tmp - SDKROOT: /opt/sdks/MacOSX10.13.4.sdk PIP_CACHE_DIR: /Users/Shared/build/cache PIPENV_CACHE_DIR: $PIP_CACHE_DIR PYTHONPYCACHEPREFIX: $PIP_CACHE_DIR 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 - - /opt/macports/bin/python3.10 -m venv .venv - - ln -s /opt/cmake/CMake.app/Contents/bin/cmake .venv/bin - - ln -s /opt/pkg-config/bin/pkg-config .venv/bin - - ln -s /opt/bison/bin/bison .venv/bin + - .gitlab-ci/show-info-macos.sh + - 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/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 - - pip3 install meson==1.2.0 - - pip3 install ninja==1.11.1 - - pip3 install /Users/Shared/build/pkgs/PyGObject-3.44.0-cp310-cp310-macosx_10_13_x86_64.whl - /Users/Shared/build/pkgs/pycairo-1.23.0-cp310-cp310-macosx_10_13_x86_64.whl + - 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: - meson setup ${COMMON_MESON_FLAGS} diff --git a/.gitlab-ci/show-info-osx.sh b/.gitlab-ci/show-info-macos.sh similarity index 52% rename from .gitlab-ci/show-info-osx.sh rename to .gitlab-ci/show-info-macos.sh index cc1bfdb87d..f7f2d0a2aa 100755 --- a/.gitlab-ci/show-info-osx.sh +++ b/.gitlab-ci/show-info-macos.sh @@ -3,6 +3,11 @@ set -eux -o pipefail xcodebuild -version || : -xcodebuild -showsdks || : + +if [ -z "$SDKROOT" ]; then + xcodebuild -showsdks || : +else + echo "SDKROOT = $SDKROOT" +fi system_profiler SPSoftwareDataType || :