Skip to content

Commit 53f6e6a

Browse files
committed
use new Arcade publishing infrastructure
1 parent f741e09 commit 53f6e6a

File tree

1 file changed

+131
-124
lines changed

1 file changed

+131
-124
lines changed

.vsts-ci.yml

Lines changed: 131 additions & 124 deletions
Original file line numberDiff line numberDiff line change
@@ -15,134 +15,141 @@ pr:
1515
include:
1616
- '*'
1717

18-
jobs:
19-
- template: /eng/common/templates/jobs/jobs.yml
20-
parameters:
21-
enableMicrobuild: true
22-
enablePublishBuildArtifacts: true
23-
enablePublishTestResults: true
24-
enablePublishBuildAssets: true
25-
enableTelemetry: true
26-
helixRepo: dotnet/command-line-api
27-
timeoutInMinutes: 180 # increase timeout since BAR publishing might wait a long time
28-
jobs:
29-
- job: Windows
30-
pool:
31-
# For public or PR jobs, use the hosted pool. For internal jobs use the internal pool.
32-
# Will eventually change this to two BYOC pools.
33-
${{ if ne(variables['System.TeamProject'], 'internal') }}:
34-
name: NetCorePublic-Pool
35-
queue: BuildPool.Windows.10.Amd64.VS2019.Open
36-
${{ if eq(variables['System.TeamProject'], 'internal') }}:
37-
name: NetCoreInternal-Pool
38-
queue: BuildPool.Windows.10.Amd64.VS2019
39-
variables:
40-
# Only enable publishing in official builds.
41-
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
42-
# DotNet-Blob-Feed provides: dotnetfeed-storage-access-key-1
43-
# Publish-Build-Assets provides: MaestroAccessToken, BotAccount-dotnet-maestro-bot-PAT
44-
- group: DotNet-Blob-Feed
45-
- group: DotNet-Symbol-Server-Pats
46-
- group: Publish-Build-Assets
47-
- name: _OfficialBuildArgs
48-
value: /p:DotNetSignType=$(_SignType)
49-
/p:TeamName=$(_TeamName)
50-
/p:DotNetPublishBlobFeedKey=$(dotnetfeed-storage-access-key-1)
51-
/p:DotNetPublishBlobFeedUrl=https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json
52-
/p:DotNetPublishToBlobFeed=$(_DotNetPublishToBlobFeed)
53-
/p:OfficialBuildId=$(BUILD.BUILDNUMBER)
54-
/p:PublishToSymbolServer=true
55-
/p:DotNetSymbolServerTokenMsdl=$(microsoft-symbol-server-pat)
56-
/p:DotNetSymbolServerTokenSymWeb=$(symweb-symbol-server-pat)
57-
# else
58-
- ${{ if or(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest')) }}:
59-
- name: _OfficialBuildArgs
60-
value: ''
61-
strategy:
62-
matrix:
63-
${{ if in(variables['Build.Reason'], 'PullRequest') }}:
64-
Debug:
65-
_BuildConfig: Debug
66-
_SignType: test
67-
_DotNetPublishToBlobFeed: false
68-
_BuildArgs:
18+
stages:
19+
- stage: build
20+
displayName: Build and Test
21+
jobs:
22+
- template: /eng/common/templates/jobs/jobs.yml
23+
parameters:
24+
enableMicrobuild: true
25+
enablePublishBuildArtifacts: true
26+
enablePublishTestResults: true
27+
enablePublishBuildAssets: true
28+
enableTelemetry: true
29+
helixRepo: dotnet/command-line-api
30+
timeoutInMinutes: 180 # increase timeout since BAR publishing might wait a long time
31+
jobs:
32+
- job: Windows
33+
pool:
34+
# For public or PR jobs, use the hosted pool. For internal jobs use the internal pool.
35+
# Will eventually change this to two BYOC pools.
36+
${{ if ne(variables['System.TeamProject'], 'internal') }}:
37+
name: NetCorePublic-Pool
38+
queue: BuildPool.Windows.10.Amd64.VS2019.Open
39+
${{ if eq(variables['System.TeamProject'], 'internal') }}:
40+
name: NetCoreInternal-Pool
41+
queue: BuildPool.Windows.10.Amd64.VS2019
42+
variables:
43+
# Only enable publishing in official builds.
44+
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
45+
# DotNet-Blob-Feed provides: dotnetfeed-storage-access-key-1
46+
# Publish-Build-Assets provides: MaestroAccessToken, BotAccount-dotnet-maestro-bot-PAT
47+
- group: DotNet-Blob-Feed
48+
- group: DotNet-Symbol-Server-Pats
49+
- group: Publish-Build-Assets
50+
- name: _OfficialBuildArgs
51+
value: /p:DotNetSignType=$(_SignType)
52+
/p:TeamName=$(_TeamName)
53+
/p:DotNetPublishBlobFeedKey=$(dotnetfeed-storage-access-key-1)
54+
/p:DotNetPublishBlobFeedUrl=https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json
55+
/p:DotNetPublishToBlobFeed=$(_DotNetPublishToBlobFeed)
56+
/p:OfficialBuildId=$(BUILD.BUILDNUMBER)
57+
/p:PublishToSymbolServer=true
58+
/p:DotNetSymbolServerTokenMsdl=$(microsoft-symbol-server-pat)
59+
/p:DotNetSymbolServerTokenSymWeb=$(symweb-symbol-server-pat)
60+
- name: _DotNetArtifactsCategory
61+
value: .NETCore
62+
- name: _PublishUsingPipelines
63+
value: true
64+
# else
65+
- ${{ if or(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest')) }}:
66+
- name: _OfficialBuildArgs
67+
value: ''
68+
strategy:
69+
matrix:
70+
${{ if in(variables['Build.Reason'], 'PullRequest') }}:
71+
Debug:
72+
_BuildConfig: Debug
73+
_SignType: test
74+
_DotNetPublishToBlobFeed: false
75+
_BuildArgs:
6976

70-
Release:
71-
_BuildConfig: Release
72-
# PRs or external builds are not signed.
73-
${{ if or(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest')) }}:
74-
_SignType: test
75-
_DotNetPublishToBlobFeed: false
76-
${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
77-
_SignType: real
78-
_DotNetPublishToBlobFeed: true
79-
_BuildArgs: $(_OfficialBuildArgs)
80-
steps:
81-
- checkout: self
82-
clean: true
83-
- script: eng\common\cibuild.cmd
84-
-configuration $(_BuildConfig)
85-
-prepareMachine
86-
$(_BuildArgs)
87-
displayName: Build and Publish
88-
- task: PublishBuildArtifacts@1
89-
displayName: Upload package artifacts
90-
condition: and(eq(variables['system.pullrequest.isfork'], false), eq(variables['_BuildConfig'], 'Release'))
91-
inputs:
92-
pathtoPublish: artifacts/packages/
93-
artifactName: artifacts
94-
artifactType: Container
95-
parallel: true
96-
- task: PublishBuildArtifacts@1
97-
displayName: Publish Artifact Symbols
98-
condition: and(eq(variables['system.pullrequest.isfork'], false), eq(variables['_BuildConfig'], 'Release'))
99-
inputs:
100-
PathtoPublish: '$(Build.SourcesDirectory)\artifacts\SymStore\$(_BuildConfig)'
101-
ArtifactName: 'NativeSymbols'
77+
Release:
78+
_BuildConfig: Release
79+
# PRs or external builds are not signed.
80+
${{ if or(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest')) }}:
81+
_SignType: test
82+
_DotNetPublishToBlobFeed: false
83+
${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
84+
_SignType: real
85+
_DotNetPublishToBlobFeed: true
86+
_BuildArgs: $(_OfficialBuildArgs)
87+
steps:
88+
- checkout: self
89+
clean: true
90+
- script: eng\common\cibuild.cmd
91+
-configuration $(_BuildConfig)
92+
-prepareMachine
93+
$(_BuildArgs)
94+
displayName: Build and Publish
95+
- task: PublishBuildArtifacts@1
96+
displayName: Upload package artifacts
97+
condition: and(eq(variables['system.pullrequest.isfork'], false), eq(variables['_BuildConfig'], 'Release'))
98+
inputs:
99+
pathtoPublish: artifacts/packages/
100+
artifactName: artifacts
101+
artifactType: Container
102+
parallel: true
103+
- task: PublishBuildArtifacts@1
104+
displayName: Publish Artifact Symbols
105+
condition: and(eq(variables['system.pullrequest.isfork'], false), eq(variables['_BuildConfig'], 'Release'))
106+
inputs:
107+
PathtoPublish: '$(Build.SourcesDirectory)\artifacts\SymStore\$(_BuildConfig)'
108+
ArtifactName: 'NativeSymbols'
102109

103-
- job: Ubuntu_16_04
104-
displayName: 'Ubuntu 16.04'
105-
pool:
106-
name: Hosted Ubuntu 1604
107-
strategy:
108-
matrix:
109-
${{ if in(variables['Build.Reason'], 'PullRequest') }}:
110-
Debug:
111-
_BuildConfig: Debug
110+
- job: Ubuntu_16_04
111+
displayName: 'Ubuntu 16.04'
112+
pool:
113+
name: Hosted Ubuntu 1604
114+
strategy:
115+
matrix:
116+
${{ if in(variables['Build.Reason'], 'PullRequest') }}:
117+
Debug:
118+
_BuildConfig: Debug
119+
_SignType: none
120+
_DotNetPublishToBlobFeed : false
121+
Release:
122+
_BuildConfig: Release
112123
_SignType: none
113124
_DotNetPublishToBlobFeed : false
114-
Release:
115-
_BuildConfig: Release
116-
_SignType: none
117-
_DotNetPublishToBlobFeed : false
118-
steps:
119-
- checkout: self
120-
clean: true
121-
- script: eng/common/cibuild.sh
122-
--configuration $(_BuildConfig)
123-
--prepareMachine
124-
displayName: Build
125+
steps:
126+
- checkout: self
127+
clean: true
128+
- script: eng/common/cibuild.sh
129+
--configuration $(_BuildConfig)
130+
--prepareMachine
131+
displayName: Build
125132

126-
- job: OSX_10_13
127-
displayName: 'OSX'
128-
pool:
129-
name: Hosted macOS
130-
vmImage: macOS-10.13
131-
strategy:
132-
matrix:
133-
${{ if in(variables['Build.Reason'], 'PullRequest') }}:
134-
Debug:
135-
_BuildConfig: Debug
133+
- job: OSX_10_13
134+
displayName: 'OSX'
135+
pool:
136+
name: Hosted macOS
137+
vmImage: macOS-10.13
138+
strategy:
139+
matrix:
140+
${{ if in(variables['Build.Reason'], 'PullRequest') }}:
141+
Debug:
142+
_BuildConfig: Debug
143+
_SignType: none
144+
_DotNetPublishToBlobFeed : false
145+
Release:
146+
_BuildConfig: Release
136147
_SignType: none
137148
_DotNetPublishToBlobFeed : false
138-
Release:
139-
_BuildConfig: Release
140-
_SignType: none
141-
_DotNetPublishToBlobFeed : false
142-
steps:
143-
- checkout: self
144-
clean: true
145-
- script: eng/common/cibuild.sh
146-
--configuration $(_BuildConfig)
147-
--prepareMachine
148-
displayName: Build
149+
steps:
150+
- checkout: self
151+
clean: true
152+
- script: eng/common/cibuild.sh
153+
--configuration $(_BuildConfig)
154+
--prepareMachine
155+
displayName: Build

0 commit comments

Comments
 (0)