diff options
author | Eli Schwartz <eschwartz@archlinux.org> | 2022-07-10 17:52:01 -0400 |
---|---|---|
committer | Eli Schwartz <eschwartz@archlinux.org> | 2022-07-10 17:52:06 -0400 |
commit | 6c34f73adf19e6cebb6d2237c7f519ef1d4c05c9 (patch) | |
tree | 281263beac60054be1b5d28bd5f4a4b2237bd461 | |
parent | e7d87b6f58c653c3962479f59867397ffc15c32f (diff) | |
download | meson-0.63.0-ifort.zip meson-0.63.0-ifort.tar.gz meson-0.63.0-ifort.tar.bz2 |
CI: install ifort on Windows0.63.0-ifort
This enables the fortran tests for Azure.
-rw-r--r-- | azure-pipelines.yml | 28 | ||||
-rwxr-xr-x | ci/intel-scripts/cache_exclude_windows.sh | 15 | ||||
-rw-r--r-- | ci/intel-scripts/install_windows.bat | 16 |
3 files changed, 59 insertions, 0 deletions
diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 2bdc65a..d02cdc4 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -1,3 +1,16 @@ +# intel oneapi installation is based on the examples at +# https://github.com/oneapi-src/oneapi-ci +# +# and are copyrighted: +# +# SPDX-FileCopyrightText: 2020 Intel Corporation +# SPDX-License-Identifier: MIT +# +# The rest of this file contains the standard Meson project copyright: +# +# SPDX-License-Identifer: Apache-2.0 +# Copyright 2022 The Meson development team + name: $(BuildID) trigger: @@ -35,6 +48,8 @@ pr: variables: CI: 1 SOURCE_VERSION: $(Build.SourceVersion) + WINDOWS_HPCKIT_URL: https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18680/w_HPCKit_p_2022.2.0.173_offline.exe + WINDOWS_FORTRAN_COMPONENTS: intel.oneapi.win.ifort-compiler jobs: @@ -60,6 +75,19 @@ jobs: backend: ninja steps: + - task: Cache@2 + inputs: + path: | + C:\Program Files (x86)\Intel\oneAPI\setvars-vcvarsall.bat + C:\Program Files (x86)\Intel\oneAPI\compiler + key: '"vcvars" | "install" | "$(WINDOWS_HPCKIT_URL)" | "$(WINDOWS_FORTRAN_COMPONENTS)" | "compiler" | scripts/cache_exclude_windows.sh' + cacheHitVar: CACHE_RESTORED + - script: ci/intel-scripts/install_windows.bat $(WINDOWS_HPCKIT_URL) $(WINDOWS_FORTRAN_COMPONENTS) + displayName: install ifort + condition: ne(variables.CACHE_RESTORED, 'true') + - bash: ci/intel-scripts/cache_exclude_windows.sh + displayName: exclude unused files from cache + condition: ne(variables.CACHE_RESTORED, 'true') - task: UsePythonVersion@0 inputs: versionSpec: '3.7' diff --git a/ci/intel-scripts/cache_exclude_windows.sh b/ci/intel-scripts/cache_exclude_windows.sh new file mode 100755 index 0000000..ba672f2 --- /dev/null +++ b/ci/intel-scripts/cache_exclude_windows.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +# SPDX-FileCopyrightText: 2020 Intel Corporation +# +# SPDX-License-Identifier: MIT + +#shellcheck disable=SC2010 +LATEST_VERSION=$(ls -1 "C:\Program Files (x86)\Intel\oneAPI\compiler" | grep -v latest | sort | tail -1) + +rm -rf "C:\Program Files (x86)\Intel\oneAPI\compiler\'$LATEST_VERSION'\windows\compiler\lib\ia32_win" +rm -rf "C:\Program Files (x86)\Intel\oneAPI\compiler\'$LATEST_VERSION'\windows\bin\intel64_ia32" +rm -rf "C:\Program Files (x86)\Intel\oneAPI\compiler\'$LATEST_VERSION'\windows\lib\emu" +rm -rf "C:\Program Files (x86)\Intel\oneAPI\compiler\'$LATEST_VERSION'\windows\lib\oclfpga" +rm -rf "C:\Program Files (x86)\Intel\oneAPI\compiler\'$LATEST_VERSION'\windows\lib\ocloc" +rm -rf "C:\Program Files (x86)\Intel\oneAPI\compiler\'$LATEST_VERSION'\windows\lib\x86" diff --git a/ci/intel-scripts/install_windows.bat b/ci/intel-scripts/install_windows.bat new file mode 100644 index 0000000..ebba9d5 --- /dev/null +++ b/ci/intel-scripts/install_windows.bat @@ -0,0 +1,16 @@ +REM SPDX-FileCopyrightText: 2022 Intel Corporation +REM +REM SPDX-License-Identifier: MIT + +set URL=%1 +set COMPONENTS=%2 + +curl.exe --output %TEMP%\webimage.exe --url %URL% --retry 5 --retry-delay 5 +start /b /wait %TEMP%\webimage.exe -s -x -f webimage_extracted --log extract.log +del %TEMP%\webimage.exe +if "%COMPONENTS%"=="" ( + webimage_extracted\bootstrapper.exe -s --action install --eula=accept -p=NEED_VS2017_INTEGRATION=0 -p=NEED_VS2019_INTEGRATION=0 -p=NEED_VS2022_INTEGRATION=0 --log-dir=. +) else ( + webimage_extracted\bootstrapper.exe -s --action install --components=%COMPONENTS% --eula=accept -p=NEED_VS2017_INTEGRATION=0 -p=NEED_VS2019_INTEGRATION=0 -p=NEED_VS2022_INTEGRATION=0 --log-dir=. +) +rd /s/q "webimage_extracted" |