66 FC : ifx
77# https://github.com/oneapi-src/oneapi-ci/blob/master/.github/workflows/build_all.yml
88 CTEST_NO_TESTS_ACTION : error
9- CTEST_PARALLEL_LEVEL : 4
10- CMAKE_BUILD_PARALLEL_LEVEL : 4
119 CMAKE_BUILD_TYPE : Release
10+ CMAKE_GENERATOR : Ninja
11+ # don't need Ninja but it prints the command lines by default which is good for debugging
12+
1213 # debug triggers asan build errors, peculiar to GitHub Actions
1314
1415on :
1516 push :
1617 paths :
1718 - " **.c"
19+ - " **.h"
1820 - " **.cpp"
1921 - " **.f90"
2022 - " **.F90"
2123 - " **.cmake"
2224 - " **/CMakeLists.txt"
2325 - " .github/workflows/oneapi-linux.yml"
26+ - " .github/workflows/oneapi*.sh"
2427 - " !memcheck.cmake"
2528 - " !coverage.cmake"
2629 - " !example/*"
@@ -38,12 +41,15 @@ jobs:
3841 runs-on : ubuntu-latest
3942 timeout-minutes : 10
4043
44+ strategy :
45+ matrix :
46+ oneapi : [2025.1]
4147 steps :
4248 - uses : actions/checkout@v4
4349
4450 - uses : actions/setup-python@v5
4551 with :
46- python-version : ' 3.12 '
52+ python-version : ' 3.13 '
4753
4854 - name : Python pkgs
4955 run : pip install numpy h5py
@@ -54,14 +60,14 @@ jobs:
5460 with :
5561 path : |
5662 /opt/intel/oneapi
57- key : install -apt
63+ key : oneapi-${{ matrix.oneapi }} -apt
5864
5965 - name : non-cache install oneAPI
6066 if : steps.cache-install.outputs.cache-hit != 'true'
6167 timeout-minutes : 5
6268 run : |
6369 .github/workflows/oneapi_setup_apt_repo_linux.sh
64- sudo apt install intel-oneapi-compiler-dpcpp-cpp intel-oneapi-compiler-fortran
70+ sudo apt install --no-install-recommends intel-oneapi-compiler-dpcpp-cpp-${{ matrix.oneapi }} intel-oneapi-compiler-fortran-${{ matrix.oneapi }}
6571
6672 - name : Setup Intel oneAPI environment
6773 run : |
@@ -72,11 +78,14 @@ jobs:
7278 run : >-
7379 cmake --preset default --install-prefix ${{ runner.temp }}
7480
75- - name : print config log
76- if : ${{ failure() }}
77- run : cat build/CMakeFiles/CMakeConfigureLog.yaml
81+ - name : Upload log failure
82+ if : failure()
83+ uses : actions/upload-artifact@v4
84+ with :
85+ name : oneapi-${{ matrix.oneapi }}-${{ runner.os }}-CMakeConfigureLog.yaml
86+ path : build/CMakeFiles/CMakeConfigureLog.yaml
7887
79- - name : Release workflow
88+ - name : Configure, build, test CMake workflow
8089 run : cmake --workflow default
8190
8291 - name : install package
0 commit comments