From 439204ed7dede2f76ead00eae454396ebd5a1c0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=CC=81=20de=20Hesselle?= Date: Thu, 3 Aug 2023 23:37:18 +0200 Subject: [PATCH] Re-enable macOS CI on a new self-hosted runner Allow two more tests to fail on macOS for the time being: https://gitlab.gnome.org/GNOME/glib/-/issues/3069 https://gitlab.gnome.org/GNOME/glib/-/issues/3070 --- .gitlab-ci.yml | 27 +++++++++++++++++++++------ gio/tests/meson.build | 8 ++++++-- 2 files changed, 27 insertions(+), 8 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 8bcc1a2c7..d8f022887 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -512,23 +512,38 @@ freebsd-13-x86_64: - "_build/glib/glibconfig.h" - "_build/meson-logs" -.macos: +macos-x86_64: extends: .only-origin stage: build tags: - - macos + - macosintel needs: [] + cache: [] variables: GIT_SUBMODULE_STRATEGY: normal + # -Wno-overlength-strings # libpcre2 gets built as a subproject, but the default Clang options on # macOS limit string lengths to 4095B — pcre2_error.c has a string of length # 4380B - CFLAGS: '-Wno-overlength-strings' + CFLAGS: "-Wno-overlength-strings" + # redirect to the runner's volatile temporary directory + TMPDIR: /Users/Shared/work/tmp + # keep the user profile clean + PIP_CACHE_DIR: /Users/Shared/build/cache + PIPENV_CACHE_DIR: $PIP_CACHE_DIR + PYTHONPYCACHEPREFIX: $PIP_CACHE_DIR + # target OS X 10.9 Mavericks for backward compatibility + SDKROOT: /opt/sdks/MacOSX10.9.sdk + # use the runner's ccache directory + CCACHE_DIR: /Users/Shared/work/ccache before_script: - bash .gitlab-ci/show-execution-environment.sh - - pip3 install --user meson==1.0.0 - - pip3 install --user ninja - - export PATH=/Users/gitlabrunner/Library/Python/3.7/bin:$PATH + - python3 -m venv .venv + - ln -s /opt/cmake/CMake.app/Contents/bin/cmake .venv/bin + - ln -s /opt/ccache/ccache .venv/bin + - source .venv/bin/activate + - pip3 install meson==1.2.0 + - pip3 install ninja==1.11.1 script: # FIXME: Use --wrap-mode=default so we download dependencies each time, # until the macOS runner is a VM where we can use a pre-made image which diff --git a/gio/tests/meson.build b/gio/tests/meson.build index d8c0a7661..4ef3343ab 100644 --- a/gio/tests/meson.build +++ b/gio/tests/meson.build @@ -80,7 +80,8 @@ gio_tests = { }, 'g-file' : {}, 'g-file-info' : { - 'can_fail' : host_system == 'windows' and cc.get_id() != 'gcc', + # FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/3070 + 'can_fail' : host_system == 'darwin' or host_system == 'windows' and cc.get_id() != 'gcc', }, 'g-icon' : {}, 'gdbus-addresses' : {}, @@ -281,7 +282,10 @@ if host_machine.system() != 'windows' 'unix-streams' : {}, 'g-file-info-filesystem-readonly' : {}, 'gschema-compile' : {'install' : false}, - 'trash' : {}, + 'trash' : { + # FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/3069 + 'can_fail' : host_system == 'darwin', + }, } # LD_PRELOAD modules don't work so well with AddressSanitizer