blob: ea511f33f94e7bb811ad836e431ae03e697eb6c0 [file] [log] [blame]
# 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
- '1.*'
paths:
include:
- 'mesonbuild'
- 'test cases'
- 'unittests'
- 'azure-pipelines.yml'
- 'ci/run.ps1'
- '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/run.ps1'
- '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