Skip to content

Commit ed075f4

Browse files
authored
Enable microbuild preview plugin (#16185)
1 parent db534d1 commit ed075f4

3 files changed

Lines changed: 68 additions & 27 deletions

File tree

eng/common/core-templates/job/job.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ parameters:
1919
# publishing defaults
2020
artifacts: ''
2121
enableMicrobuild: false
22+
enablePreviewMicrobuild: false
2223
enableMicrobuildForMacAndLinux: false
2324
microbuildUseESRP: true
2425
enablePublishBuildArtifacts: false
@@ -128,6 +129,7 @@ jobs:
128129
- template: /eng/common/core-templates/steps/install-microbuild.yml
129130
parameters:
130131
enableMicrobuild: ${{ parameters.enableMicrobuild }}
132+
enablePreviewMicrobuild: ${{ parameters.enablePreviewMicrobuild }}
131133
enableMicrobuildForMacAndLinux: ${{ parameters.enableMicrobuildForMacAndLinux }}
132134
microbuildUseESRP: ${{ parameters.microbuildUseESRP }}
133135
continueOnError: ${{ parameters.continueOnError }}
@@ -153,6 +155,7 @@ jobs:
153155
- template: /eng/common/core-templates/steps/cleanup-microbuild.yml
154156
parameters:
155157
enableMicrobuild: ${{ parameters.enableMicrobuild }}
158+
enablePreviewMicrobuild: ${{ parameters.enablePreviewMicrobuild }}
156159
enableMicrobuildForMacAndLinux: ${{ parameters.enableMicrobuildForMacAndLinux }}
157160
continueOnError: ${{ parameters.continueOnError }}
158161

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
parameters:
2+
- name: microbuildTaskInputs
3+
type: object
4+
default: {}
5+
6+
- name: microbuildEnv
7+
type: object
8+
default: {}
9+
10+
- name: enablePreviewMicrobuild
11+
type: boolean
12+
default: false
13+
14+
- name: condition
15+
type: string
16+
17+
- name: continueOnError
18+
type: boolean
19+
20+
steps:
21+
- ${{ if eq(parameters.enablePreviewMicrobuild, 'true') }}:
22+
- task: MicroBuildSigningPluginPreview@4
23+
displayName: Install Preview MicroBuild plugin (Windows)
24+
inputs: ${{ parameters.microbuildTaskInputs }}
25+
env: ${{ parameters.microbuildEnv }}
26+
continueOnError: ${{ parameters.continueOnError }}
27+
condition: ${{ parameters.condition }}
28+
- ${{ else }}:
29+
- task: MicroBuildSigningPlugin@4
30+
displayName: Install MicroBuild plugin (Windows)
31+
inputs: ${{ parameters.microbuildTaskInputs }}
32+
env: ${{ parameters.microbuildEnv }}
33+
continueOnError: ${{ parameters.continueOnError }}
34+
condition: ${{ parameters.condition }}

eng/common/core-templates/steps/install-microbuild.yml

Lines changed: 31 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ parameters:
44
# Enable install tasks for MicroBuild on Mac and Linux
55
# Will be ignored if 'enableMicrobuild' is false or 'Agent.Os' is 'Windows_NT'
66
enableMicrobuildForMacAndLinux: false
7+
# Enable preview version of MB signing plugin
8+
enablePreviewMicrobuild: false
79
# Determines whether the ESRP service connection information should be passed to the signing plugin.
810
# This overlaps with _SignType to some degree. We only need the service connection for real signing.
911
# It's important that the service connection not be passed to the MicroBuildSigningPlugin task in this place.
@@ -51,41 +53,43 @@ steps:
5153
# YAML expansion, and Windows vs. Linux/Mac uses different service connections. However,
5254
# we can avoid including the MB install step if not enabled at all. This avoids a bunch of
5355
# extra pipeline authorizations, since most pipelines do not sign on non-Windows.
54-
- task: MicroBuildSigningPlugin@4
55-
displayName: Install MicroBuild plugin (Windows)
56-
inputs:
57-
signType: $(_SignType)
58-
zipSources: false
59-
feedSource: https://dnceng.pkgs.visualstudio.com/_packaging/MicroBuildToolset/nuget/v3/index.json
60-
${{ if eq(parameters.microbuildUseESRP, true) }}:
61-
ConnectedServiceName: 'MicroBuild Signing Task (DevDiv)'
62-
${{ if eq(variables['System.TeamProject'], 'DevDiv') }}:
63-
ConnectedPMEServiceName: 6cc74545-d7b9-4050-9dfa-ebefcc8961ea
64-
${{ else }}:
65-
ConnectedPMEServiceName: 248d384a-b39b-46e3-8ad5-c2c210d5e7ca
66-
env:
67-
TeamName: $(_TeamName)
68-
MicroBuildOutputFolderOverride: ${{ parameters.microBuildOutputFolder }}
69-
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
70-
continueOnError: ${{ parameters.continueOnError }}
71-
condition: and(succeeded(), eq(variables['Agent.Os'], 'Windows_NT'), in(variables['_SignType'], 'real', 'test'))
72-
73-
- ${{ if eq(parameters.enableMicrobuildForMacAndLinux, true) }}:
74-
- task: MicroBuildSigningPlugin@4
75-
displayName: Install MicroBuild plugin (non-Windows)
76-
inputs:
56+
- template: /eng/common/core-templates/steps/install-microbuild-impl.yml@self
57+
parameters:
58+
enablePreviewMicrobuild: ${{ parameters.enablePreviewMicrobuild }}
59+
microbuildTaskInputs:
7760
signType: $(_SignType)
7861
zipSources: false
7962
feedSource: https://dnceng.pkgs.visualstudio.com/_packaging/MicroBuildToolset/nuget/v3/index.json
8063
${{ if eq(parameters.microbuildUseESRP, true) }}:
8164
ConnectedServiceName: 'MicroBuild Signing Task (DevDiv)'
8265
${{ if eq(variables['System.TeamProject'], 'DevDiv') }}:
83-
ConnectedPMEServiceName: beb8cb23-b303-4c95-ab26-9e44bc958d39
66+
ConnectedPMEServiceName: 6cc74545-d7b9-4050-9dfa-ebefcc8961ea
8467
${{ else }}:
85-
ConnectedPMEServiceName: c24de2a5-cc7a-493d-95e4-8e5ff5cad2bc
86-
env:
68+
ConnectedPMEServiceName: 248d384a-b39b-46e3-8ad5-c2c210d5e7ca
69+
microbuildEnv:
8770
TeamName: $(_TeamName)
8871
MicroBuildOutputFolderOverride: ${{ parameters.microBuildOutputFolder }}
8972
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
9073
continueOnError: ${{ parameters.continueOnError }}
91-
condition: and(succeeded(), ne(variables['Agent.Os'], 'Windows_NT'), eq(variables['_SignType'], 'real'))
74+
condition: and(succeeded(), eq(variables['Agent.Os'], 'Windows_NT'), in(variables['_SignType'], 'real', 'test'))
75+
76+
- ${{ if eq(parameters.enableMicrobuildForMacAndLinux, true) }}:
77+
- template: /eng/common/core-templates/steps/install-microbuild-impl.yml@self
78+
parameters:
79+
enablePreviewMicrobuild: ${{ parameters.enablePreviewMicrobuild }}
80+
microbuildTaskInputs:
81+
signType: $(_SignType)
82+
zipSources: false
83+
feedSource: https://dnceng.pkgs.visualstudio.com/_packaging/MicroBuildToolset/nuget/v3/index.json
84+
${{ if eq(parameters.microbuildUseESRP, true) }}:
85+
ConnectedServiceName: 'MicroBuild Signing Task (DevDiv)'
86+
${{ if eq(variables['System.TeamProject'], 'DevDiv') }}:
87+
ConnectedPMEServiceName: beb8cb23-b303-4c95-ab26-9e44bc958d39
88+
${{ else }}:
89+
ConnectedPMEServiceName: c24de2a5-cc7a-493d-95e4-8e5ff5cad2bc
90+
microbuildEnv:
91+
TeamName: $(_TeamName)
92+
MicroBuildOutputFolderOverride: ${{ parameters.microBuildOutputFolder }}
93+
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
94+
continueOnError: ${{ parameters.continueOnError }}
95+
condition: and(succeeded(), ne(variables['Agent.Os'], 'Windows_NT'), eq(variables['_SignType'], 'real'))

0 commit comments

Comments
 (0)