From ae74387cb548ecf80f90db80fb8c2545fb786253 Mon Sep 17 00:00:00 2001 From: Christian Gutschow Date: Thu, 26 Sep 2024 15:58:42 +0100 Subject: [PATCH 01/33] add Fedora image --- .github/workflows/documentation.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index e93d0eb72..bff28dbc0 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -19,6 +19,7 @@ env: jobs: make-documentation: runs-on: ubuntu-22.04 + container: fedora:39 steps: - name: Check out sopt uses: actions/checkout@v3 @@ -32,6 +33,7 @@ jobs: - name: Install dependencies run: | + cat /etc/os-release sudo apt update sudo apt install openmpi-bin libopenmpi-dev libyaml-cpp-dev doxygen graphviz ccache libeigen3-dev libtiff-dev From 1c7f138607faf991acf94695c26ad6b66369073c Mon Sep 17 00:00:00 2001 From: Christian Gutschow Date: Thu, 26 Sep 2024 16:16:20 +0100 Subject: [PATCH 02/33] no submodules here --- .github/workflows/documentation.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index bff28dbc0..2d5d68c44 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -23,8 +23,6 @@ jobs: steps: - name: Check out sopt uses: actions/checkout@v3 - with: - submodules: recursive # Enable tmate debugging of manually-triggered workflows if the input option was provided - name: Setup tmate session From 1be74b6aff4033bdc48d449e1e26b1431a93fca7 Mon Sep 17 00:00:00 2001 From: Christian Gutschow Date: Thu, 26 Sep 2024 16:21:15 +0100 Subject: [PATCH 03/33] apt-get to dnf --- .github/workflows/documentation.yml | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index 2d5d68c44..4d73fd63b 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -32,22 +32,22 @@ jobs: - name: Install dependencies run: | cat /etc/os-release - sudo apt update - sudo apt install openmpi-bin libopenmpi-dev libyaml-cpp-dev doxygen graphviz ccache libeigen3-dev libtiff-dev + sudo dnf update + sudo dnf install openmpi openmpi-dev yaml-cpp doxygen graphviz ccache eigen3-dev libtiff catch2-devel - - name: Checkout Catch2 - uses: actions/checkout@v4 - with: - repository: catchorg/Catch2.git - path: Catch2 - ref: v3.4.0 + #- name: Checkout Catch2 + # uses: actions/checkout@v4 + # with: + # repository: catchorg/Catch2.git + # path: Catch2 + # ref: v3.4.0 - - name: Build Catch2 - run: | - mkdir Catch2/build - cd Catch2/build - cmake .. -DBUILD_TESTING=OFF -DCMAKE_INSTALL_PREFIX=${{github.workspace}}/local - make -j$(nproc --ignore 1) install + #- name: Build Catch2 + # run: | + # mkdir Catch2/build + # cd Catch2/build + # cmake .. -DBUILD_TESTING=OFF -DCMAKE_INSTALL_PREFIX=${{github.workspace}}/local + # make -j$(nproc --ignore 1) install - name: Build run: | From c03c2b029ae4a2de08d8b0db642d2b0926af0ec0 Mon Sep 17 00:00:00 2001 From: Christian Gutschow Date: Thu, 26 Sep 2024 16:25:02 +0100 Subject: [PATCH 04/33] assume yes --- .github/workflows/documentation.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index 4d73fd63b..f4cd2cc4e 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -31,9 +31,8 @@ jobs: - name: Install dependencies run: | - cat /etc/os-release sudo dnf update - sudo dnf install openmpi openmpi-dev yaml-cpp doxygen graphviz ccache eigen3-dev libtiff catch2-devel + sudo dnf -y install openmpi openmpi-dev yaml-cpp doxygen graphviz ccache eigen3-dev libtiff catch2-devel #- name: Checkout Catch2 # uses: actions/checkout@v4 From d47cd28747531c137e3f58c73ec71e6deebee111 Mon Sep 17 00:00:00 2001 From: Christian Gutschow Date: Thu, 26 Sep 2024 16:27:05 +0100 Subject: [PATCH 05/33] assume yes for both, d'oh --- .github/workflows/documentation.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index f4cd2cc4e..6dd8d3a65 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -31,7 +31,7 @@ jobs: - name: Install dependencies run: | - sudo dnf update + sudo dnf -y update sudo dnf -y install openmpi openmpi-dev yaml-cpp doxygen graphviz ccache eigen3-dev libtiff catch2-devel #- name: Checkout Catch2 From a84ff8c150150f0c57b9954a2eb51087cd186eff Mon Sep 17 00:00:00 2001 From: Christian Gutschow Date: Thu, 26 Sep 2024 16:29:14 +0100 Subject: [PATCH 06/33] devel typo --- .github/workflows/documentation.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index 6dd8d3a65..1f0b57bc8 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -32,7 +32,7 @@ jobs: - name: Install dependencies run: | sudo dnf -y update - sudo dnf -y install openmpi openmpi-dev yaml-cpp doxygen graphviz ccache eigen3-dev libtiff catch2-devel + sudo dnf -y install openmpi openmpi-devel yaml-cpp doxygen graphviz ccache eigen3-devel libtiff catch2-devel #- name: Checkout Catch2 # uses: actions/checkout@v4 From efdd17be020b302b23cfe74b883b66da9331d0f6 Mon Sep 17 00:00:00 2001 From: Christian Gutschow Date: Thu, 26 Sep 2024 16:32:22 +0100 Subject: [PATCH 07/33] path debug --- .github/workflows/documentation.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index 1f0b57bc8..849820c3b 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -50,7 +50,9 @@ jobs: - name: Build run: | - export CMAKE_PREFIX_PATH=${{github.workspace}}/local:$CMAKE_PREFIX_PATH + #export CMAKE_PREFIX_PATH=${{github.workspace}}/local:$CMAKE_PREFIX_PATH + pwd + echo "${{github.workspace}}" mkdir ${{github.workspace}}/build cd ${{github.workspace}}/build cmake .. --fresh -DCMAKE_INSTALL_PREFIX=${{github.workspace}}/local -Ddompi=OFF -Dopenmp=OFF -Ddocs=ON -Donnxrt=ON From 54f666b89b49f0353323e4185b86b79be1075234 Mon Sep 17 00:00:00 2001 From: Christian Gutschow Date: Thu, 26 Sep 2024 16:35:13 +0100 Subject: [PATCH 08/33] adjust path for container image --- .github/workflows/documentation.yml | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index 849820c3b..8c3eaf3b1 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -50,12 +50,8 @@ jobs: - name: Build run: | - #export CMAKE_PREFIX_PATH=${{github.workspace}}/local:$CMAKE_PREFIX_PATH - pwd - echo "${{github.workspace}}" - mkdir ${{github.workspace}}/build - cd ${{github.workspace}}/build - cmake .. --fresh -DCMAKE_INSTALL_PREFIX=${{github.workspace}}/local -Ddompi=OFF -Dopenmp=OFF -Ddocs=ON -Donnxrt=ON + mkdir build && cd build + cmake .. --fresh -DCMAKE_INSTALL_PREFIX=${PWD}/../local -Ddompi=OFF -Dopenmp=OFF -Ddocs=ON -Donnxrt=ON make -j$(nproc --ignore 1) make -j$(nproc --ignore 1) install From c02c0c8a13b32ecdd005483ba90684605b5045da Mon Sep 17 00:00:00 2001 From: Christian Gutschow Date: Thu, 26 Sep 2024 16:37:29 +0100 Subject: [PATCH 09/33] install cmake --- .github/workflows/documentation.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index 8c3eaf3b1..76123f728 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -32,7 +32,7 @@ jobs: - name: Install dependencies run: | sudo dnf -y update - sudo dnf -y install openmpi openmpi-devel yaml-cpp doxygen graphviz ccache eigen3-devel libtiff catch2-devel + sudo dnf -y install openmpi openmpi-devel yaml-cpp doxygen graphviz ccache eigen3-devel libtiff catch2-devel cmake #- name: Checkout Catch2 # uses: actions/checkout@v4 From 3f2950670f4263a557cab363b9223e0758d58d54 Mon Sep 17 00:00:00 2001 From: Christian Gutschow Date: Thu, 26 Sep 2024 16:52:47 +0100 Subject: [PATCH 10/33] gcc missing?? --- .github/workflows/documentation.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index 76123f728..46ce4db71 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -32,7 +32,8 @@ jobs: - name: Install dependencies run: | sudo dnf -y update - sudo dnf -y install openmpi openmpi-devel yaml-cpp doxygen graphviz ccache eigen3-devel libtiff catch2-devel cmake + sudo dnf -y install cmake gcc gcc-c++ + sudo dnf -y install openmpi openmpi-devel yaml-cpp doxygen graphviz ccache eigen3-devel libtiff catch2-devel #- name: Checkout Catch2 # uses: actions/checkout@v4 @@ -50,6 +51,7 @@ jobs: - name: Build run: | + source /etc/profile.d/modules.sh mkdir build && cd build cmake .. --fresh -DCMAKE_INSTALL_PREFIX=${PWD}/../local -Ddompi=OFF -Dopenmp=OFF -Ddocs=ON -Donnxrt=ON make -j$(nproc --ignore 1) From 0a5c102b17d225f82d53ad01549fe446e7086d2b Mon Sep 17 00:00:00 2001 From: Christian Gutschow Date: Thu, 26 Sep 2024 16:54:50 +0100 Subject: [PATCH 11/33] meh --- .github/workflows/documentation.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index 46ce4db71..944a520b7 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -51,7 +51,6 @@ jobs: - name: Build run: | - source /etc/profile.d/modules.sh mkdir build && cd build cmake .. --fresh -DCMAKE_INSTALL_PREFIX=${PWD}/../local -Ddompi=OFF -Dopenmp=OFF -Ddocs=ON -Donnxrt=ON make -j$(nproc --ignore 1) From 85b36df85c5433c184143815c4737e9aaa417877 Mon Sep 17 00:00:00 2001 From: Christian Gutschow Date: Thu, 26 Sep 2024 16:58:24 +0100 Subject: [PATCH 12/33] try tiff devel --- .github/workflows/documentation.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index 944a520b7..63aa8e58d 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -33,7 +33,7 @@ jobs: run: | sudo dnf -y update sudo dnf -y install cmake gcc gcc-c++ - sudo dnf -y install openmpi openmpi-devel yaml-cpp doxygen graphviz ccache eigen3-devel libtiff catch2-devel + sudo dnf -y install openmpi openmpi-devel yaml-cpp doxygen graphviz ccache eigen3-devel libtiff-devel catch2-devel #- name: Checkout Catch2 # uses: actions/checkout@v4 From b285583ea292a0ac945a142427b6f82a207f8125 Mon Sep 17 00:00:00 2001 From: Christian Gutschow Date: Thu, 26 Sep 2024 17:05:39 +0100 Subject: [PATCH 13/33] need Catch2 v3 --- .github/workflows/documentation.yml | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index 63aa8e58d..e06cd9585 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -33,21 +33,21 @@ jobs: run: | sudo dnf -y update sudo dnf -y install cmake gcc gcc-c++ - sudo dnf -y install openmpi openmpi-devel yaml-cpp doxygen graphviz ccache eigen3-devel libtiff-devel catch2-devel + sudo dnf -y install openmpi openmpi-devel yaml-cpp doxygen graphviz ccache eigen3-devel libtiff-devel - #- name: Checkout Catch2 - # uses: actions/checkout@v4 - # with: - # repository: catchorg/Catch2.git - # path: Catch2 - # ref: v3.4.0 + - name: Checkout Catch2 + uses: actions/checkout@v4 + with: + repository: catchorg/Catch2.git + path: Catch2 + ref: v3.4.0 - #- name: Build Catch2 - # run: | - # mkdir Catch2/build - # cd Catch2/build - # cmake .. -DBUILD_TESTING=OFF -DCMAKE_INSTALL_PREFIX=${{github.workspace}}/local - # make -j$(nproc --ignore 1) install + - name: Build Catch2 + run: | + mkdir Catch2/build + cd Catch2/build + cmake .. -DBUILD_TESTING=OFF -DCMAKE_INSTALL_PREFIX=${{github.workspace}}/local + make -j$(nproc --ignore 1) install - name: Build run: | From f619b340a2724ddf5ff7b6ab0628dd78a09058c9 Mon Sep 17 00:00:00 2001 From: Christian Gutschow Date: Thu, 26 Sep 2024 17:09:46 +0100 Subject: [PATCH 14/33] no git?? --- .github/workflows/documentation.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index e06cd9585..c49f69eb8 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -33,7 +33,7 @@ jobs: run: | sudo dnf -y update sudo dnf -y install cmake gcc gcc-c++ - sudo dnf -y install openmpi openmpi-devel yaml-cpp doxygen graphviz ccache eigen3-devel libtiff-devel + sudo dnf -y install openmpi openmpi-devel yaml-cpp doxygen graphviz ccache eigen3-devel libtiff-devel git - name: Checkout Catch2 uses: actions/checkout@v4 From cbad4554c1bab10ab08d52b80ff0003fa7deac99 Mon Sep 17 00:00:00 2001 From: Christian Gutschow Date: Thu, 26 Sep 2024 17:13:18 +0100 Subject: [PATCH 15/33] try pointing CMake at Catch2 --- .github/workflows/documentation.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index c49f69eb8..6430ad76a 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -51,6 +51,7 @@ jobs: - name: Build run: | + export CMAKE_PREFIX_PATH=${{github.workspace}}/local:$CMAKE_PREFIX_PATH mkdir build && cd build cmake .. --fresh -DCMAKE_INSTALL_PREFIX=${PWD}/../local -Ddompi=OFF -Dopenmp=OFF -Ddocs=ON -Donnxrt=ON make -j$(nproc --ignore 1) From 8f50e9aff9a00dad3bb563bd2b37d5ff17702725 Mon Sep 17 00:00:00 2001 From: Christian Gutschow Date: Thu, 28 Nov 2024 10:44:00 +0000 Subject: [PATCH 16/33] add fedora image to matrix --- .github/workflows/cmake.yml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index c1a1a04e7..46b4bdc78 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -28,6 +28,7 @@ jobs: # cross-platform coverage. # See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix runs-on: ${{matrix.os}} + container: ${{matrix.container}} env: CC: ${{ matrix.cc }} CXX: ${{ matrix.cxx }} @@ -62,6 +63,13 @@ jobs: # This doesn't seem to work with ONNXrt yet: - os: macos-14 cxx: g++-10 + include: + - os: ubuntu-20.04 + container: fedora:39 + cc: gcc-10 + cxx: g++-10 + mpi: "ON" + omp: "ON" steps: - uses: actions/checkout@v3 @@ -74,6 +82,13 @@ jobs: sudo apt update sudo apt install openmpi-bin libopenmpi-dev libyaml-cpp-dev ccache libeigen3-dev libtiff-dev + - name: Install Dependencies on Fedora + if: ${{ contains(matrix.container, 'fedora') }} + run: | + sudo dnf -y update + sudo dnf -y install cmake gcc gcc-c++ + sudo dnf -y install openmpi openmpi-devel yaml-cpp doxygen graphviz ccache eigen3-devel libtiff-devel git + - name: Checkout Catch2 uses: actions/checkout@v4 with: From 09c0e0ec4aa5b7631ff18a4617e8fc8afc76ebab Mon Sep 17 00:00:00 2001 From: Christian Gutschow Date: Thu, 28 Nov 2024 10:45:55 +0000 Subject: [PATCH 17/33] add container to job name --- .github/workflows/cmake.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index 46b4bdc78..abce67eec 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -22,7 +22,7 @@ jobs: build: # Skip CI if PR is a draft if: github.event.pull_request.draft == false - name: ${{matrix.os}}-${{matrix.cxx}}-mpi:${{matrix.mpi}}-openmp:${{matrix.omp}} + name: ${{matrix.os}}-${{matrix.container}}-${{matrix.cxx}}-mpi:${{matrix.mpi}}-openmp:${{matrix.omp}} # The CMake configure and build commands are platform agnostic and should work equally # well on Windows or Mac. You can convert this to a matrix build if you need # cross-platform coverage. From 4db4bd37c0a7c25de29fce35136b02f220304a94 Mon Sep 17 00:00:00 2001 From: Christian Gutschow Date: Thu, 28 Nov 2024 11:07:35 +0000 Subject: [PATCH 18/33] replace exclude with include --- .github/workflows/cmake.yml | 67 +++++++++++++++++-------------------- 1 file changed, 30 insertions(+), 37 deletions(-) diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index abce67eec..9805fe768 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -30,51 +30,44 @@ jobs: runs-on: ${{matrix.os}} container: ${{matrix.container}} env: - CC: ${{ matrix.cc }} + #CC: ${{ matrix.cc }} + CC: gcc-10 if ${{ contains(matrix.os, 'ubuntu') }} else clang CXX: ${{ matrix.cxx }} strategy: fail-fast: false matrix: - os: - - ubuntu-20.04 - - macos-14 - cc: - - gcc-10 - - clang - cxx: - - g++-10 - - clang++ - mpi: - - "ON" - - "OFF" - omp: - - "ON" - - "OFF" - exclude: - - cc: gcc-10 - cxx: clang++ - - cc: clang - cxx: g++-10 - - os: ubuntu-20.04 - cc: clang - cxx: clang++ - - os: macos-14 - mpi: "ON" - # This doesn't seem to work with ONNXrt yet: - - os: macos-14 - cxx: g++-10 + #os: [ ubuntu-20.04, macos-14 ] + #cc: [ gcc-10, clang ] + #cxx: [ g++-10, clang++ ] + #mpi: [ "ON", "OFF" ] + #omp: [ "ON", "OFF" ] + #container: [ fedora:39, "" ] + #exclude: + # - cc: gcc-10 + # cxx: clang++ + # - cc: clang + # cxx: g++-10 + # - os: ubuntu-20.04 + # cc: clang + # cxx: clang++ + # - os: macos-14 + # mpi: "ON" + # # This doesn't seem to work with ONNXrt yet: + # - os: macos-14 + # cxx: g++-10 include: - - os: ubuntu-20.04 - container: fedora:39 - cc: gcc-10 - cxx: g++-10 - mpi: "ON" - omp: "ON" + - [ os: ubuntu-20.04, cc: gcc-10, cxx: g++-10, mpi: "ON", omp: "ON" ] + - [ os: ubuntu-20.04, cc: gcc-10, cxx: g++-10, mpi: "ON", omp: "OFF" ] + - [ os: ubuntu-20.04, cc: gcc-10, cxx: g++-10, mpi: "OFF", omp: "ON" ] + - [ os: ubuntu-20.04, cc: gcc-10, cxx: g++-10, mpi: "OFF", omp: "OFF" ] + - [ os: ubuntu-20.04, container: fedora:39, cc: gcc-10, cxx: g++-10, mpi: "ON", omp: "ON" ] + - [ os: macos-14, cc: clang, cxx: clang++, mpi: "ON", omp: "ON" ] + #- [ os: macos-14, cc: clang, cxx: clang++, mpi: "OFF", omp: "ON" ] + #- [ os: macos-14, cc: clang, cxx: clang++, mpi: "ON", omp: "OFF" ] + - [ os: macos-14, cc: clang, cxx: clang++, mpi: "OFF", omp: "OFF" ] steps: - uses: actions/checkout@v3 - with: - submodules: recursive - name: Install Dependencies on Ubunutu if: ${{ contains(matrix.os, 'ubuntu') }} From fd49c6c29bd531a137e609a685560beab0f5e145 Mon Sep 17 00:00:00 2001 From: Christian Gutschow Date: Thu, 28 Nov 2024 11:13:48 +0000 Subject: [PATCH 19/33] undo CC if else --- .github/workflows/cmake.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index 9805fe768..a03f7f820 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -30,8 +30,7 @@ jobs: runs-on: ${{matrix.os}} container: ${{matrix.container}} env: - #CC: ${{ matrix.cc }} - CC: gcc-10 if ${{ contains(matrix.os, 'ubuntu') }} else clang + CC: ${{ matrix.cc }} CXX: ${{ matrix.cxx }} strategy: fail-fast: false From 4ca0a9c6ab74294ca5c1c143b4fa4c07d4ba75e5 Mon Sep 17 00:00:00 2001 From: Christian Gutschow Date: Thu, 28 Nov 2024 11:15:31 +0000 Subject: [PATCH 20/33] avoid list notation --- .github/workflows/cmake.yml | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index a03f7f820..5f5cf9895 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -55,15 +55,28 @@ jobs: # - os: macos-14 # cxx: g++-10 include: - - [ os: ubuntu-20.04, cc: gcc-10, cxx: g++-10, mpi: "ON", omp: "ON" ] - - [ os: ubuntu-20.04, cc: gcc-10, cxx: g++-10, mpi: "ON", omp: "OFF" ] - - [ os: ubuntu-20.04, cc: gcc-10, cxx: g++-10, mpi: "OFF", omp: "ON" ] - - [ os: ubuntu-20.04, cc: gcc-10, cxx: g++-10, mpi: "OFF", omp: "OFF" ] - - [ os: ubuntu-20.04, container: fedora:39, cc: gcc-10, cxx: g++-10, mpi: "ON", omp: "ON" ] - - [ os: macos-14, cc: clang, cxx: clang++, mpi: "ON", omp: "ON" ] + - os: ubuntu-20.04 + cc: gcc-10 + cxx: g++-10 + mpi: "ON" + omp: "ON" + - os: ubuntu-20.04 + cc: gcc-10 + cxx: g++-10 + mpi: "ON" + omp: "OFF" + - os: ubuntu-20.04 + cc: gcc-10 + cxx: g++-10 + mpi: "OFF" + omp: "ON" + #- os: ubuntu-20.04 + # cc: gcc-10, cxx: g++-10, mpi: "OFF", omp: "OFF" ] + #- os: ubuntu-20.04, container: fedora:39, cc: gcc-10, cxx: g++-10, mpi: "ON", omp: "ON" ] + #- os: macos-14, cc: clang, cxx: clang++, mpi: "ON", omp: "ON" ] + #- os: macos-14, cc: clang, cxx: clang++, mpi: "OFF", omp: "OFF" ] #- [ os: macos-14, cc: clang, cxx: clang++, mpi: "OFF", omp: "ON" ] #- [ os: macos-14, cc: clang, cxx: clang++, mpi: "ON", omp: "OFF" ] - - [ os: macos-14, cc: clang, cxx: clang++, mpi: "OFF", omp: "OFF" ] steps: - uses: actions/checkout@v3 From 5a6fe87cfbe37bd5590bf701385a1ad4038c8f57 Mon Sep 17 00:00:00 2001 From: Christian Gutschow Date: Thu, 28 Nov 2024 11:18:20 +0000 Subject: [PATCH 21/33] try curly braces --- .github/workflows/cmake.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index 5f5cf9895..9eb7f3f9b 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -55,11 +55,7 @@ jobs: # - os: macos-14 # cxx: g++-10 include: - - os: ubuntu-20.04 - cc: gcc-10 - cxx: g++-10 - mpi: "ON" - omp: "ON" + - { os: ubuntu-20.04, cc: gcc-10, cxx: g++-10, mpi: "ON", omp: "ON" } - os: ubuntu-20.04 cc: gcc-10 cxx: g++-10 From a5b3abcb69af649e592ee35c6261877f163a9a9a Mon Sep 17 00:00:00 2001 From: Christian Gutschow Date: Thu, 28 Nov 2024 11:19:30 +0000 Subject: [PATCH 22/33] remove CC --- .github/workflows/cmake.yml | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index 9eb7f3f9b..736546d8a 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -55,17 +55,9 @@ jobs: # - os: macos-14 # cxx: g++-10 include: - - { os: ubuntu-20.04, cc: gcc-10, cxx: g++-10, mpi: "ON", omp: "ON" } - - os: ubuntu-20.04 - cc: gcc-10 - cxx: g++-10 - mpi: "ON" - omp: "OFF" - - os: ubuntu-20.04 - cc: gcc-10 - cxx: g++-10 - mpi: "OFF" - omp: "ON" + - { os: ubuntu-20.04, cxx: g++-10, mpi: "ON", omp: "ON" } + - { os: ubuntu-20.04, cxx: g++-10, mpi: "ON", omp: "OFF" } + - { os: ubuntu-20.04, cxx: g++-10, mpi: "OFF", omp: "ON" } #- os: ubuntu-20.04 # cc: gcc-10, cxx: g++-10, mpi: "OFF", omp: "OFF" ] #- os: ubuntu-20.04, container: fedora:39, cc: gcc-10, cxx: g++-10, mpi: "ON", omp: "ON" ] From bda71b31887eeda0c4e1fe5ce928d3087bbd473c Mon Sep 17 00:00:00 2001 From: Christian Gutschow Date: Thu, 28 Nov 2024 11:23:19 +0000 Subject: [PATCH 23/33] add Fedora to the matrix --- .github/workflows/cmake.yml | 41 +++++------------------------ .github/workflows/documentation.yml | 6 ++--- 2 files changed, 8 insertions(+), 39 deletions(-) diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index 736546d8a..d9d19bed7 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -23,10 +23,6 @@ jobs: # Skip CI if PR is a draft if: github.event.pull_request.draft == false name: ${{matrix.os}}-${{matrix.container}}-${{matrix.cxx}}-mpi:${{matrix.mpi}}-openmp:${{matrix.omp}} - # The CMake configure and build commands are platform agnostic and should work equally - # well on Windows or Mac. You can convert this to a matrix build if you need - # cross-platform coverage. - # See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix runs-on: ${{matrix.os}} container: ${{matrix.container}} env: @@ -35,36 +31,16 @@ jobs: strategy: fail-fast: false matrix: - #os: [ ubuntu-20.04, macos-14 ] - #cc: [ gcc-10, clang ] - #cxx: [ g++-10, clang++ ] - #mpi: [ "ON", "OFF" ] - #omp: [ "ON", "OFF" ] - #container: [ fedora:39, "" ] - #exclude: - # - cc: gcc-10 - # cxx: clang++ - # - cc: clang - # cxx: g++-10 - # - os: ubuntu-20.04 - # cc: clang - # cxx: clang++ - # - os: macos-14 - # mpi: "ON" - # # This doesn't seem to work with ONNXrt yet: - # - os: macos-14 - # cxx: g++-10 include: - { os: ubuntu-20.04, cxx: g++-10, mpi: "ON", omp: "ON" } - { os: ubuntu-20.04, cxx: g++-10, mpi: "ON", omp: "OFF" } - { os: ubuntu-20.04, cxx: g++-10, mpi: "OFF", omp: "ON" } - #- os: ubuntu-20.04 - # cc: gcc-10, cxx: g++-10, mpi: "OFF", omp: "OFF" ] - #- os: ubuntu-20.04, container: fedora:39, cc: gcc-10, cxx: g++-10, mpi: "ON", omp: "ON" ] - #- os: macos-14, cc: clang, cxx: clang++, mpi: "ON", omp: "ON" ] - #- os: macos-14, cc: clang, cxx: clang++, mpi: "OFF", omp: "OFF" ] - #- [ os: macos-14, cc: clang, cxx: clang++, mpi: "OFF", omp: "ON" ] - #- [ os: macos-14, cc: clang, cxx: clang++, mpi: "ON", omp: "OFF" ] + - { os: ubuntu-20.04, cxx: g++-10, mpi: "OFF", omp: "OFF" } + - { os: ubuntu-20.04, container: fedora:39, cxx: g++-10, mpi: "ON", omp: "ON" } + - { os: macos-14, cxx: clang++, mpi: "ON", omp: "ON" } + - { os: macos-14, cxx: clang++, mpi: "OFF", omp: "OFF" } + #- { os: macos-14, cxx: clang++, mpi: "OFF", omp: "ON" } + #- { os: macos-14, cxx: clang++, mpi: "ON", omp: "OFF" } steps: - uses: actions/checkout@v3 @@ -104,11 +80,6 @@ jobs: echo "/opt/homebrew/opt/ccache/libexec" >> $GITHUB_PATH #echo "/opt/homebrew/opt/libomp" >> $GITHUB_PATH - #- name: Install gcc on MacOS - # if: ${{ contains(matrix.os, 'macos') && contains(matrix.cxx, 'g++10') }} - # run: | - # brew install gcc@10 - # Enable tmate debugging of manually-triggered workflows if the input option was provided - name: Setup tmate session uses: mxschmitt/action-tmate@v3 diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index 6430ad76a..870fb0acb 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -19,7 +19,6 @@ env: jobs: make-documentation: runs-on: ubuntu-22.04 - container: fedora:39 steps: - name: Check out sopt uses: actions/checkout@v3 @@ -31,9 +30,8 @@ jobs: - name: Install dependencies run: | - sudo dnf -y update - sudo dnf -y install cmake gcc gcc-c++ - sudo dnf -y install openmpi openmpi-devel yaml-cpp doxygen graphviz ccache eigen3-devel libtiff-devel git + sudo apt update + sudo apt install openmpi-bin libopenmpi-dev libyaml-cpp-dev doxygen graphviz ccache libeigen3-dev libtiff-dev - name: Checkout Catch2 uses: actions/checkout@v4 From c710bb49c6b11095d4789b837c2e0a16fd6b241d Mon Sep 17 00:00:00 2001 From: Christian Gutschow Date: Thu, 28 Nov 2024 11:25:14 +0000 Subject: [PATCH 24/33] make image value a string --- .github/workflows/cmake.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index d9d19bed7..89f28e3ee 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -36,7 +36,7 @@ jobs: - { os: ubuntu-20.04, cxx: g++-10, mpi: "ON", omp: "OFF" } - { os: ubuntu-20.04, cxx: g++-10, mpi: "OFF", omp: "ON" } - { os: ubuntu-20.04, cxx: g++-10, mpi: "OFF", omp: "OFF" } - - { os: ubuntu-20.04, container: fedora:39, cxx: g++-10, mpi: "ON", omp: "ON" } + - { os: ubuntu-20.04, container: "fedora:39", cxx: g++-10, mpi: "ON", omp: "ON" } - { os: macos-14, cxx: clang++, mpi: "ON", omp: "ON" } - { os: macos-14, cxx: clang++, mpi: "OFF", omp: "OFF" } #- { os: macos-14, cxx: clang++, mpi: "OFF", omp: "ON" } From a7c18317dbe167d6804387f458e64b9fbd75c2fe Mon Sep 17 00:00:00 2001 From: Christian Gutschow Date: Thu, 28 Nov 2024 11:26:41 +0000 Subject: [PATCH 25/33] exclude Ubuntu step for Fedora --- .github/workflows/cmake.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index 89f28e3ee..c3169b1d3 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -46,7 +46,7 @@ jobs: - uses: actions/checkout@v3 - name: Install Dependencies on Ubunutu - if: ${{ contains(matrix.os, 'ubuntu') }} + if: ${{ contains(matrix.os, 'ubuntu') }} && ! ${{ contains(matrix.container, 'fedora') }} run: | sudo apt update sudo apt install openmpi-bin libopenmpi-dev libyaml-cpp-dev ccache libeigen3-dev libtiff-dev From 20ec9aba5bbed198ae0713482a6f7935f9220ed2 Mon Sep 17 00:00:00 2001 From: Christian Gutschow Date: Thu, 28 Nov 2024 11:30:02 +0000 Subject: [PATCH 26/33] follow ChatGPT advice --- .github/workflows/cmake.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index c3169b1d3..f34e3eb39 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -46,7 +46,7 @@ jobs: - uses: actions/checkout@v3 - name: Install Dependencies on Ubunutu - if: ${{ contains(matrix.os, 'ubuntu') }} && ! ${{ contains(matrix.container, 'fedora') }} + if: contains(matrix.os, 'ubuntu') && !contains(matrix.container, 'fedora') run: | sudo apt update sudo apt install openmpi-bin libopenmpi-dev libyaml-cpp-dev ccache libeigen3-dev libtiff-dev From c1463e30336888cdbf4bb052795fb56bbbd33c06 Mon Sep 17 00:00:00 2001 From: Christian Gutschow Date: Thu, 28 Nov 2024 11:34:53 +0000 Subject: [PATCH 27/33] use uncersioned gcc for Fedora image --- .github/workflows/cmake.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index f34e3eb39..1a3450419 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -36,7 +36,7 @@ jobs: - { os: ubuntu-20.04, cxx: g++-10, mpi: "ON", omp: "OFF" } - { os: ubuntu-20.04, cxx: g++-10, mpi: "OFF", omp: "ON" } - { os: ubuntu-20.04, cxx: g++-10, mpi: "OFF", omp: "OFF" } - - { os: ubuntu-20.04, container: "fedora:39", cxx: g++-10, mpi: "ON", omp: "ON" } + - { os: ubuntu-20.04, container: "fedora:39", cxx: g++, mpi: "ON", omp: "ON" } - { os: macos-14, cxx: clang++, mpi: "ON", omp: "ON" } - { os: macos-14, cxx: clang++, mpi: "OFF", omp: "OFF" } #- { os: macos-14, cxx: clang++, mpi: "OFF", omp: "ON" } From d49226834e4fb7ec78a53606e1c48d684864bd4e Mon Sep 17 00:00:00 2001 From: Christian Gutschow Date: Thu, 28 Nov 2024 11:38:42 +0000 Subject: [PATCH 28/33] fix path --- .github/workflows/cmake.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index 1a3450419..2137ea333 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -107,8 +107,7 @@ jobs: # The Github Actions machines are dual-core so we can build faster using 2 parallel processes run: | export CMAKE_PREFIX_PATH=${{github.workspace}}/local:$CMAKE_PREFIX_PATH - mkdir ${{github.workspace}}/build - cd ${{github.workspace}}/build + mkdir build && cd build cmake .. --fresh -DCMAKE_INSTALL_PREFIX=${{github.workspace}}/local -Ddompi=${{matrix.mpi}} -Dopenmp=${{matrix.omp}} make -j$(nproc --ignore 1) install From e2c7cdfb7db74fb630c61635298c3793381a2f91 Mon Sep 17 00:00:00 2001 From: Christian Gutschow Date: Thu, 28 Nov 2024 11:53:20 +0000 Subject: [PATCH 29/33] try loading mpi module --- .github/workflows/cmake.yml | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index 2137ea333..ed82be519 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -58,6 +58,14 @@ jobs: sudo dnf -y install cmake gcc gcc-c++ sudo dnf -y install openmpi openmpi-devel yaml-cpp doxygen graphviz ccache eigen3-devel libtiff-devel git + - name: Install Dependencies on MacOS + if: ${{ contains(matrix.os, 'macos') }} + run: | + brew install libtiff libomp open-mpi eigen libyaml ccache catch2 + echo "CMAKE_PREFIX_PATH=/opt/homebrew/opt/libomp" >> $GITHUB_ENV + echo "/opt/homebrew/opt/ccache/libexec" >> $GITHUB_PATH + #echo "/opt/homebrew/opt/libomp" >> $GITHUB_PATH + - name: Checkout Catch2 uses: actions/checkout@v4 with: @@ -72,14 +80,6 @@ jobs: cmake .. -DBUILD_TESTING=OFF -DCMAKE_INSTALL_PREFIX=${{github.workspace}}/local make -j$(nproc --ignore 1) install - - name: Install Dependencies on MacOS - if: ${{ contains(matrix.os, 'macos') }} - run: | - brew install libtiff libomp open-mpi eigen libyaml ccache catch2 - echo "CMAKE_PREFIX_PATH=/opt/homebrew/opt/libomp" >> $GITHUB_ENV - echo "/opt/homebrew/opt/ccache/libexec" >> $GITHUB_PATH - #echo "/opt/homebrew/opt/libomp" >> $GITHUB_PATH - # Enable tmate debugging of manually-triggered workflows if the input option was provided - name: Setup tmate session uses: mxschmitt/action-tmate@v3 @@ -95,8 +95,9 @@ jobs: uses: actions/cache@v3 with: path: ${{runner.workspace}}/.ccache - key: ${{matrix.os}}-${{matrix.cxx}}-${{matrix.mpi}}-${{matrix.omp}}-${{ steps.ccache_cache_timestamp.outputs.date_and_time }} + key: ${{matrix.os}}-${{matrix.container}}-${{matrix.cxx}}-${{matrix.mpi}}-${{matrix.omp}}-${{ steps.ccache_cache_timestamp.outputs.date_and_time }} restore-keys: | + ${{ matrix.os }}-${{ matrix.container }}-${{ matrix.cxx }}-${{ matrix.mpi }}-${{ matrix.omp }} ${{ matrix.os }}-${{ matrix.cxx }}-${{ matrix.mpi }}-${{ matrix.omp }} ${{ matrix.os }}-${{ matrix.cxx }}-${{ matrix.mpi }} ${{ matrix.os }}-${{ matrix.cxx }} @@ -106,6 +107,10 @@ jobs: # Build your program with the given configuration. # The Github Actions machines are dual-core so we can build faster using 2 parallel processes run: | + if [ ${{ contains(matrix.container, 'fedora') }} ]; then + source /etc/profile.d/modules.sh + module load mpi/openmpi-x86_64 + fi export CMAKE_PREFIX_PATH=${{github.workspace}}/local:$CMAKE_PREFIX_PATH mkdir build && cd build cmake .. --fresh -DCMAKE_INSTALL_PREFIX=${{github.workspace}}/local -Ddompi=${{matrix.mpi}} -Dopenmp=${{matrix.omp}} From 04881910bd09fa1b072e126671eff0810220f7f8 Mon Sep 17 00:00:00 2001 From: Christian Gutschow Date: Thu, 28 Nov 2024 12:00:28 +0000 Subject: [PATCH 30/33] fix if statement --- .github/workflows/cmake.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index ed82be519..5f6d84e0d 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -107,7 +107,7 @@ jobs: # Build your program with the given configuration. # The Github Actions machines are dual-core so we can build faster using 2 parallel processes run: | - if [ ${{ contains(matrix.container, 'fedora') }} ]; then + if [[ ${{ matrix.containeri }} == "*fedora*" ]]; then source /etc/profile.d/modules.sh module load mpi/openmpi-x86_64 fi From 37423628d8a98347ff49da876915aa2451a9ced9 Mon Sep 17 00:00:00 2001 From: Christian Gutschow Date: Thu, 28 Nov 2024 12:02:37 +0000 Subject: [PATCH 31/33] fall back to empty string if variable not defined --- .github/workflows/cmake.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index 5f6d84e0d..d2ecb4625 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -107,7 +107,7 @@ jobs: # Build your program with the given configuration. # The Github Actions machines are dual-core so we can build faster using 2 parallel processes run: | - if [[ ${{ matrix.containeri }} == "*fedora*" ]]; then + if [[ "${{ matrix.containeri }}" == "*fedora*" ]]; then source /etc/profile.d/modules.sh module load mpi/openmpi-x86_64 fi From bd4bdd08f6f880fd6ae6b82143dc900946d6f3b0 Mon Sep 17 00:00:00 2001 From: Christian Gutschow Date: Thu, 28 Nov 2024 12:02:58 +0000 Subject: [PATCH 32/33] remove rogue i --- .github/workflows/cmake.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index d2ecb4625..0d53b57cf 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -107,7 +107,7 @@ jobs: # Build your program with the given configuration. # The Github Actions machines are dual-core so we can build faster using 2 parallel processes run: | - if [[ "${{ matrix.containeri }}" == "*fedora*" ]]; then + if [[ "${{ matrix.container }}" == "*fedora*" ]]; then source /etc/profile.d/modules.sh module load mpi/openmpi-x86_64 fi From f9d7cba681761d842c4889f0fa4664a0dbd78ef9 Mon Sep 17 00:00:00 2001 From: Christian Gutschow Date: Thu, 28 Nov 2024 12:11:47 +0000 Subject: [PATCH 33/33] disable MPI for Fedora --- .github/workflows/cmake.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index 0d53b57cf..dcbef9941 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -36,7 +36,7 @@ jobs: - { os: ubuntu-20.04, cxx: g++-10, mpi: "ON", omp: "OFF" } - { os: ubuntu-20.04, cxx: g++-10, mpi: "OFF", omp: "ON" } - { os: ubuntu-20.04, cxx: g++-10, mpi: "OFF", omp: "OFF" } - - { os: ubuntu-20.04, container: "fedora:39", cxx: g++, mpi: "ON", omp: "ON" } + - { os: ubuntu-20.04, container: "fedora:39", cxx: g++, mpi: "OFF", omp: "ON" } - { os: macos-14, cxx: clang++, mpi: "ON", omp: "ON" } - { os: macos-14, cxx: clang++, mpi: "OFF", omp: "OFF" } #- { os: macos-14, cxx: clang++, mpi: "OFF", omp: "ON" } @@ -107,10 +107,6 @@ jobs: # Build your program with the given configuration. # The Github Actions machines are dual-core so we can build faster using 2 parallel processes run: | - if [[ "${{ matrix.container }}" == "*fedora*" ]]; then - source /etc/profile.d/modules.sh - module load mpi/openmpi-x86_64 - fi export CMAKE_PREFIX_PATH=${{github.workspace}}/local:$CMAKE_PREFIX_PATH mkdir build && cd build cmake .. --fresh -DCMAKE_INSTALL_PREFIX=${{github.workspace}}/local -Ddompi=${{matrix.mpi}} -Dopenmp=${{matrix.omp}}