-
Notifications
You must be signed in to change notification settings - Fork 753
Expand file tree
/
Copy pathazure-pipelines.yml
More file actions
174 lines (163 loc) · 4.84 KB
/
azure-pipelines.yml
File metadata and controls
174 lines (163 loc) · 4.84 KB
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
174
trigger:
batch: true
branches:
include:
- feature/*
- release
- prerelease
- main
pr:
branches:
include:
- feature/*
- release
- prerelease
- main
paths:
# Exclude paths and files which do not cause functional changes to the C# extension and do not impact CI.
exclude:
# Changes to these configuration files are not functional changes.
- .azuredevops/*
- .config/*
- .devcontainer/*
- .github/*
- .vscode/*
# The following pipelines are not run for PRs and changes should be validated by a separate run of the pipeline.
- azure-pipelines/dotnet-vscode-csharp-insertion.yml
- azure-pipelines/loc.yml
- azure-pipelines/release.yml
- azure-pipelines/profiling.yml
- azure-pipelines/publish-roslyn-copilot.yml
# Changes to documentation are not functional changes.
- docs/*
- images/*
- RuntimeLicenses/*
# Changes to language bundles are not functional changes. We still run CI when `l10n/bundle.l10n.json` itself is changed.
- 'l10n/bundle.l10n.*.json'
# Changes to the color themes are not functional changes.
- themes/*
# Changes to documentation are not functional changes.
- '**.md'
- CODEOWNERS
# Changes to init.ps1 is not exercised in CI
- 'init.ps1'
# Changes to the vesion is not a functional change. The extension version is updated by the branch-snap GH action.
- 'version.json'
# Changes to text files (e.g. third party notices) are not functional changes.
- '**.txt'
# Run a scheduled build every night on main to run tests against insiders VSCode.
# The variable testVSCodeVersion is set to insiders based on the build reason.
schedules:
- cron: "0 0 * * *"
displayName: Daily Insiders Build
branches:
include:
- main
variables:
- name: testVSCodeVersion
${{ if eq( variables['Build.Reason'], 'Schedule' ) }}:
value: insiders
${{ else }}:
value: stable
stages:
- template: azure-pipelines/build-vsix.yml
parameters:
isOfficial: false
signType: test
- template: azure-pipelines/validate-build.yml
- stage:
displayName: Test Linux (.NET 8)
dependsOn: []
variables:
ROSLYN_SKIP_TEST_FILE_BASED_PROGRAMS: 'true'
jobs:
- template: azure-pipelines/test-matrix.yml
parameters:
os: linux
# Prefer the dotnet from the container.
installDotNet: false
testVSCodeVersion: $(testVSCodeVersion)
installAdditionalLinuxDependencies: true
pool:
name: NetCore-Public
demands: ImageOverride -equals build.ubuntu.2204.amd64.open
containerName: mcr.microsoft.com/dotnet/sdk:8.0-noble
- stage:
displayName: Test Linux (.NET 9)
dependsOn: []
variables:
ROSLYN_SKIP_TEST_FILE_BASED_PROGRAMS: 'true'
jobs:
- template: azure-pipelines/test-matrix.yml
parameters:
os: linux
# Prefer the dotnet from the container.
installDotNet: false
testVSCodeVersion: $(testVSCodeVersion)
installAdditionalLinuxDependencies: true
pool:
name: NetCore-Public
demands: ImageOverride -equals build.ubuntu.2204.amd64.open
containerName: mcr.microsoft.com/dotnet/sdk:9.0-noble
- stage:
displayName: Test Linux (.NET 10)
dependsOn: []
jobs:
- template: azure-pipelines/test-matrix.yml
parameters:
os: linux
# Prefer the dotnet from the container.
installDotNet: false
testVSCodeVersion: $(testVSCodeVersion)
installAdditionalLinuxDependencies: true
pool:
name: NetCore-Public
demands: ImageOverride -equals build.ubuntu.2204.amd64.open
containerName: mcr.microsoft.com/dotnet/sdk:10.0-noble
- stage: Test_Windows_Stage
displayName: Test Windows
dependsOn: []
variables:
ROSLYN_SKIP_TEST_FILE_BASED_PROGRAMS: 'true'
jobs:
- template: azure-pipelines/test-matrix.yml
parameters:
os: windows
installDotNet: true
testVSCodeVersion: $(testVSCodeVersion)
pool:
name: NetCore-Public
demands: ImageOverride -equals 1es-windows-2022-open
- stage: Test_MacOS_Stage
displayName: Test MacOS
dependsOn: []
variables:
ROSLYN_SKIP_TEST_FILE_BASED_PROGRAMS: 'true'
jobs:
- template: azure-pipelines/test-matrix.yml
parameters:
os: macos
installDotNet: true
testVSCodeVersion: $(testVSCodeVersion)
pool:
name: Azure Pipelines
vmImage: macOS-15
- stage: Test_OmniSharp
displayName: Test OmniSharp
dependsOn: []
jobs:
- job: Test
strategy:
matrix:
linux:
demandsName: build.ubuntu.2204.amd64.open
windows:
demandsName: 1es-windows-2022-open
pool:
name: NetCore-Public
demands: ImageOverride -equals $(demandsName)
steps:
- template: azure-pipelines/test-omnisharp.yml
parameters:
installDotNet: true
testVSCodeVersion: $(testVSCodeVersion)