Skip to content

Commit 7c021e4

Browse files
authored
Use YAML stages (#17040)
* Use YAML stages * Set DotNetValidationArtifactsCategory * Remove DotNetValidationArtifactsCategory
1 parent cb35706 commit 7c021e4

File tree

1 file changed

+135
-125
lines changed

1 file changed

+135
-125
lines changed

azure-pipelines.yml

+135-125
Original file line numberDiff line numberDiff line change
@@ -20,131 +20,141 @@ trigger:
2020

2121
pr: ['*']
2222

23-
jobs:
24-
- template: eng/common/templates/jobs/jobs.yml
25-
parameters:
26-
enableMicrobuild: true
27-
enablePublishBuildArtifacts: true
28-
enablePublishBuildAssets: true
29-
enablePublishUsingPipelines: $(_PublishUsingPipelines)
30-
enablePublishTestResults: true
31-
enableTelemetry: true
32-
helixRepo: aspnet/EntityFrameworkCore
33-
jobs:
34-
- job: Windows
35-
pool:
36-
${{ if eq(variables['System.TeamProject'], 'public') }}:
37-
name: NetCorePublic-Pool
38-
queue: BuildPool.Windows.10.Amd64.VS2017.Open
39-
${{ if ne(variables['System.TeamProject'], 'public') }}:
40-
name: NetCoreInternal-Pool
41-
queue: BuildPool.Windows.10.Amd64.VS2017
42-
variables:
43-
- _InternalBuildArgs: ''
44-
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
45-
- group: DotNet-Blob-Feed
46-
- _SignType: real
47-
- _PublishBlobFeedUrl: https://dotnetfeed.blob.core.windows.net/aspnet-entityframeworkcore/index.json
48-
- _DotNetPublishToBlobFeed: true
49-
- _InternalBuildArgs: /p:DotNetSignType=$(_SignType) /p:TeamName=$(_TeamName) /p:DotNetPublishBlobFeedKey=$(dotnetfeed-storage-access-key-1) /p:DotNetPublishBlobFeedUrl=$(_PublishBlobFeedUrl) /p:DotNetPublishToBlobFeed=$(_DotNetPublishToBlobFeed) /p:DotNetPublishUsingPipelines=$(_PublishUsingPipelines) /p:DotNetArtifactsCategory=$(_DotNetArtifactsCategory) /p:OfficialBuildId=$(BUILD.BUILDNUMBER)
50-
steps:
51-
- task: NuGetCommand@2
52-
displayName: 'Clear NuGet caches'
53-
condition: succeeded()
54-
inputs:
55-
command: custom
56-
arguments: 'locals all -clear'
57-
- script: "echo ##vso[build.addbuildtag]daily-build"
58-
condition: and(ne(variables['Build.Reason'], 'PullRequest'), ne(variables['IsFinalBuild'], 'true'))
59-
displayName: 'Set CI tags'
60-
- script: "echo ##vso[build.addbuildtag]release-candidate"
61-
condition: and(ne(variables['Build.Reason'], 'PullRequest'), eq(variables['IsFinalBuild'], 'true'))
62-
displayName: 'Set CI tags'
63-
- powershell: |
64-
SqlLocalDB stop MSSQLLocalDB -i
65-
SqlLocalDB start MSSQLLocalDB
66-
& "$env:ProgramFiles\Microsoft SQL Server\110\Tools\Binn\SQLCMD.EXE" -S '(localdb)\MSSQLLocalDB' -b -Q @'
67-
DECLARE @name nvarchar(255);
68-
DECLARE db CURSOR FOR SELECT Name FROM sysdatabases WHERE Name NOT IN ('master', 'tempdb', 'model', 'msdb');
69-
OPEN db;
70-
FETCH NEXT FROM db INTO @name;
71-
WHILE @@FETCH_STATUS = 0
72-
BEGIN
73-
SET @name = REPLACE(@name, ']', ']]');
74-
PRINT 'Dropping database [' + @name + ']';
75-
SET @name = 'DROP DATABASE [' + @name + ']';
76-
EXEC (@name);
23+
stages:
24+
- stage: build
25+
displayName: Build
26+
jobs:
27+
- template: eng/common/templates/jobs/jobs.yml
28+
parameters:
29+
enableMicrobuild: true
30+
enablePublishBuildArtifacts: true
31+
enablePublishBuildAssets: true
32+
enablePublishUsingPipelines: ${{ variables._PublishUsingPipelines }}
33+
enablePublishTestResults: true
34+
enableTelemetry: true
35+
helixRepo: aspnet/EntityFrameworkCore
36+
jobs:
37+
- job: Windows
38+
pool:
39+
${{ if eq(variables['System.TeamProject'], 'public') }}:
40+
name: NetCorePublic-Pool
41+
queue: BuildPool.Windows.10.Amd64.VS2017.Open
42+
${{ if ne(variables['System.TeamProject'], 'public') }}:
43+
name: NetCoreInternal-Pool
44+
queue: BuildPool.Windows.10.Amd64.VS2017
45+
variables:
46+
- _InternalBuildArgs: ''
47+
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
48+
- group: DotNet-Blob-Feed
49+
- _SignType: real
50+
- _PublishBlobFeedUrl: https://dotnetfeed.blob.core.windows.net/aspnet-entityframeworkcore/index.json
51+
- _DotNetPublishToBlobFeed: true
52+
- _InternalBuildArgs: /p:DotNetSignType=$(_SignType) /p:TeamName=$(_TeamName) /p:DotNetPublishBlobFeedKey=$(dotnetfeed-storage-access-key-1) /p:DotNetPublishBlobFeedUrl=$(_PublishBlobFeedUrl) /p:DotNetPublishToBlobFeed=$(_DotNetPublishToBlobFeed) /p:DotNetPublishUsingPipelines=$(_PublishUsingPipelines) /p:DotNetArtifactsCategory=$(_DotNetArtifactsCategory) /p:OfficialBuildId=$(BUILD.BUILDNUMBER)
53+
steps:
54+
- task: NuGetCommand@2
55+
displayName: 'Clear NuGet caches'
56+
condition: succeeded()
57+
inputs:
58+
command: custom
59+
arguments: 'locals all -clear'
60+
- script: "echo ##vso[build.addbuildtag]daily-build"
61+
condition: and(ne(variables['Build.Reason'], 'PullRequest'), ne(variables['IsFinalBuild'], 'true'))
62+
displayName: 'Set CI tags'
63+
- script: "echo ##vso[build.addbuildtag]release-candidate"
64+
condition: and(ne(variables['Build.Reason'], 'PullRequest'), eq(variables['IsFinalBuild'], 'true'))
65+
displayName: 'Set CI tags'
66+
- powershell: |
67+
SqlLocalDB stop MSSQLLocalDB -i
68+
SqlLocalDB start MSSQLLocalDB
69+
& "$env:ProgramFiles\Microsoft SQL Server\110\Tools\Binn\SQLCMD.EXE" -S '(localdb)\MSSQLLocalDB' -b -Q @'
70+
DECLARE @name nvarchar(255);
71+
DECLARE db CURSOR FOR SELECT Name FROM sysdatabases WHERE Name NOT IN ('master', 'tempdb', 'model', 'msdb');
72+
OPEN db;
7773
FETCH NEXT FROM db INTO @name;
78-
END;
79-
CLOSE db;
80-
DEALLOCATE db;
81-
'@
82-
displayName: Cleanup databases
83-
- script: eng\common\cibuild.cmd -configuration $(_BuildConfig) -prepareMachine $(_InternalBuildArgs)
84-
env:
85-
Test__Cosmos__DefaultConnection: $(_CosmosConnectionUrl)
86-
name: Build
87-
- task: PublishBuildArtifacts@1
88-
displayName: Upload TestResults
89-
condition: always()
90-
continueOnError: true
91-
inputs:
92-
pathtoPublish: artifacts/TestResults/$(_BuildConfig)/
93-
artifactName: $(Agent.Os)_$(Agent.JobName) TestResults
94-
artifactType: Container
95-
parallel: true
96-
- task: PublishBuildArtifacts@1
97-
displayName: Upload artifacts
98-
condition: and(succeeded(), eq(variables['system.pullrequest.isfork'], false))
99-
inputs:
100-
pathtoPublish: 'artifacts/packages/'
101-
artifactName: packages
102-
artifactType: Container
103-
parallel: true
74+
WHILE @@FETCH_STATUS = 0
75+
BEGIN
76+
SET @name = REPLACE(@name, ']', ']]');
77+
PRINT 'Dropping database [' + @name + ']';
78+
SET @name = 'DROP DATABASE [' + @name + ']';
79+
EXEC (@name);
80+
FETCH NEXT FROM db INTO @name;
81+
END;
82+
CLOSE db;
83+
DEALLOCATE db;
84+
'@
85+
displayName: Cleanup databases
86+
- script: eng\common\cibuild.cmd -configuration $(_BuildConfig) -prepareMachine $(_InternalBuildArgs)
87+
env:
88+
Test__Cosmos__DefaultConnection: $(_CosmosConnectionUrl)
89+
name: Build
90+
- task: PublishBuildArtifacts@1
91+
displayName: Upload TestResults
92+
condition: always()
93+
continueOnError: true
94+
inputs:
95+
pathtoPublish: artifacts/TestResults/$(_BuildConfig)/
96+
artifactName: $(Agent.Os)_$(Agent.JobName) TestResults
97+
artifactType: Container
98+
parallel: true
99+
- task: PublishBuildArtifacts@1
100+
displayName: Upload artifacts
101+
condition: and(succeeded(), eq(variables['system.pullrequest.isfork'], false))
102+
inputs:
103+
pathtoPublish: 'artifacts/packages/'
104+
artifactName: packages
105+
artifactType: Container
106+
parallel: true
107+
108+
- job: macOS
109+
pool:
110+
vmImage: macOS-10.13
111+
steps:
112+
# HACK: Use an older version to work around #16667
113+
- bash: brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/835ae521c065524abdf66578e68032fa24bce514/Formula/libspatialite.rb
114+
displayName: Install SpatiaLite
115+
continueOnError: true
116+
- script: eng/common/cibuild.sh --configuration $(_BuildConfig) --binaryLog --prepareMachine
117+
env:
118+
Test__Cosmos__DefaultConnection: $(_CosmosConnectionUrl)
119+
name: Build
120+
- task: PublishBuildArtifacts@1
121+
displayName: Upload TestResults
122+
condition: always()
123+
continueOnError: true
124+
inputs:
125+
pathtoPublish: artifacts/TestResults/$(_BuildConfig)/
126+
artifactName: $(Agent.Os)_$(Agent.JobName) TestResults
127+
artifactType: Container
128+
parallel: true
104129

105-
- job: macOS
106-
pool:
107-
vmImage: macOS-10.13
108-
steps:
109-
# HACK: Use an older version to work around #16667
110-
- bash: brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/835ae521c065524abdf66578e68032fa24bce514/Formula/libspatialite.rb
111-
displayName: Install SpatiaLite
112-
continueOnError: true
113-
- script: eng/common/cibuild.sh --configuration $(_BuildConfig) --binaryLog --prepareMachine
114-
env:
115-
Test__Cosmos__DefaultConnection: $(_CosmosConnectionUrl)
116-
name: Build
117-
- task: PublishBuildArtifacts@1
118-
displayName: Upload TestResults
119-
condition: always()
120-
continueOnError: true
121-
inputs:
122-
pathtoPublish: artifacts/TestResults/$(_BuildConfig)/
123-
artifactName: $(Agent.Os)_$(Agent.JobName) TestResults
124-
artifactType: Container
125-
parallel: true
130+
- job: Linux
131+
pool:
132+
vmImage: ubuntu-16.04
133+
variables:
134+
- ${{ if and(eq(variables['System.TeamProject'], 'public'), eq(variables['system.pullrequest.isfork'], false), notin(variables['Build.Reason'], 'IndividualCI', 'BatchedCI')) }}:
135+
- _CosmosToken: $(ef-nightly-cosmos-key)
136+
steps:
137+
- bash: sudo apt-get install -y libsqlite3-mod-spatialite
138+
displayName: Install SpatiaLite
139+
continueOnError: true
140+
- script: eng/common/cibuild.sh --configuration $(_BuildConfig) --prepareMachine
141+
env:
142+
Test__Cosmos__DefaultConnection: $(_CosmosConnectionUrl)
143+
Test__Cosmos__AuthToken: $(_CosmosToken)
144+
name: Build
145+
- task: PublishBuildArtifacts@1
146+
displayName: Upload TestResults
147+
condition: always()
148+
continueOnError: true
149+
inputs:
150+
pathtoPublish: artifacts/TestResults/$(_BuildConfig)/
151+
artifactName: $(Agent.Os)_$(Agent.JobName) TestResults
152+
artifactType: Container
153+
parallel: true
126154

127-
- job: Linux
128-
pool:
129-
vmImage: ubuntu-16.04
130-
variables:
131-
- ${{ if and(eq(variables['System.TeamProject'], 'public'), eq(variables['system.pullrequest.isfork'], false), notin(variables['Build.Reason'], 'IndividualCI', 'BatchedCI')) }}:
132-
- _CosmosToken: $(ef-nightly-cosmos-key)
133-
steps:
134-
- bash: sudo apt-get install -y libsqlite3-mod-spatialite
135-
displayName: Install SpatiaLite
136-
continueOnError: true
137-
- script: eng/common/cibuild.sh --configuration $(_BuildConfig) --prepareMachine
138-
env:
139-
Test__Cosmos__DefaultConnection: $(_CosmosConnectionUrl)
140-
Test__Cosmos__AuthToken: $(_CosmosToken)
141-
name: Build
142-
- task: PublishBuildArtifacts@1
143-
displayName: Upload TestResults
144-
condition: always()
145-
continueOnError: true
146-
inputs:
147-
pathtoPublish: artifacts/TestResults/$(_BuildConfig)/
148-
artifactName: $(Agent.Os)_$(Agent.JobName) TestResults
149-
artifactType: Container
150-
parallel: true
155+
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
156+
- template: eng\common\templates\post-build\post-build.yml
157+
parameters:
158+
# Symbol validation isn't being very reliable lately. This should be enabled back
159+
# once this issue is resolved: https://github.com/dotnet/arcade/issues/2871
160+
enableSymbolValidation: false

0 commit comments

Comments
 (0)