4
4
CC : icx
5
5
CXX : icpx
6
6
FC : ifx
7
- LINUX_CPP_COMPONENTS : intel-oneapi-compiler-dpcpp-cpp
8
- LINUX_FORTRAN_COMPONENTS : intel-oneapi-compiler-fortran
9
7
# https://github.com/oneapi-src/oneapi-ci/blob/master/.github/workflows/build_all.yml
10
8
CTEST_NO_TESTS_ACTION : error
11
- CMAKE_BUILD_PARALLEL_LEVEL : 4
12
- CTEST_PARALLEL_LEVEL : 0
13
9
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
+
13
+ # debug triggers asan build errors, peculiar to GitHub Actions
14
14
15
15
on :
16
16
push :
17
17
paths :
18
18
- " **.c"
19
- - " **.cpp"
20
19
- " **.h"
20
+ - " **.cpp"
21
21
- " **.f90"
22
22
- " **.F90"
23
23
- " **.cmake"
24
24
- " **/CMakeLists.txt"
25
25
- " .github/workflows/oneapi-linux.yml"
26
+ - " .github/workflows/oneapi*.sh"
26
27
- " !memcheck.cmake"
28
+ - " !coverage.cmake"
29
+ - " !example/*"
30
+ workflow_dispatch :
31
+
32
+ # avoid wasted runs
33
+ concurrency :
34
+ group : ${{ github.workflow }}-${{ github.ref }}
35
+ cancel-in-progress : true
27
36
28
37
29
38
jobs :
32
41
runs-on : ubuntu-latest
33
42
timeout-minutes : 10
34
43
44
+ strategy :
45
+ matrix :
46
+ oneapi : [2025.1]
35
47
steps :
36
48
- uses : actions/checkout@v4
37
49
@@ -41,21 +53,28 @@ jobs:
41
53
with :
42
54
path : |
43
55
/opt/intel/oneapi
44
- key : install -apt
56
+ key : oneapi-${{ matrix.oneapi }} -apt
45
57
46
58
- name : non-cache install oneAPI
47
59
if : steps.cache-install.outputs.cache-hit != 'true'
48
60
timeout-minutes : 5
49
61
run : |
50
62
.github/workflows/oneapi_setup_apt_repo_linux.sh
51
- sudo apt install ${{ env.LINUX_CPP_COMPONENTS }} ${{ env.LINUX_FORTRAN_COMPONENTS }}
63
+ sudo apt install --no-install-recommends intel-oneapi-compiler-dpcpp-cpp- ${{ matrix.oneapi }} intel-oneapi-compiler-fortran- ${{ matrix.oneapi }}
52
64
53
65
- name : Setup Intel oneAPI environment
54
66
run : |
55
67
source /opt/intel/oneapi/setvars.sh
56
68
printenv >> $GITHUB_ENV
57
69
58
- - run : cmake --workflow --preset default
70
+ - run : cmake --workflow default
71
+
72
+ - name : Upload log failure
73
+ if : failure()
74
+ uses : actions/upload-artifact@v4
75
+ with :
76
+ name : oneapi-${{ matrix.oneapi }}-${{ runner.os }}-CMakeConfigureLog.yaml
77
+ path : build/CMakeFiles/CMakeConfigureLog.yaml
59
78
60
79
- name : exclude unused files from cache
61
80
if : steps.cache-install.outputs.cache-hit != 'true'
0 commit comments