[libvirt PATCH v2 2/8] ci: Disable optimizations on macOS

Andrea Bolognani abologna at redhat.com
Wed Oct 25 17:06:55 UTC 2023


Clang can be too aggressive at optimizations, which can end up
breaking our test suite. See f9f5ab57189b for details.

As a result of this, since 7944700b4037 we are automatically
disabling tests when Clang is used unless it supports the
-fsemantic-interposition compiler flag.

Since the version of Clang included in macOS doesn't support that
compiler flag, we end up always disabling the test suite on that
platform.

This is already far from ideal, considering that it was just last
year when we finally managed to get the test suite to successfully
pass on macOS, and it would be a real shame if the situation
regressed again.

With the upcoming changes, which will turn running 'meson test'
into a hard failure if tests are disabled, this behavior will
result in every single pipeline failing.

Work around the problem the only way we can: disabling
optimizations entirely for the macOS CI jobs.

Signed-off-by: Andrea Bolognani <abologna at redhat.com>
---
 ci/cirrus/build.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ci/cirrus/build.yml b/ci/cirrus/build.yml
index 519e5ae144..60ac90eee0 100644
--- a/ci/cirrus/build.yml
+++ b/ci/cirrus/build.yml
@@ -24,7 +24,7 @@ build_task:
     - git fetch origin "${CI_MERGE_REQUEST_REF_PATH:-$CI_COMMIT_REF_NAME}"
     - git reset --hard "$CI_COMMIT_SHA"
   build_script:
-    - meson setup build
+    - if test "$(uname)" = "Darwin"; then meson setup build --optimization 0; else meson setup build; fi
     - meson dist -C build --no-tests
     - meson compile -C build
     - meson test -C build --no-suite syntax-check --print-errorlogs || (cat ~/Library/Logs/DiagnosticReports/*.crash && exit 1)
-- 
2.41.0



More information about the libvir-list mailing list