-
Notifications
You must be signed in to change notification settings - Fork 34
/
azure-pipelines.yml
142 lines (133 loc) · 4.84 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
# 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,
# or every other month if the code has not changed. The latter is required by localization process.
schedules:
- cron: "0 0 * * *"
displayName: Daily Official Build
branches:
include:
- main
- cron: '0 0 1 1,3,5,7,9,11 *'
displayName: Keep-alive Official Build
branches:
include:
- main
always: true
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-pt
os: windows
sbom:
enabled: false
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-pt
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