2626 fail-fast : false
2727 matrix :
2828 include :
29- - {os: ubuntu-24.04, cc: gcc, cxx: g++, doc: OFF}
30- - {os: ubuntu-24.04, cc: clang, cxx: clang++, doc: ON}
31- # - {os: macos-14, cc: gcc-14, cxx: g++-14, doc: OFF}
32- # - {os: macos-14, cc: clang, cxx: clang++, doc: OFF}
29+ - {os: ubuntu-24.04, cxx: g++, doc: OFF}
30+ - {os: ubuntu-24.04, cxx: clang++, doc: ON}
3331
3432 runs-on : ${{ matrix.os }}
3533
3937 - uses : actions/cache/restore@v4
4038 with :
4139 path : ${{ env.CCACHE_DIR }}
42- key : ccache-${{ matrix.os }}-${{ matrix.cc }}-${{ github.run_id }}
43- restore-keys :
44- ccache-${{ matrix.os }}-${{ matrix.cc }}-
40+ key : ccache-${{ matrix.os }}-${{ matrix.cxx }}-${{ github.run_id }}-${{ github.run_attempt }}
41+ restore-keys : |
42+ ccache-${{ matrix.os }}-${{ matrix.cxx }}-
43+
44+ - name : Set cxx variables
45+ run : |
46+ if [[ ${{ matrix.os }} == 'macos-15' && ${{ matrix.cxx }} == 'g++' ]]; then
47+ echo "CXX=g++-15" >> $GITHUB_ENV
48+ else
49+ echo "CXX=${{ matrix.cxx }}" >> $GITHUB_ENV
50+ fi
4551
4652 - name : Install ubuntu dependencies
4753 if : ${{ contains(matrix.os, 'ubuntu') }}
@@ -50,15 +56,18 @@ jobs:
5056 sudo apt-get install lsb-release wget software-properties-common &&
5157 sudo apt-get install
5258 ccache
59+ cmake
60+ ninja-build
5361 clang
62+ clang-tools
5463 g++
5564 hdf5-tools
5665 libblas-dev
5766 libc++-dev
5867 libc++abi-dev
5968 libomp-dev
6069 libhdf5-dev
61- liblapack -dev
70+ libopenblas -dev
6271 libopenmpi-dev
6372 openmpi-bin
6473 openmpi-common
7584
7685 - name : Set up virtualenv
7786 run : |
78- mkdir $HOME/.venv
87+ mkdir -p $HOME/.venv
7988 python3 -m venv --system-site-packages $HOME/.venv/my_python
8089 source $HOME/.venv/my_python/bin/activate
8190 echo "VIRTUAL_ENV=$VIRTUAL_ENV" >> $GITHUB_ENV
@@ -86,23 +95,19 @@ jobs:
8695 run : |
8796 brew update
8897 brew install ccache gcc llvm hdf5 open-mpi openblas
89- pip install mako
9098 echo "PATH=$(brew --prefix llvm)/bin:$(brew --prefix gcc)/bin:$PATH" >> $GITHUB_ENV
91- echo "PYTHONPATH=$(brew --prefix llvm)/lib/python3.13/site-packages" >> $GITHUB_ENV
99+ echo "SDKROOT=$(xcrun --show-sdk-path)" >> $GITHUB_ENV
100+ echo "LDFLAGS=-L$(brew --prefix llvm)/lib/c++ -L/opt/homebrew/opt/llvm/lib/unwind -lunwind" >> $GITHUB_ENV
92101
93102 - name : Add clang CXXFLAGS
94- if : ${{ contains( matrix.cxx, 'clang') }}
103+ if : ${{ matrix.cxx == 'clang++' }}
95104 run : |
96105 echo "CXXFLAGS=-stdlib=libc++" >> $GITHUB_ENV
97106
98107 - name : Build cppdlr
99- env :
100- CC : ${{ matrix.cc }}
101- CXX : ${{ matrix.cxx }}
102- TRIQS_BRANCH : ${{ github.event_name == 'pull_request' && github.base_ref || github.ref_name }}
103108 run : |
104- mkdir build && cd build && cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/install -DBuild_Documentation=${{ matrix.doc }}
105- make -j2 || make -j1 VERBOSE=1
109+ cmake -S . -B build -G Ninja -DCMAKE_INSTALL_PREFIX=$HOME/install -DBuild_Documentation=${{ matrix.doc }}
110+ cmake --build build --verbose
106111
107112 - name : Test cppdlr
108113 env :
@@ -119,7 +124,7 @@ jobs:
119124 if : always()
120125 with :
121126 path : ${{ env.CCACHE_DIR }}
122- key : ccache-${{ matrix.os }}-${{ matrix.cc }}-${{ github.run_id }}
127+ key : ccache-${{ matrix.os }}-${{ matrix.cxx }}-${{ github.run_id }}-${{ github.run_attempt }}
123128
124129 - name : Deploy documentation to website
125130 if : matrix.doc == 'ON' && github.event_name == 'push'
0 commit comments