-
Notifications
You must be signed in to change notification settings - Fork 35
/
azure-pipelines.yml
148 lines (139 loc) · 5.19 KB
/
azure-pipelines.yml
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
# This Yaml Document has been converted by ESAI Yaml Pipeline Conversion Tool.
# This pipeline will be extended to the MicroBuild template
# Branches that trigger builds on PR
pr:
branches:
include:
- main
- release/*
paths:
exclude:
- README.md
- docs/*
# Run official build every day at midnight, if code has changed since the last run,
schedules:
- cron: "0 0 * * *"
displayName: Daily Official Build
branches:
include:
- main
- cron: "0 8 22-28 * 0" # Fourth Sunday of each month at 8:00 UTC.
# This frequency also supports keeping localization mechanisms fresh
displayName: "Monthly build check"
branches:
include:
- main
always: true # Run even if there have been no source code changes since the last successful scheduled run
batch: false # Do not run the pipeline if the previously scheduled run is in-progress
variables:
- template: /eng/common/templates-official/variables/pool-providers.yml@self
- name: _TeamName
value: Roslyn
- name: TeamName
value: Roslyn
- name: _PublishUsingPipelines
value: true
- name: _DotNetArtifactsCategory
value: .NETCore
- name: VisualStudioDropName
value: Products/$(System.TeamProject)/$(Build.Repository.Name)/$(Build.SourceBranchName)/$(Build.BuildNumber)
- name: _BuildConfig
value: Release
- name: _SignType
value: real
- name: _DotNetPublishToBlobFeed
value: true
resources:
repositories:
- repository: MicroBuildTemplate
type: git
name: 1ESPipelineTemplates/MicroBuildTemplate
ref: refs/tags/release
extends:
template: azure-pipelines/MicroBuild.1ES.Official.yml@MicroBuildTemplate
parameters:
featureFlags:
autoBaseline: true
sdl:
sourceAnalysisPool:
name: $(DncEngInternalBuildPool)
image: 1es-windows-2022
os: windows
sbom:
enabled: false
policheck:
enabled: true
tsa:
enabled: true
configFile: '$(Build.SourcesDirectory)/eng/TSAConfig.gdntsa'
customBuildTags:
- ES365AIMigrationTooling
stages:
- stage: build
displayName: Build
jobs:
- template: /eng/common/templates-official/job/onelocbuild.yml@self
parameters:
MirrorRepo: interactive-window
LclSource: lclFilesfromPackage
LclPackageId: 'LCL-JUNO-PROD-INTERWIN'
- template: /eng/common/templates-official/jobs/jobs.yml@self
parameters:
enableMicrobuild: true
enablePublishBuildArtifacts: true
enablePublishTestResults: true
enablePublishBuildAssets: true
enablePublishUsingPipelines: $(_PublishUsingPipelines)
enableTelemetry: true
enableSourceBuild: false
helixRepo: dotnet/interactive-window
jobs:
- job: Windows
pool:
name: $(DncEngInternalBuildPool)
image: 1es-windows-2022
os: windows
variables:
# Enable publishing in official builds
# Publish-Build-Assets provides: MaestroAccessToken, BotAccount-dotnet-maestro-bot-PAT
# DotNet-VSTS-Infra-Access provides: dn-bot-devdiv-drop-rw-code-rw
- group: Publish-Build-Assets
- group: DotNet-VSTS-Infra-Access
- name: _OfficialBuildArgs
value: /p:DotNetSignType=$(_SignType)
/p:TeamName=$(_TeamName)
/p:DotNetPublishUsingPipelines=$(_PublishUsingPipelines)
/p:DotNetArtifactsCategory=$(_DotNetArtifactsCategory)
/p:OfficialBuildId=$(BUILD.BUILDNUMBER)
- name: _DevDivDropAccessToken
value: $(dn-bot-devdiv-drop-rw-code-rw)
steps:
- checkout: self
clean: true
# Authenticate with service connections to be able to publish packages to external nuget feeds.
- task: NuGetAuthenticate@0
inputs:
nuGetServiceConnections: azure-public/vssdk
- script: eng\common\cibuild.cmd -configuration $(_BuildConfig) -prepareMachine $(_OfficialBuildArgs)
displayName: Build and Test
- task: PowerShell@2
displayName: Publish Assets
inputs:
filePath: 'eng\publish-assets.ps1'
arguments: '-configuration $(_BuildConfig) -branchName "$(Build.SourceBranchName)"'
condition: succeeded()
# Publishes setup VSIXes to a drop.
# Note: The insertion tool looks for the display name of this task in the logs.
- task: 1ES.MicroBuildVstsDrop@1
displayName: Upload VSTS Drop
inputs:
dropName: $(VisualStudioDropName)
dropFolder: 'artifacts\VSSetup\$(_BuildConfig)\Insertion'
accessToken: $(_DevDivDropAccessToken)
condition: succeeded()
- template: /eng/common/templates-official/post-build/post-build.yml@self
parameters:
publishingInfraVersion: 3
# Symbol validation isn't being very reliable lately. This should be enabled back
# once this issue is resolved: https://github.com/dotnet/arcade/issues/2871
enableSymbolValidation: false