Skip to content

Commit e93820b

Browse files
authored
Azure Pipelines Release: Fixing Pool Definitions & Improving Pipeline Inputs (#390)
* Creating pipeline parameters. * Fixing mac builds.
1 parent ab1d029 commit e93820b

File tree

1 file changed

+116
-105
lines changed

1 file changed

+116
-105
lines changed
Lines changed: 116 additions & 105 deletions
Original file line numberDiff line numberDiff line change
@@ -1,107 +1,118 @@
11
# This pipeline will be triggered manually.
2-
variables:
3-
- name: tags
4-
value: "nonproduction"
5-
readonly: true
6-
7-
trigger: none
8-
9-
pr: none
10-
11-
resources:
12-
repositories:
13-
- repository: CustomPipelineTemplates
14-
type: git
15-
name: 1ESPipelineTemplates/OfficePipelineTemplates
16-
ref: refs/tags/release
17-
18-
extends:
19-
template: v1/Office.Unofficial.PipelineTemplate.yml@CustomPipelineTemplates
20-
parameters:
21-
pool:
22-
name: Azure-Pipelines-1ESPT-ExDShared
23-
image: windows-latest
24-
os: windows
25-
stages:
26-
- stage: validate
27-
displayName: Validate
28-
jobs:
29-
- job: validate
30-
pool:
31-
name: Azure-Pipelines-1ESPT-ExDShared
32-
image: ubuntu-latest
33-
os: linux
34-
displayName: Validate
35-
steps:
36-
- checkout: self
37-
- task: Bash@3
38-
inputs:
39-
targetType: inline
40-
script: |
41-
echo $(version) | python ./bin/version.py
42-
43-
- stage: build
44-
displayName: Build
45-
jobs:
46-
- job: build
47-
strategy:
48-
matrix:
49-
x64-windows:
50-
poolName: Azure-Pipelines-1ESPT-ExDShared
51-
image: windows-latest
52-
os: windows
53-
runtime: win10-x64
54-
x64-mac:
55-
poolName: Azure Pipelines
56-
image: macOS-latest
57-
os: macOS
58-
runtime: osx-x64
59-
arm-mac:
60-
poolName: Azure Pipelines
61-
image: macOS-latest
62-
os: macOS
63-
runtime: osx-arm64
64-
pool:
65-
name: $(poolName)
66-
image: $(image)
67-
os: $(os)
2+
parameters:
3+
- name: version
4+
type: string
5+
- name: prerelease
6+
displayName: Prerelease?
7+
type: boolean
8+
default: true
9+
- name: buildConfigs
10+
type: object
11+
default:
12+
- pool:
13+
name: Azure-Pipelines-1ESPT-ExDShared
14+
image: windows-latest
15+
os: windows
16+
runtime: win10-x64
17+
- pool:
18+
name: Azure Pipelines
19+
image: macOS-latest
20+
os: macOS
21+
runtime: osx-x64
22+
- pool:
23+
name: Azure Pipelines
24+
image: macOS-latest
25+
os: macOS
26+
runtime: osx-arm64
27+
28+
variables:
29+
- name: tags
30+
value: "nonproduction"
31+
readonly: true
32+
33+
trigger: none
34+
35+
pr: none
36+
37+
resources:
38+
repositories:
39+
- repository: CustomPipelineTemplates
40+
type: git
41+
name: 1ESPipelineTemplates/OfficePipelineTemplates
42+
ref: refs/tags/release
43+
44+
extends:
45+
template: v1/Office.Unofficial.PipelineTemplate.yml@CustomPipelineTemplates
46+
parameters:
47+
pool:
48+
name: Azure-Pipelines-1ESPT-ExDShared
49+
image: ubuntu-latest
50+
os: linux
51+
sdl:
52+
sourceAnalysisPool:
53+
name: Azure-Pipelines-1ESPT-ExDShared
54+
image: windows-latest
55+
os: windows
56+
stages:
57+
- stage: validate
58+
displayName: Validate
59+
jobs:
60+
- job: validate
61+
displayName: Validate
62+
steps:
63+
- checkout: self
64+
- task: Bash@3
65+
inputs:
66+
targetType: inline
67+
script: |
68+
echo ${{ parameters.version }} | python ./bin/version.py
69+
70+
- stage: build
6871
displayName: Build
69-
steps:
70-
- checkout: self
71-
- task: UseDotNet@2
72-
displayName: Use .NET Core sdk 6.x
73-
inputs:
74-
version: 6.x
75-
76-
- task: NuGetToolInstaller@0
77-
displayName: Use NuGet 6.x
78-
inputs:
79-
versionSpec: 6.x
80-
81-
- task: DotNetCoreCLI@2
82-
displayName: Install dependencies
83-
inputs:
84-
command: restore
85-
feedsToUse: select
86-
vstsFeed: $(vstsFeedId)
87-
includeNuGetOrg: false
88-
arguments: --runtime $(runtime)
89-
90-
- task: DotNetCoreCLI@2
91-
displayName: Test
92-
inputs:
93-
command: test
94-
arguments: --configuration release
95-
96-
- task: DotNetCoreCLI@2
97-
displayName: Build artifacts
98-
inputs:
99-
command: publish
100-
projects: src/AzureAuth/AzureAuth.csproj
101-
arguments: -p:Version=$(version) --configuration release --self-contained true --runtime $(runtime) --output dist/$(runtime)
102-
103-
templateContext:
104-
outputs:
105-
- output: pipelineArtifact
106-
path: dist/$(runtime)
107-
artifact: azureauth-$(version)-$(runtime)
72+
jobs:
73+
- ${{ each config in parameters.buildConfigs }}:
74+
- job: build_${{ replace(config.runtime,'-', '_') }}
75+
displayName: Building for ${{ config.runtime }} on ${{ config.pool.name }}
76+
pool:
77+
name: ${{ config.pool.name }}
78+
image: ${{ config.pool.image }}
79+
os: ${{ config.pool.os }}
80+
steps:
81+
- checkout: self
82+
- task: UseDotNet@2
83+
displayName: Use .NET Core sdk 6.x
84+
inputs:
85+
version: 6.x
86+
87+
- task: NuGetToolInstaller@0
88+
displayName: Use NuGet 6.x
89+
inputs:
90+
versionSpec: 6.x
91+
92+
- task: DotNetCoreCLI@2
93+
displayName: Install dependencies
94+
inputs:
95+
command: restore
96+
feedsToUse: select
97+
vstsFeed: $(vstsFeedId)
98+
includeNuGetOrg: false
99+
arguments: --runtime ${{ config.runtime }}
100+
101+
- task: DotNetCoreCLI@2
102+
displayName: Test
103+
inputs:
104+
command: test
105+
arguments: --configuration release
106+
107+
- task: DotNetCoreCLI@2
108+
displayName: Build artifacts
109+
inputs:
110+
command: publish
111+
projects: src/AzureAuth/AzureAuth.csproj
112+
arguments: -p:Version=${{ parameters.version }} --configuration release --self-contained true --runtime ${{ config.runtime }} --output dist/${{ config.runtime }}
113+
114+
templateContext:
115+
outputs:
116+
- output: pipelineArtifact
117+
path: dist/${{ config.runtime }}
118+
artifact: azureauth-${{ parameters.version }}-${{ config.runtime }}

0 commit comments

Comments
 (0)