|
4 | 4 |
|
5 | 5 | name: build_all
|
6 | 6 |
|
7 |
| -on: |
8 |
| - push |
| 7 | +on: push |
9 | 8 |
|
10 | 9 | env:
|
11 | 10 | WINDOWS_BASEKIT_URL: https://registrationcenter-download.intel.com/akdlm/irc_nas/17453/w_BaseKit_p_2021.1.0.2664_offline.exe
|
12 | 11 | WINDOWS_HPCKIT_URL: https://registrationcenter-download.intel.com/akdlm/irc_nas/17392/w_HPCKit_p_2021.1.0.2682_offline.exe
|
| 12 | + LINUX_BASEKIT_URL: https://registrationcenter-download.intel.com/akdlm/irc_nas/17431/l_BaseKit_p_2021.1.0.2659_offline.sh |
| 13 | + LINUX_HPCKIT_URL: https://registrationcenter-download.intel.com/akdlm/irc_nas/17427/l_HPCKit_p_2021.1.0.2684_offline.sh |
13 | 14 | MACOS_HPCKIT_URL: https://registrationcenter-download.intel.com/akdlm/irc_nas/17398/m_HPCKit_p_2021.1.0.2681_offline.dmg
|
14 | 15 | WINDOWS_CPP_COMPONENTS: intel.oneapi.win.cpp-compiler
|
15 | 16 | WINDOWS_FORTRAN_COMPONENTS: intel.oneapi.win.ifort-compiler
|
16 | 17 | WINDOWS_DPCPP_COMPONENTS: intel.oneapi.win.dpcpp-compiler
|
17 | 18 | LINUX_CPP_COMPONENTS: intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic
|
18 | 19 | LINUX_FORTRAN_COMPONENTS: intel-oneapi-compiler-fortran
|
19 | 20 | LINUX_DPCPP_COMPONENTS: intel-oneapi-compiler-dpcpp-cpp
|
| 21 | + LINUX_CPP_COMPONENTS_WEB: intel.oneapi.lin.dpcpp-cpp-compiler-pro |
| 22 | + LINUX_FORTRAN_COMPONENTS_WEB: intel.oneapi.lin.ifort-compiler |
| 23 | + LINUX_DPCPP_COMPONENTS_WEB: intel.oneapi.lin.dpcpp-cpp-compiler |
20 | 24 | MACOS_CPP_COMPONENTS: intel.oneapi.mac.cpp-compiler
|
21 | 25 | MACOS_FORTRAN_COMPONENTS: intel.oneapi.mac.ifort-compiler
|
22 | 26 | ONEAPI_RELEASE: 2021.1.1
|
@@ -130,6 +134,109 @@ jobs:
|
130 | 134 | installer*
|
131 | 135 | retention-days: 7
|
132 | 136 |
|
| 137 | + build_linux_cpp: |
| 138 | + runs-on: ubuntu-20.04 |
| 139 | + defaults: |
| 140 | + run: |
| 141 | + shell: bash |
| 142 | + steps: |
| 143 | + - uses: actions/checkout@v2 |
| 144 | + - name: cache install |
| 145 | + id: cache-install |
| 146 | + uses: actions/cache@v2 |
| 147 | + with: |
| 148 | + path: | |
| 149 | + /opt/intel/oneapi/compiler |
| 150 | + key: install-${{ env.LINUX_HPCKIT_URL }}-${{ env.LINUX_CPP_COMPONENTS_WEB }}-compiler-${{ hashFiles('**/scripts/cache_exclude_linux.sh') }} |
| 151 | + - name: install |
| 152 | + if: steps.cache-install.outputs.cache-hit != 'true' |
| 153 | + run: scripts/install_linux.sh $LINUX_HPCKIT_URL $LINUX_CPP_COMPONENTS_WEB |
| 154 | + - name: build |
| 155 | + run: scripts/build_linux.sh c++ $ONEAPI_RELEASE |
| 156 | + - name: exclude unused files from cache |
| 157 | + if: steps.cache-install.outputs.cache-hit != 'true' |
| 158 | + run: scripts/cache_exclude_linux.sh $ONEAPI_RELEASE |
| 159 | + |
| 160 | + # Delete the following if you don't want to save install logs |
| 161 | + - name: Saving install logs |
| 162 | + if: ${{ always() }} |
| 163 | + uses: actions/upload-artifact@v2 |
| 164 | + with: |
| 165 | + name: InstallLogs_${{ github.job }} |
| 166 | + path: | |
| 167 | + bootstrapper* |
| 168 | + installer* |
| 169 | + retention-days: 7 |
| 170 | + |
| 171 | + build_linux_fortran: |
| 172 | + runs-on: ubuntu-20.04 |
| 173 | + defaults: |
| 174 | + run: |
| 175 | + shell: bash |
| 176 | + steps: |
| 177 | + - uses: actions/checkout@v2 |
| 178 | + - name: cache install |
| 179 | + id: cache-install |
| 180 | + uses: actions/cache@v2 |
| 181 | + with: |
| 182 | + path: | |
| 183 | + /opt/intel/oneapi/compiler |
| 184 | + key: install-${{ env.LINUX_HPCKIT_URL }}-${{ env.LINUX_FORTRAN_COMPONENTS_WEB }}-compiler-${{ hashFiles('**/scripts/cache_exclude_linux.sh') }} |
| 185 | + - name: install |
| 186 | + if: steps.cache-install.outputs.cache-hit != 'true' |
| 187 | + run: scripts/install_linux.sh $LINUX_HPCKIT_URL $LINUX_FORTRAN_COMPONENTS_WEB |
| 188 | + - name: build |
| 189 | + run: scripts/build_linux.sh fortran $ONEAPI_RELEASE |
| 190 | + - name: exclude unused files from cache |
| 191 | + if: steps.cache-install.outputs.cache-hit != 'true' |
| 192 | + run: scripts/cache_exclude_linux.sh $ONEAPI_RELEASE |
| 193 | + |
| 194 | + # Delete the following if you don't want to save install logs |
| 195 | + - name: Saving install logs |
| 196 | + if: ${{ always() }} |
| 197 | + uses: actions/upload-artifact@v2 |
| 198 | + with: |
| 199 | + name: InstallLogs_${{ github.job }} |
| 200 | + path: | |
| 201 | + bootstrapper* |
| 202 | + installer* |
| 203 | + retention-days: 7 |
| 204 | + |
| 205 | + build_linux_dpcpp: |
| 206 | + runs-on: ubuntu-20.04 |
| 207 | + defaults: |
| 208 | + run: |
| 209 | + shell: bash |
| 210 | + steps: |
| 211 | + - uses: actions/checkout@v2 |
| 212 | + - name: cache install |
| 213 | + id: cache-install |
| 214 | + uses: actions/cache@v2 |
| 215 | + with: |
| 216 | + path: | |
| 217 | + /opt/intel/oneapi/compiler |
| 218 | + /opt/intel/oneapi/tbb |
| 219 | + key: install-${{ env.LINUX_BASEKIT_URL }}-${{ env.LINUX_DPCPP_COMPONENTS_WEB }}-compiler-tbb-${{ hashFiles('**/scripts/cache_exclude_linux.sh') }} |
| 220 | + - name: install |
| 221 | + if: steps.cache-install.outputs.cache-hit != 'true' |
| 222 | + run: scripts/install_linux.sh $LINUX_BASEKIT_URL $LINUX_DPCPP_COMPONENTS_WEB |
| 223 | + - name: build |
| 224 | + run: scripts/build_linux.sh dpc++ $ONEAPI_RELEASE |
| 225 | + - name: exclude unused files from cache |
| 226 | + if: steps.cache-install.outputs.cache-hit != 'true' |
| 227 | + run: scripts/cache_exclude_linux.sh $ONEAPI_RELEASE |
| 228 | + |
| 229 | + # Delete the following if you don't want to save install logs |
| 230 | + - name: Saving install logs |
| 231 | + if: ${{ always() }} |
| 232 | + uses: actions/upload-artifact@v2 |
| 233 | + with: |
| 234 | + name: InstallLogs_${{ github.job }} |
| 235 | + path: | |
| 236 | + bootstrapper* |
| 237 | + installer* |
| 238 | + retention-days: 7 |
| 239 | + |
133 | 240 | build_linux_apt_cpp:
|
134 | 241 | runs-on: ubuntu-20.04
|
135 | 242 | defaults:
|
@@ -212,6 +319,97 @@ jobs:
|
212 | 319 | if: steps.cache-install.outputs.cache-hit != 'true'
|
213 | 320 | run: scripts/cache_exclude_linux.sh $ONEAPI_RELEASE
|
214 | 321 |
|
| 322 | + build_linux_dnf_cpp: |
| 323 | + runs-on: ubuntu-20.04 |
| 324 | + container: fedora |
| 325 | + defaults: |
| 326 | + run: |
| 327 | + shell: bash |
| 328 | + steps: |
| 329 | + - uses: actions/checkout@v2 |
| 330 | + - name: install prerequisites |
| 331 | + run: scripts/install_prerequisites_linux_dnf.sh |
| 332 | + - name: setup yum/dnf repo |
| 333 | + run: scripts/setup_yum_dnf_repo_linux.sh |
| 334 | + - name: collect versioned dependencies of dnf packages |
| 335 | + run: scripts/dnf_depends.sh $LINUX_CPP_COMPONENTS | tee depends.txt |
| 336 | + - name: cache install |
| 337 | + id: cache-install |
| 338 | + uses: actions/cache@v2 |
| 339 | + with: |
| 340 | + path: | |
| 341 | + /opt/intel/oneapi/compiler |
| 342 | + key: install-${{ env.LINUX_CPP_COMPONENTS }}-${{ hashFiles('**/depends.txt') }}-compiler-${{ hashFiles('**/scripts/cache_exclude_linux.sh') }} |
| 343 | + - name: install |
| 344 | + if: steps.cache-install.outputs.cache-hit != 'true' |
| 345 | + run: scripts/install_linux_dnf.sh $LINUX_CPP_COMPONENTS |
| 346 | + - name: build |
| 347 | + run: scripts/build_linux.sh c++ $ONEAPI_RELEASE |
| 348 | + - name: exclude unused files from cache |
| 349 | + if: steps.cache-install.outputs.cache-hit != 'true' |
| 350 | + run: scripts/cache_exclude_linux.sh $ONEAPI_RELEASE |
| 351 | + |
| 352 | + build_linux_dnf_fortran: |
| 353 | + runs-on: ubuntu-20.04 |
| 354 | + container: fedora |
| 355 | + defaults: |
| 356 | + run: |
| 357 | + shell: bash |
| 358 | + steps: |
| 359 | + - uses: actions/checkout@v2 |
| 360 | + - name: install prerequisites |
| 361 | + run: scripts/install_prerequisites_linux_dnf.sh |
| 362 | + - name: setup yum/dnf repo |
| 363 | + run: scripts/setup_yum_dnf_repo_linux.sh |
| 364 | + - name: collect versioned dependencies of dnf packages |
| 365 | + run: scripts/dnf_depends.sh $LINUX_FORTRAN_COMPONENTS | tee depends.txt |
| 366 | + - name: cache install |
| 367 | + id: cache-install |
| 368 | + uses: actions/cache@v2 |
| 369 | + with: |
| 370 | + path: | |
| 371 | + /opt/intel/oneapi/compiler |
| 372 | + key: install-${{ env.LINUX_FORTRAN_COMPONENTS }}-${{ hashFiles('**/depends.txt') }}-compiler-${{ hashFiles('**/scripts/cache_exclude_linux.sh') }} |
| 373 | + - name: install |
| 374 | + if: steps.cache-install.outputs.cache-hit != 'true' |
| 375 | + run: scripts/install_linux_dnf.sh $LINUX_FORTRAN_COMPONENTS |
| 376 | + - name: build |
| 377 | + run: scripts/build_linux.sh fortran $ONEAPI_RELEASE |
| 378 | + - name: exclude unused files from cache |
| 379 | + if: steps.cache-install.outputs.cache-hit != 'true' |
| 380 | + run: scripts/cache_exclude_linux.sh $ONEAPI_RELEASE |
| 381 | + |
| 382 | + build_linux_dnf_dpcpp: |
| 383 | + runs-on: ubuntu-20.04 |
| 384 | + container: fedora |
| 385 | + defaults: |
| 386 | + run: |
| 387 | + shell: bash |
| 388 | + steps: |
| 389 | + - uses: actions/checkout@v2 |
| 390 | + - name: install prerequisites |
| 391 | + run: scripts/install_prerequisites_linux_dnf.sh |
| 392 | + - name: setup yum/dnf repo |
| 393 | + run: scripts/setup_yum_dnf_repo_linux.sh |
| 394 | + - name: collect versioned dependencies of dnf packages |
| 395 | + run: scripts/dnf_depends.sh $LINUX_DPCPP_COMPONENTS | tee depends.txt |
| 396 | + - name: cache install |
| 397 | + id: cache-install |
| 398 | + uses: actions/cache@v2 |
| 399 | + with: |
| 400 | + path: | |
| 401 | + /opt/intel/oneapi/compiler |
| 402 | + /opt/intel/oneapi/tbb |
| 403 | + key: install-${{ env.LINUX_DPCPP_COMPONENTS }}-${{ hashFiles('**/depends.txt') }}-compiler-tbb-${{ hashFiles('**/scripts/cache_exclude_linux.sh') }} |
| 404 | + - name: install |
| 405 | + if: steps.cache-install.outputs.cache-hit != 'true' |
| 406 | + run: scripts/install_linux_dnf.sh $LINUX_DPCPP_COMPONENTS |
| 407 | + - name: build |
| 408 | + run: scripts/build_linux.sh dpc++ $ONEAPI_RELEASE |
| 409 | + - name: exclude unused files from cache |
| 410 | + if: steps.cache-install.outputs.cache-hit != 'true' |
| 411 | + run: scripts/cache_exclude_linux.sh $ONEAPI_RELEASE |
| 412 | + |
215 | 413 | build_linux_container_cpp:
|
216 | 414 | runs-on: ubuntu-20.04
|
217 | 415 | container: intel/oneapi-hpckit
|
|
0 commit comments