# 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: branches: include: - 'master' # Release branches - '0.*' paths: include: - 'mesonbuild' - 'test cases' - 'unittests' - 'azure-pipelines.yml' - 'ci/azure-steps.yml' - 'run_project_tests.py' - 'run_tests.py' - 'run_unittests.py' pr: autoCancel: true branches: include: - '*' paths: include: - 'mesonbuild' - 'test cases' - 'unittests' - 'azure-pipelines.yml' - 'ci/azure-steps.yml' - 'run_project_tests.py' - 'run_tests.py' - 'run_unittests.py' 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: - job: vs2019 timeoutInMinutes: 120 pool: vmImage: windows-2019 strategy: matrix: vc2019x64ninja: arch: x64 compiler: msvc2019 backend: ninja ifort: true vc2019x64vs: arch: x64 compiler: msvc2019 backend: vs2019 # mysteriously, several tests fail because vs cannot find # executables such as cmd.exe ??? ifort: false vc2019arm64ninjacross: arch: arm64 compiler: msvc2019 backend: ninja extraargs: --cross arm64cl.txt --cross-only # ifort doesn't support arm64 ifort: false steps: - task: Cache@2 inputs: path: C:\Program Files (x86)\Intel\oneAPI key: '"install" | "$(WINDOWS_HPCKIT_URL)" | "$(WINDOWS_FORTRAN_COMPONENTS)" | "compiler" | ci/intel-scripts/cache_exclude_windows.sh' cacheHitVar: CACHE_RESTORED condition: eq(variables.ifort, 'true') - script: ci/intel-scripts/install_windows.bat $(WINDOWS_HPCKIT_URL) $(WINDOWS_FORTRAN_COMPONENTS) displayName: install ifort condition: and(ne(variables.CACHE_RESTORED, 'true'), eq(variables.ifort, 'true')) - bash: ci/intel-scripts/cache_exclude_windows.sh displayName: exclude unused files from cache condition: and(ne(variables.CACHE_RESTORED, 'true'), eq(variables.ifort, 'true')) - script: choco install -y nasm displayName: install NASM - task: UsePythonVersion@0 inputs: versionSpec: '3.7' addToPath: true architecture: 'x64' - task: BatchScript@1 displayName: insert ifort into environment inputs: filename: ci/intel-scripts/activate_windows.bat arguments: vs2019 modifyEnvironment: True condition: eq(variables.ifort, 'true') - task: PowerShell@2 inputs: targetType: 'filePath' filePath: .\ci\run.ps1 env: MESON_CI_JOBNAME: azure-$(System.JobName) - task: PowerShell@2 displayName: Gathering coverage report inputs: targetType: 'filePath' filePath: .\ci\coverage.ps1