1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
|
# 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: vs2017
timeoutInMinutes: 120
pool:
vmImage: VS2017-Win2016
strategy:
matrix:
vc2017x86ninja:
arch: x86
compiler: msvc2017
backend: ninja
MESON_RSP_THRESHOLD: 0
# "Compiler ifort can not compile programs"
ifort: false
vc2017x64vs:
arch: x64
compiler: msvc2017
backend: vs2017
# this causes tons of C projects to error with:
# "The syntax of the command is incorrect"
ifort: false
clangclx64ninja:
arch: x64
compiler: clang-cl
backend: ninja
ifort: true
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'))
- 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)
- 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'))
- 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)
|