From b0411c9d008ddf69bad0ac1ea4cea987ae8f215c Mon Sep 17 00:00:00 2001 From: Ian Henriksen Date: Wed, 11 Sep 2024 11:41:18 -0600 Subject: [PATCH] Fix and expand OSX CI builds. --- .cirrus.yml | 36 +++++++++++++++++++++++++++++++++++- .github/workflows/CI.yml | 3 +++ 2 files changed, 38 insertions(+), 1 deletion(-) diff --git a/.cirrus.yml b/.cirrus.yml index 2f587afd3..d3e9f2f10 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -5,15 +5,40 @@ osx_m1_task: matrix: env: QTHREADS_SCHEDULER: nemesis + QTHREADS_TOPOLOGY: no + env: + QTHREADS_SCHEDULER: nemesis + QTHREADS_TOPOLOGY: hwloc + env: + QTHREADS_SCHEDULER: nemesis + QTHREADS_TOPOLOGY: binders env: QTHREADS_SCHEDULER: sherwood + QTHREADS_TOPOLOGY: no + env: + QTHREADS_SCHEDULER: sherwood + QTHREADS_TOPOLOGY: hwloc + env: + QTHREADS_SCHEDULER: sherwood + QTHREADS_TOPOLOGY: binders env: QTHREADS_SCHEDULER: distrib + QTHREADS_TOPOLOGY: no + env: + QTHREADS_SCHEDULER: distrib + QTHREADS_TOPOLOGY: hwloc + env: + QTHREADS_SCHEDULER: distrib + QTHREADS_TOPOLOGY: binders install_deps_script: | brew install autoconf automake libtool coreutils # coreutils is to get gtimeout for CI and is not universally required by qthreads. + if [ "$QTHREADS_TOPOLOGY" != "no" ]; then brew install hwloc; fi build_script: | + export CFLAGS="-I$(brew --prefix)/include $CFLAGS" + export CXXFLAGS="-I$(brew --prefix)/include $CXXFLAGS" + export LDFLAGS="-L$(brew --prefix)/lib $LDFLAGS" ./autogen.sh - ./configure --enable-picky --with-scheduler=$QTHREADS_SCHEDULER --with-topology=no + ./configure --enable-picky --with-scheduler=$QTHREADS_SCHEDULER --with-topology=$QTHREADS_TOPOLOGY make -j$CIRRUS_CPU test_script: | gtimeout --foreground 3m make check @@ -51,18 +76,27 @@ arm_linux_task: env: QTHREADS_SCHEDULER: nemesis QTHREADS_TOPOLOGY: hwloc + env: + QTHREADS_SCHEDULER: nemesis + QTHREADS_TOPOLOGY: binders env: QTHREADS_SCHEDULER: sherwood QTHREADS_TOPOLOGY: no env: QTHREADS_SCHEDULER: sherwood QTHREADS_TOPOLOGY: hwloc + env: + QTHREADS_SCHEDULER: sherwood + QTHREADS_TOPOLOGY: binders env: QTHREADS_SCHEDULER: distrib QTHREADS_TOPOLOGY: no env: QTHREADS_SCHEDULER: distrib QTHREADS_TOPOLOGY: hwloc + env: + QTHREADS_SCHEDULER: distrib + QTHREADS_TOPOLOGY: binders install_deps_script: | apt-get update -y apt-get install -y autoconf automake libtool diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 436d950bf..4631d92f2 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -219,6 +219,9 @@ jobs: hwloc-ls --version - name: build qthreads run: | + export CFLAGS="-I$(brew --prefix)/include $CFLAGS" + export CXXFLAGS="-I$(brew --prefix)/include $CXXFLAGS" + export LDFLAGS="-L$(brew --prefix)/lib $LDFLAGS" ./autogen.sh ./configure $QTHREADS_ENABLE_ASSERTS --enable-picky --with-scheduler=${{ matrix.scheduler }} --with-topology=${{ matrix.topology }} make -j3