3030 - name : Run linter
3131 run : |
3232 python3 -m flake8 .
33+ ubuntu-gcc-arm64-build :
34+ needs :
35+ - clang-format
36+ - python-lint
37+ runs-on : ubuntu-24.04-arm
38+ steps :
39+ - uses : actions/checkout@v4
40+ with :
41+ submodules : recursive
42+ - name : Setup environment
43+ run : |
44+ sudo apt-get update
45+ sudo apt-get install --no-install-recommends -y gcc-14 g++-14 ninja-build libmpich-dev libomp-dev valgrind
46+ python3 -m pip install -r requirements.txt
47+ - name : ccache
48+ uses : hendrikmuhs/ccache-action@v1.2
49+ with :
50+ key : ${{ runner.os }}-gcc-arm64
51+ create-symlink : true
52+ max-size : 1G
53+ - name : CMake configure
54+ run : >
55+ cmake -S . -B build
56+ -D CMAKE_C_COMPILER_LAUNCHER=ccache -D CMAKE_CXX_COMPILER_LAUNCHER=ccache
57+ -G Ninja -D USE_SEQ=ON -D USE_MPI=ON -D USE_OMP=ON -D USE_TBB=ON -D USE_STL=ON
58+ -D USE_FUNC_TESTS=ON -D USE_PERF_TESTS=ON
59+ -D CMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=install
60+ env :
61+ CC : gcc-14
62+ CXX : g++-14
63+ - name : Build project
64+ run : |
65+ cmake --build build --parallel
66+ env :
67+ CC : gcc-14
68+ CXX : g++-14
69+ - name : Install project
70+ run : |
71+ cmake --build build --target install
72+ - name : Archive installed package
73+ run : |
74+ tar -czvf ubuntu-gcc-arm64-install.tar.gz -C install .
75+ - name : Upload installed package
76+ uses : actions/upload-artifact@v4
77+ with :
78+ name : ubuntu-gcc-arm64-install
79+ path : ubuntu-gcc-arm64-install.tar.gz
3380 ubuntu-gcc-build :
3481 needs :
3582 - clang-format
@@ -203,7 +250,7 @@ jobs:
203250 sudo apt-get install --no-install-recommends -y ninja-build libmpich-dev python3-pip valgrind
204251 wget https://apt.llvm.org/llvm.sh
205252 chmod u+x llvm.sh
206- sudo ./llvm.sh 19 all
253+ sudo ./llvm.sh 20 all
207254 - name : ccache
208255 uses : hendrikmuhs/ccache-action@v1.2
209256 with :
@@ -218,14 +265,14 @@ jobs:
218265 -D USE_FUNC_TESTS=ON -D USE_PERF_TESTS=ON
219266 -D CMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=install
220267 env :
221- CC : clang-19
222- CXX : clang++-19
268+ CC : clang-20
269+ CXX : clang++-20
223270 - name : Build project
224271 run : |
225272 cmake --build build --parallel
226273 env :
227- CC : clang-19
228- CXX : clang++-19
274+ CC : clang-20
275+ CXX : clang++-20
229276 - name : Install project
230277 run : |
231278 cmake --build build --target install
@@ -237,6 +284,55 @@ jobs:
237284 with :
238285 name : ubuntu-clang-install
239286 path : ubuntu-clang-install.tar.gz
287+ ubuntu-clang-arm64-build :
288+ needs :
289+ - clang-format
290+ - python-lint
291+ runs-on : ubuntu-24.04-arm
292+ steps :
293+ - uses : actions/checkout@v4
294+ with :
295+ submodules : recursive
296+ - name : Setup environment
297+ run : |
298+ sudo apt-get update
299+ sudo apt-get install --no-install-recommends -y ninja-build libmpich-dev python3-pip valgrind
300+ wget https://apt.llvm.org/llvm.sh
301+ chmod u+x llvm.sh
302+ sudo ./llvm.sh 20 all
303+ - name : ccache
304+ uses : hendrikmuhs/ccache-action@v1.2
305+ with :
306+ key : ${{ runner.os }}-clang-arm64
307+ create-symlink : true
308+ max-size : 1G
309+ - name : CMake configure
310+ run : >
311+ cmake -S . -B build
312+ -D CMAKE_C_COMPILER_LAUNCHER=ccache -D CMAKE_CXX_COMPILER_LAUNCHER=ccache
313+ -G Ninja -D USE_SEQ=ON -D USE_MPI=ON -D USE_OMP=ON -D USE_TBB=ON -D USE_STL=ON
314+ -D USE_FUNC_TESTS=ON -D USE_PERF_TESTS=ON
315+ -D CMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=install
316+ env :
317+ CC : clang-20
318+ CXX : clang++-20
319+ - name : Build project
320+ run : |
321+ cmake --build build --parallel
322+ env :
323+ CC : clang-20
324+ CXX : clang++-20
325+ - name : Install project
326+ run : |
327+ cmake --build build --target install
328+ - name : Archive installed package
329+ run : |
330+ tar -czvf ubuntu-clang-arm64-install.tar.gz -C install .
331+ - name : Upload installed package
332+ uses : actions/upload-artifact@v4
333+ with :
334+ name : ubuntu-clang-arm64-install
335+ path : ubuntu-clang-arm64-install.tar.gz
240336 ubuntu-clang-test :
241337 needs :
242338 - ubuntu-clang-build
@@ -249,7 +345,7 @@ jobs:
249345 sudo apt-get install --no-install-recommends -y ninja-build libmpich-dev python3-pip valgrind
250346 wget https://apt.llvm.org/llvm.sh
251347 chmod u+x llvm.sh
252- sudo ./llvm.sh 19 all
348+ sudo ./llvm.sh 20 all
253349 - name : Download installed package
254350 uses : actions/download-artifact@v4
255351 with :
@@ -306,7 +402,7 @@ jobs:
306402 sudo apt-get install --no-install-recommends -y ninja-build libmpich-dev python3-pip valgrind
307403 wget https://apt.llvm.org/llvm.sh
308404 chmod u+x llvm.sh
309- sudo ./llvm.sh 19 all
405+ sudo ./llvm.sh 20 all
310406 - name : Download installed package
311407 uses : actions/download-artifact@v4
312408 with :
@@ -362,7 +458,7 @@ jobs:
362458 openmpi-bin openmpi-common libopenmpi-dev
363459 wget https://apt.llvm.org/llvm.sh
364460 chmod u+x llvm.sh
365- sudo ./llvm.sh 19 all
461+ sudo ./llvm.sh 20 all
366462 - name : ccache
367463 uses : hendrikmuhs/ccache-action@v1.2
368464 with :
@@ -378,14 +474,14 @@ jobs:
378474 -D CMAKE_BUILD_TYPE=RELEASE -D ENABLE_ADDRESS_SANITIZER=ON -D ENABLE_UB_SANITIZER=ON
379475 -D CMAKE_INSTALL_PREFIX=install
380476 env :
381- CC : clang-19
382- CXX : clang++-19
477+ CC : clang-20
478+ CXX : clang++-20
383479 - name : Build project
384480 run : |
385481 cmake --build build --parallel
386482 env :
387- CC : clang-19
388- CXX : clang++-19
483+ CC : clang-20
484+ CXX : clang++-20
389485 - name : Install project
390486 run : |
391487 cmake --build build --target install
@@ -409,7 +505,7 @@ jobs:
409505 sudo apt-get install --no-install-recommends -y ninja-build libmpich-dev python3-pip valgrind
410506 wget https://apt.llvm.org/llvm.sh
411507 chmod u+x llvm.sh
412- sudo ./llvm.sh 19 all
508+ sudo ./llvm.sh 20 all
413509 - name : Download installed package
414510 uses : actions/download-artifact@v4
415511 with :
@@ -466,7 +562,7 @@ jobs:
466562 sudo apt-get install --no-install-recommends -y ninja-build libmpich-dev python3-pip valgrind
467563 wget https://apt.llvm.org/llvm.sh
468564 chmod u+x llvm.sh
469- sudo ./llvm.sh 19 all
565+ sudo ./llvm.sh 20 all
470566 - name : Download installed package
471567 uses : actions/download-artifact@v4
472568 with :
0 commit comments