|
|
|
# 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/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
|