1name: $(BuildID)
2
3trigger:
4  branches:
5    include:
6    - 'master'
7    # Release branches
8    - '0.*'
9  paths:
10    include:
11      - 'mesonbuild'
12      - 'test cases'
13      - 'azure-pipelines.yml'
14      - 'ci/azure-steps.yml'
15      - 'run_project_tests.py'
16      - 'run_tests.py'
17      - 'run_unittests.py'
18pr:
19  branches:
20    include:
21    - '*'
22  paths:
23    include:
24      - 'mesonbuild'
25      - 'test cases'
26      - 'azure-pipelines.yml'
27      - 'ci/azure-steps.yml'
28      - 'run_project_tests.py'
29      - 'run_tests.py'
30      - 'run_unittests.py'
31
32variables:
33  CI: 1
34  SOURCE_VERSION: $(Build.SourceVersion)
35
36jobs:
37
38- job: vs2017
39  timeoutInMinutes: 120
40  pool:
41    vmImage: VS2017-Win2016
42
43  strategy:
44    matrix:
45        vc2017x86ninja:
46          arch: x86
47          compiler: msvc2017
48          backend: ninja
49          MESON_RSP_THRESHOLD: 0
50        vc2017x64vs:
51          arch: x64
52          compiler: msvc2017
53          backend: vs2017
54        clangclx64ninja:
55          arch: x64
56          compiler: clang-cl
57          backend: ninja
58
59  steps:
60  - task: UsePythonVersion@0
61    inputs:
62      versionSpec: '3.6'
63      addToPath: true
64      architecture: 'x64'
65  - template: ci/azure-steps.yml
66
67- job: vs2019
68  timeoutInMinutes: 120
69  pool:
70    vmImage: windows-2019
71
72  strategy:
73    matrix:
74        vc2019x64ninja:
75          arch: x64
76          compiler: msvc2019
77          backend: ninja
78        vc2019x64vs:
79          arch: x64
80          compiler: msvc2019
81          backend: vs2019
82        vc2019arm64ninjacross:
83          arch: arm64
84          compiler: msvc2019
85          backend: ninja
86          extraargs: --cross arm64cl.txt --cross-only
87
88  steps:
89  - task: UsePythonVersion@0
90    inputs:
91      versionSpec: '3.7'
92      addToPath: true
93      architecture: 'x64'
94  - template: ci/azure-steps.yml
95