@@ -26,40 +26,39 @@ jobs:
26
26
fail-fast : false
27
27
matrix :
28
28
include :
29
- - {os: ubuntu-22 .04, cc: gcc-12 , cxx: g++-12 , doc: OFF}
30
- - {os: ubuntu-22 .04, cc: clang-15 , cxx: clang++-15 , doc: ON}
31
- - {os: macos-12 , cc: gcc-12 , cxx: g++-12 , doc: OFF}
32
- - {os: macos-12 , cc: clang, cxx: clang++, doc: OFF}
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}
33
33
34
34
runs-on : ${{ matrix.os }}
35
35
36
36
steps :
37
37
- uses : actions/checkout@v4
38
38
39
- - uses : actions/cache/restore@v3
39
+ - uses : actions/cache/restore@v4
40
40
with :
41
41
path : ${{ env.CCACHE_DIR }}
42
42
key : ccache-${{ matrix.os }}-${{ matrix.cc }}-${{ github.run_id }}
43
43
restore-keys :
44
44
ccache-${{ matrix.os }}-${{ matrix.cc }}-
45
45
46
46
- name : Install ubuntu dependencies
47
- if : matrix.os == 'ubuntu-22.04'
47
+ if : ${{ contains( matrix.os, 'ubuntu') }}
48
48
run : >
49
49
sudo apt-get update &&
50
50
sudo apt-get install lsb-release wget software-properties-common &&
51
- wget -O /tmp/llvm.sh https://apt.llvm.org/llvm.sh && sudo chmod +x /tmp/llvm.sh && sudo /tmp/llvm.sh 15 &&
52
51
sudo apt-get install
53
52
ccache
54
- clang-15
55
- g++-12
53
+ clang
54
+ g++
56
55
gfortran
57
56
hdf5-tools
58
57
libblas-dev
59
- libclang-15- dev
60
- libc++-15- dev
61
- libc++abi-15- dev
62
- libomp-15- dev
58
+ libclang-dev
59
+ libc++-dev
60
+ libc++abi-dev
61
+ libomp-dev
63
62
libfftw3-dev
64
63
libgfortran5
65
64
libgmp-dev
69
68
openmpi-bin
70
69
openmpi-common
71
70
openmpi-doc
72
- python3-clang-15
71
+ python3-clang
73
72
python3-dev
74
73
python3-mako
75
74
python3-mpi4py
@@ -80,52 +79,54 @@ jobs:
80
79
python3-nbsphinx
81
80
82
81
- name : Install homebrew dependencies
83
- if : matrix.os == 'macos-12'
82
+ if : ${{ contains( matrix.os, 'macos') }}
84
83
run : |
85
- brew install ccache gcc@12 llvm hdf5 open-mpi openblas
84
+ brew update
85
+ brew install ccache gcc llvm hdf5 open-mpi openblas
86
86
mkdir $HOME/.venv
87
87
python3 -m venv $HOME/.venv/my_python
88
88
source $HOME/.venv/my_python/bin/activate
89
89
pip install mako numpy scipy mpi4py
90
90
pip install -r requirements.txt
91
91
echo "VIRTUAL_ENV=$VIRTUAL_ENV" >> $GITHUB_ENV
92
- echo "PATH=$PATH" >> $GITHUB_ENV
92
+ echo "PATH=$(brew --prefix llvm)/bin:$(brew --prefix gcc)/bin:$ PATH" >> $GITHUB_ENV
93
93
94
94
- name : Build doxygen
95
95
if : matrix.doc == 'ON'
96
96
env :
97
97
CC : ${{ matrix.cc }}
98
98
CXX : ${{ matrix.cxx }}
99
- LIBRARY_PATH : /usr/local/opt/llvm/lib
100
99
run : |
101
100
cd $HOME
102
101
git clone https://github.com/doxygen/doxygen.git
103
102
cd doxygen
104
- git checkout 0a7e79813
103
+ git checkout Release_1_12_0
105
104
mkdir build
106
105
cd build
107
- cmake .. -Duse_libclang=ON -Dstatic_libclang=ON - Duse_libc++=OFF -DLLVM_ROOT=/usr/lib/llvm-15/lib/cmake/llvm -DClang_ROOT=/usr/lib/llvm-15/lib/cmake/clang
106
+ cmake .. -Duse_libclang=ON -Duse_libc++=OFF
108
107
make -j 2 VERBOSE=1
109
108
cp bin/doxygen /usr/local/bin/doxygen
110
109
111
- - name : add clang cxxflags
110
+ - name : Add clang CXXFLAGS
112
111
if : ${{ contains(matrix.cxx, 'clang') }}
113
112
run : |
114
- echo "PATH=/usr/local/opt/llvm/bin:$PATH" >> $GITHUB_ENV
115
113
echo "CXXFLAGS=-stdlib=libc++" >> $GITHUB_ENV
116
114
115
+ - name : Add clang LDFLAGS for macos to link against brew's libc++
116
+ if : ${{ contains(matrix.os, 'macos') && contains(matrix.cxx, 'clang') }}
117
+ run : |
118
+ echo 'LDFLAGS="-L$(brew --prefix llvm)/lib/c++ -L$(brew --prefix llvm)/lib -lunwind"' >> $GITHUB_ENV
119
+
117
120
- name : Build h5
118
121
env :
119
122
CC : ${{ matrix.cc }}
120
123
CXX : ${{ matrix.cxx }}
121
- LIBRARY_PATH : /usr/local/opt/llvm/lib
122
124
run : |
123
125
mkdir build && cd build && cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/install -DBuild_Documentation=${{ matrix.doc }}
124
126
make -j2 || make -j1 VERBOSE=1
125
127
126
128
- name : Test h5
127
129
env :
128
- DYLD_FALLBACK_LIBRARY_PATH : /usr/local/opt/llvm/lib
129
130
OPENBLAS_NUM_THREADS : " 1"
130
131
run : |
131
132
cd build
@@ -135,7 +136,7 @@ jobs:
135
136
if : always()
136
137
run : ccache -sv
137
138
138
- - uses : actions/cache/save@v3
139
+ - uses : actions/cache/save@v4
139
140
if : always()
140
141
with :
141
142
path : ${{ env.CCACHE_DIR }}
0 commit comments