Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 0cc67a3

Browse files
authored
Refactor macOS build pipeline (#325)
Use matrix strategy to avoid repeating code
1 parent 11995ad commit 0cc67a3

File tree

2 files changed

+29
-98
lines changed

2 files changed

+29
-98
lines changed

.vsts-ci.yml

Lines changed: 15 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -119,60 +119,24 @@ extends:
119119
artifactName: 'drop-windows'
120120
publishLocation: 'Container'
121121
parallel: true
122-
- job: OSX_latest_x64
123-
displayName: 'Mac OS (x64)'
122+
- job: OSX_latest
123+
displayName: 'Mac OS'
124124
pool:
125125
name: Azure Pipelines
126126
image: 'macOS-latest'
127127
os: macOS
128-
variables:
129-
- name: _RID
130-
value: osx-x64
131-
- name: _BuildConfig
132-
value: Release
133-
- name: _SignType
134-
value: none
135-
- name: _DotNetPublishToBlobFeed
136-
value: false
137-
steps:
138-
- checkout: self
139-
clean: true
140-
- script: eng/common/cibuild.sh
141-
--configuration $(_BuildConfig)
142-
--prepareMachine
143-
/p:RID=$(_RID)
144-
displayName: Build
145-
- task: ArchiveFiles@2
146-
condition: and(eq(variables['system.pullrequest.isfork'], false), eq(variables['_BuildConfig'], 'Release'))
147-
inputs:
148-
rootFolderOrFile: 'artifacts/layout/dotnet-core-uninstall/'
149-
includeRootFolder: false
150-
archiveType: 'tar'
151-
tarCompression: 'gz'
152-
archiveFile: '$(Build.ArtifactStagingDirectory)/dotnet-core-uninstall.tar.gz'
153-
replaceExistingArchive: true
154-
- task: 1ES.PublishBuildArtifacts@1
155-
condition: and(eq(variables['system.pullrequest.isfork'], false), eq(variables['_BuildConfig'], 'Release'))
156-
inputs:
157-
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
158-
artifactName: 'drop-osx'
159-
publishLocation: 'Container'
160-
parallel: true
161-
- job: OSX_latest_arm64
162-
displayName: 'Mac OS (arm64)'
163-
pool:
164-
name: Azure Pipelines
165-
image: 'macOS-latest'
166-
os: macOS
167-
variables:
168-
- name: _RID
169-
value: osx-arm64
170-
- name: _BuildConfig
171-
value: Release
172-
- name: _SignType
173-
value: none
174-
- name: _DotNetPublishToBlobFeed
175-
value: false
128+
strategy:
129+
matrix:
130+
ARM64:
131+
_RID: osx-arm64
132+
_BuildConfig: Release
133+
_SignType: none
134+
_DotNetPublishToBlobFeed: false
135+
X64:
136+
_RID: osx-x64
137+
_BuildConfig: Release
138+
_SignType: none
139+
_DotNetPublishToBlobFeed: false
176140
steps:
177141
- checkout: self
178142
clean: true
@@ -194,7 +158,7 @@ extends:
194158
condition: and(eq(variables['system.pullrequest.isfork'], false), eq(variables['_BuildConfig'], 'Release'))
195159
inputs:
196160
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
197-
artifactName: 'drop-osx'
161+
artifactName: 'drop-$(_RID)'
198162
publishLocation: 'Container'
199163
parallel: true
200164

.vsts-pr.yml

Lines changed: 14 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -98,66 +98,33 @@ stages:
9898
artifactName: 'drop-windows'
9999
publishLocation: 'Container'
100100
parallel: true
101-
- job: OSX_latest_x64
102-
displayName: 'Mac OS (x64)'
101+
- job: OSX_latest
102+
displayName: 'Mac OS'
103103
pool:
104104
vmImage: 'macOS-latest'
105105
strategy:
106106
matrix:
107107
${{ if in(variables['Build.Reason'], 'PullRequest') }}:
108-
Debug:
108+
Debug_arm64:
109109
_BuildConfig: Debug
110110
_SignType: none
111111
_DotNetPublishToBlobFeed : false
112-
Release:
113-
_BuildConfig: Release
114-
_SignType: none
115-
_DotNetPublishToBlobFeed : false
116-
variables:
117-
- name: _RID
118-
value: osx-x64
119-
steps:
120-
- checkout: self
121-
clean: true
122-
- script: eng/common/cibuild.sh
123-
--configuration $(_BuildConfig)
124-
--prepareMachine
125-
/p:RID=$(_RID)
126-
displayName: Build
127-
- task: ArchiveFiles@2
128-
condition: and(eq(variables['system.pullrequest.isfork'], false), eq(variables['_BuildConfig'], 'Release'))
129-
inputs:
130-
rootFolderOrFile: 'artifacts/layout/dotnet-core-uninstall/'
131-
includeRootFolder: false
132-
archiveType: 'tar'
133-
tarCompression: 'gz'
134-
archiveFile: '$(Build.ArtifactStagingDirectory)/dotnet-core-uninstall.tar.gz'
135-
replaceExistingArchive: true
136-
- task: PublishBuildArtifacts@1
137-
condition: and(eq(variables['system.pullrequest.isfork'], false), eq(variables['_BuildConfig'], 'Release'))
138-
inputs:
139-
pathtoPublish: '$(Build.ArtifactStagingDirectory)'
140-
artifactName: 'drop-osx'
141-
publishLocation: 'Container'
142-
parallel: true
143-
- job: OSX_latest_arm64
144-
displayName: 'Mac OS (arm64)'
145-
pool:
146-
vmImage: 'macOS-latest'
147-
strategy:
148-
matrix:
149-
${{ if in(variables['Build.Reason'], 'PullRequest') }}:
150-
Debug:
112+
_RID: osx-arm64
113+
Debug_x64:
151114
_BuildConfig: Debug
152115
_SignType: none
153116
_DotNetPublishToBlobFeed : false
154-
Release:
117+
_RID: osx-x64
118+
Release_arm64:
155119
_BuildConfig: Release
156120
_SignType: none
157121
_DotNetPublishToBlobFeed : false
158-
variables:
159-
- name: _RID
160-
value: osx-arm64
122+
_RID: osx-arm64
123+
Release_x64:
124+
_BuildConfig: Release
125+
_SignType: none
126+
_DotNetPublishToBlobFeed : false
127+
_RID: osx-x64
161128
steps:
162129
- checkout: self
163130
clean: true
@@ -179,7 +146,7 @@ stages:
179146
condition: and(eq(variables['system.pullrequest.isfork'], false), eq(variables['_BuildConfig'], 'Release'))
180147
inputs:
181148
pathtoPublish: '$(Build.ArtifactStagingDirectory)'
182-
artifactName: 'drop-osx'
149+
artifactName: 'drop-$(_RID)'
183150
publishLocation: 'Container'
184151
parallel: true
185152

0 commit comments

Comments
 (0)