From 8e42c33c4c381c13ac4f57b58bd0c3777dd44059 Mon Sep 17 00:00:00 2001 From: Nicolas Cornu Date: Tue, 4 Jun 2024 13:12:02 +0200 Subject: [PATCH] Add macOS-14 CI (#2856) * Give more CPU to jobs * For the FENV_ACCESS see the note here: https://eel.is/c++draft/cfenv.syn --- .github/workflows/neuron-ci.yml | 19 +++++++++++++++---- src/ivoc/mymath.cpp | 2 ++ src/oc/hoc.cpp | 2 ++ src/oc/math.cpp | 2 ++ 4 files changed, 21 insertions(+), 4 deletions(-) diff --git a/.github/workflows/neuron-ci.yml b/.github/workflows/neuron-ci.yml index f702b71872..fe41b8edfa 100644 --- a/.github/workflows/neuron-ci.yml +++ b/.github/workflows/neuron-ci.yml @@ -86,6 +86,13 @@ jobs: cmake_option: -DNRN_ENABLE_CORENEURON=ON -DNRN_ENABLE_INTERVIEWS=OFF -DNRN_ENABLE_RX3D=OFF -DNMODL_SANITIZERS=address sanitizer: address + - os: macOS-14 + config: + build_mode: cmake + # TODO: investigate rxd test timeouts in this build and re-enable them + cmake_option: -DNRN_ENABLE_CORENEURON=ON -DNRN_ENABLE_INTERVIEWS=OFF + -DNRN_ENABLE_RX3D=OFF -DNMODL_SANITIZERS=address + sanitizer: thread fail-fast: false steps: @@ -113,14 +120,18 @@ jobs: brew unlink mpich brew install openmpi brew install --cask xquartz + if [[ "${{matrix.os}}" == "macOS-14" ]]; then + brew install cmake + echo "$(brew --prefix)/opt/cmake/bin" >> $GITHUB_PATH + fi echo "$(brew --prefix)/opt/flex/bin:$(brew --prefix)/opt/bison/bin" >> $GITHUB_PATH # Core https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners/about-github-hosted-runners#standard-github-hosted-runners-for-public-repositories if [[ "${{matrix.os}}" == "macOS-13" ]]; then - echo CMAKE_BUILD_PARALLEL_LEVEL=4 >> $GITHUB_ENV - echo CTEST_PARALLEL_LEVEL=4 >> $GITHUB_ENV + echo CMAKE_BUILD_PARALLEL_LEVEL=4 >> $GITHUB_ENV + echo CTEST_PARALLEL_LEVEL=4 >> $GITHUB_ENV else - echo CMAKE_BUILD_PARALLEL_LEVEL=3 >> $GITHUB_ENV - echo CTEST_PARALLEL_LEVEL=3 >> $GITHUB_ENV + echo CMAKE_BUILD_PARALLEL_LEVEL=3 >> $GITHUB_ENV + echo CTEST_PARALLEL_LEVEL=3 >> $GITHUB_ENV fi echo CI_OS_NAME=osx >> $GITHUB_ENV shell: bash diff --git a/src/ivoc/mymath.cpp b/src/ivoc/mymath.cpp index c0083411e4..7980ae0c46 100644 --- a/src/ivoc/mymath.cpp +++ b/src/ivoc/mymath.cpp @@ -1,3 +1,5 @@ +#pragma STDC FENV_ACCESS ON + #include <../../nrnconf.h> #include #include "mymath.h" diff --git a/src/oc/hoc.cpp b/src/oc/hoc.cpp index 39185ba799..4078572e14 100644 --- a/src/oc/hoc.cpp +++ b/src/oc/hoc.cpp @@ -1,3 +1,5 @@ +#pragma STDC FENV_ACCESS ON + #include <../../nrnconf.h> #include "hoc.h" #include "hocstr.h" diff --git a/src/oc/math.cpp b/src/oc/math.cpp index 837d8bb38c..1e22793d7d 100644 --- a/src/oc/math.cpp +++ b/src/oc/math.cpp @@ -1,3 +1,5 @@ +#pragma STDC FENV_ACCESS ON + #include <../../nrnconf.h> /* a fake change */ /* /local/src/master/nrn/src/oc/math.cpp,v 1.6 1999/07/16 13:43:10 hines Exp */