3
3
# SPDX-License-Identifier: MIT
4
4
5
5
version : 2.1
6
+ parameters :
7
+ WINDOWS_BASEKIT_URL :
8
+ type : string
9
+ default : " https://registrationcenter-download.intel.com/akdlm/irc_nas/17191/w_BaseKit_b_2021.1.10.2260_offline.exe"
10
+ WINDOWS_HPCKIT_URL :
11
+ type : string
12
+ default : " https://registrationcenter-download.intel.com/akdlm/irc_nas/17163/w_HPCKit_b_2021.1.10.2266_offline.exe"
13
+ MACOS_HPCKIT_URL :
14
+ type : string
15
+ default : " https://registrationcenter-download.intel.com/akdlm/irc_nas/17230/m_HPCKit_b_2021.1.10.2260.dmg"
16
+ WINDOWS_CPP_COMPONENTS :
17
+ type : string
18
+ default : " intel.oneapi.win.cpp-compiler"
19
+ WINDOWS_FORTRAN_COMPONENTS :
20
+ type : string
21
+ default : " intel.oneapi.win.ifort-compiler"
22
+ WINDOWS_DPCPP_COMPONENTS :
23
+ type : string
24
+ default : " intel.oneapi.win.dpcpp-compiler"
25
+ LINUX_CPP_COMPONENTS :
26
+ type : string
27
+ default : " intel-oneapi-dpcpp-cpp-compiler-pro"
28
+ LINUX_FORTRAN_COMPONENTS :
29
+ type : string
30
+ default : " intel-oneapi-ifort"
31
+ LINUX_DPCPP_COMPONENTS :
32
+ type : string
33
+ default : " intel-oneapi-dpcpp-cpp-compiler"
34
+ MACOS_CPP_COMPONENTS :
35
+ type : string
36
+ default : " intel.oneapi.mac.cpp-compiler"
37
+ MACOS_FORTRAN_COMPONENTS :
38
+ type : string
39
+ default : " intel.oneapi.mac.ifort-compiler"
6
40
7
41
orbs :
8
42
@@ -14,12 +48,24 @@ jobs:
14
48
shell : bash.exe
15
49
steps :
16
50
- checkout
51
+ - restore_cache :
52
+ keys :
53
+ - install-<< pipeline.parameters.WINDOWS_HPCKIT_URL >>-<< pipeline.parameters.WINDOWS_CPP_COMPONENTS >>-compiler-{{ checksum "scripts/cache_exclude_windows.sh" }}
17
54
- run :
18
55
name : install
19
- command : scripts/install_windows.bat https://registrationcenter-download.intel.com/akdlm/irc_nas/17163/w_HPCKit_b_2021.1.10.2266_offline.exe intel.oneapi.win.cpp-compiler
56
+ command : |
57
+ [ -d "C:\Program Files (x86)\Intel\oneAPI\compiler" ] && exit 0
58
+ scripts/install_windows.bat << pipeline.parameters.WINDOWS_HPCKIT_URL >> << pipeline.parameters.WINDOWS_CPP_COMPONENTS >>
20
59
- run :
21
60
name : build
22
61
command : scripts/build_windows.bat c++ 2017_build_tools
62
+ - run :
63
+ name : exclude unused files from cache
64
+ command : scripts/cache_exclude_windows.sh
65
+ - save_cache :
66
+ key : install-<< pipeline.parameters.WINDOWS_HPCKIT_URL >>-<< pipeline.parameters.WINDOWS_CPP_COMPONENTS >>-compiler-{{ checksum "scripts/cache_exclude_windows.sh" }}
67
+ paths :
68
+ - C:\Program Files (x86)\Intel\oneAPI\compiler
23
69
24
70
# Delete the following if you don't want to save install logs
25
71
- run :
@@ -36,12 +82,24 @@ jobs:
36
82
shell : bash.exe
37
83
steps :
38
84
- checkout
85
+ - restore_cache :
86
+ keys :
87
+ - install-<< pipeline.parameters.WINDOWS_HPCKIT_URL >>-<< pipeline.parameters.WINDOWS_FORTRAN_COMPONENTS >>-compiler-{{ checksum "scripts/cache_exclude_windows.sh" }}
39
88
- run :
40
89
name : install
41
- command : scripts/install_windows.bat https://registrationcenter-download.intel.com/akdlm/irc_nas/17163/w_HPCKit_b_2021.1.10.2266_offline.exe intel.oneapi.win.ifort-compiler
90
+ command : |
91
+ [ -d "C:\Program Files (x86)\Intel\oneAPI\compiler" ] && exit 0
92
+ scripts/install_windows.bat << pipeline.parameters.WINDOWS_HPCKIT_URL >> << pipeline.parameters.WINDOWS_FORTRAN_COMPONENTS >>
42
93
- run :
43
94
name : build
44
95
command : scripts/build_windows.bat fortran 2017_build_tools
96
+ - run :
97
+ name : exclude unused files from cache
98
+ command : scripts/cache_exclude_windows.sh
99
+ - save_cache :
100
+ key : install-<< pipeline.parameters.WINDOWS_HPCKIT_URL >>-<< pipeline.parameters.WINDOWS_FORTRAN_COMPONENTS >>-compiler-{{ checksum "scripts/cache_exclude_windows.sh" }}
101
+ paths :
102
+ - C:\Program Files (x86)\Intel\oneAPI\compiler
45
103
46
104
# Delete the following if you don't want to save install logs
47
105
- run :
@@ -58,12 +116,26 @@ jobs:
58
116
shell : bash.exe
59
117
steps :
60
118
- checkout
119
+ - restore_cache :
120
+ keys :
121
+ - install-<< pipeline.parameters.WINDOWS_BASEKIT_URL >>-<< pipeline.parameters.WINDOWS_DPCPP_COMPONENTS >>-compiler-{{ checksum "scripts/cache_exclude_windows.sh" }}
61
122
- run :
62
123
name : install
63
- command : scripts/install_windows.bat https://registrationcenter-download.intel.com/akdlm/irc_nas/17191/w_BaseKit_b_2021.1.10.2260_offline.exe intel.oneapi.win.dpcpp-compiler
124
+ command : |
125
+ [ -d "C:\Program Files (x86)\Intel\oneAPI\compiler" ] && exit 0
126
+ scripts/install_windows.bat << pipeline.parameters.WINDOWS_BASEKIT_URL >> << pipeline.parameters.WINDOWS_DPCPP_COMPONENTS >>
64
127
- run :
65
128
name : build
66
129
command : scripts/build_windows.bat dpc++ 2017_build_tools
130
+ - run :
131
+ name : exclude unused files from cache
132
+ command : scripts/cache_exclude_windows.sh
133
+ - save_cache :
134
+ key : install-<< pipeline.parameters.WINDOWS_BASEKIT_URL >>-<< pipeline.parameters.WINDOWS_DPCPP_COMPONENTS >>-compiler-{{ checksum "scripts/cache_exclude_windows.sh" }}
135
+ paths :
136
+ - C:\Program Files (x86)\Intel\oneAPI\compiler
137
+ - C:\Program Files (x86)\Intel\oneAPI\tbb
138
+ - C:\Windows\System32\OpenCL.dll
67
139
68
140
# Delete the following if you don't want to save install logs
69
141
- run :
@@ -85,12 +157,27 @@ jobs:
85
157
- run :
86
158
name : setup apt repo
87
159
command : . scripts/setup_apt_repo_linux_no_sudo.sh
160
+ - run :
161
+ name : collect versioned dependencies of apt packages
162
+ command : . scripts/apt_depends.sh << pipeline.parameters.LINUX_CPP_COMPONENTS >> | tee depends.txt
163
+ - restore_cache :
164
+ keys :
165
+ - install-<< pipeline.parameters.LINUX_CPP_COMPONENTS >>-{{ checksum "depends.txt" }}-compiler-${{ checksum "scripts/cache_exclude_linux_no_sudo.sh" }}
88
166
- run :
89
167
name : install
90
- command : . scripts/install_linux_apt_no_sudo.sh intel-oneapi-dpcpp-cpp-compiler-pro
168
+ command : |
169
+ [ -d /opt/intel/oneapi/compiler ] && exit 0
170
+ . scripts/install_linux_apt_no_sudo.sh << pipeline.parameters.LINUX_CPP_COMPONENTS >>
91
171
- run :
92
172
name : build
93
173
command : scripts/build_linux.sh c++
174
+ - run :
175
+ name : exclude unused files from cache
176
+ command : . scripts/cache_exclude_linux_no_sudo.sh
177
+ - save_cache :
178
+ key : install-<< pipeline.parameters.LINUX_CPP_COMPONENTS >>-{{ checksum "depends.txt" }}-compiler-${{ checksum "scripts/cache_exclude_linux_no_sudo.sh" }}
179
+ paths :
180
+ - /opt/intel/oneapi/compiler
94
181
95
182
build_linux_apt_fortran :
96
183
docker :
@@ -103,12 +190,27 @@ jobs:
103
190
- run :
104
191
name : setup apt repo
105
192
command : . scripts/setup_apt_repo_linux_no_sudo.sh
193
+ - run :
194
+ name : collect versioned dependencies of apt packages
195
+ command : . scripts/apt_depends.sh << pipeline.parameters.LINUX_FORTRAN_COMPONENTS >> | tee depends.txt
196
+ - restore_cache :
197
+ keys :
198
+ - install-<< pipeline.parameters.LINUX_FORTRAN_COMPONENTS >>-{{ checksum "depends.txt" }}-compiler-${{ checksum "scripts/cache_exclude_linux_no_sudo.sh" }}
106
199
- run :
107
200
name : install
108
- command : . scripts/install_linux_apt_no_sudo.sh intel-oneapi-ifort
201
+ command : |
202
+ [ -d /opt/intel/oneapi/compiler ] && exit 0
203
+ . scripts/install_linux_apt_no_sudo.sh << pipeline.parameters.LINUX_FORTRAN_COMPONENTS >>
109
204
- run :
110
205
name : build
111
206
command : scripts/build_linux.sh fortran
207
+ - run :
208
+ name : exclude unused files from cache
209
+ command : . scripts/cache_exclude_linux_no_sudo.sh
210
+ - save_cache :
211
+ key : install-<< pipeline.parameters.LINUX_FORTRAN_COMPONENTS >>-{{ checksum "depends.txt" }}-compiler-${{ checksum "scripts/cache_exclude_linux_no_sudo.sh" }}
212
+ paths :
213
+ - /opt/intel/oneapi/compiler
112
214
113
215
build_linux_apt_dpcpp :
114
216
docker :
@@ -121,12 +223,28 @@ jobs:
121
223
- run :
122
224
name : setup apt repo
123
225
command : . scripts/setup_apt_repo_linux_no_sudo.sh
226
+ - run :
227
+ name : collect versioned dependencies of apt packages
228
+ command : . scripts/apt_depends.sh << pipeline.parameters.LINUX_DPCPP_COMPONENTS >> | tee depends.txt
229
+ - restore_cache :
230
+ keys :
231
+ - install-<< pipeline.parameters.LINUX_DPCPP_COMPONENTS >>-{{ checksum "depends.txt" }}-compiler-${{ checksum "scripts/cache_exclude_linux_no_sudo.sh" }}
124
232
- run :
125
233
name : install
126
- command : . scripts/install_linux_apt_no_sudo.sh intel-oneapi-dpcpp-cpp-compiler
234
+ command : |
235
+ [ -d /opt/intel/oneapi/compiler ] && exit 0
236
+ . scripts/install_linux_apt_no_sudo.sh << pipeline.parameters.LINUX_DPCPP_COMPONENTS >>
127
237
- run :
128
238
name : build
129
239
command : scripts/build_linux.sh dpc++
240
+ - run :
241
+ name : exclude unused files from cache
242
+ command : . scripts/cache_exclude_linux_no_sudo.sh
243
+ - save_cache :
244
+ key : install-<< pipeline.parameters.LINUX_DPCPP_COMPONENTS >>-{{ checksum "depends.txt" }}-compiler-${{ checksum "scripts/cache_exclude_linux_no_sudo.sh" }}
245
+ paths :
246
+ - /opt/intel/oneapi/compiler
247
+ - /opt/intel/oneapi/tbb
130
248
131
249
build_linux_container_cpp :
132
250
docker :
0 commit comments