Skip to content

Commit 4f51f50

Browse files
Migrate to Deploy Box Product for release stage (#5063)
* Switch to deploy box product release container * Don't install Node in release container * Switch to new VSCE publish workflow
1 parent 82dea7d commit 4f51f50

File tree

1 file changed

+34
-40
lines changed

1 file changed

+34
-40
lines changed

.pipelines/vscode-powershell-Official.yml

Lines changed: 34 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,8 @@ extends:
5858
WindowsHostVersion:
5959
Version: 2022
6060
Network: KS3
61+
release:
62+
category: NonAzure
6163
stages:
6264
- stage: build
6365
jobs:
@@ -130,33 +132,35 @@ extends:
130132
command: sign
131133
cp_code: "CP-401405-VSCodePublisherSign"
132134
search_root: $(Build.SourcesDirectory)/out
133-
files_to_sign: |
134-
*.signature.p7s;
135+
files_to_sign: "*.signature.p7s"
135136
- stage: release
136137
dependsOn: build
137138
condition: eq(variables['Build.Reason'], 'Manual')
138139
variables:
140+
ob_release_environment: Production
139141
version: $[ stageDependencies.build.main.outputs['package.version'] ]
140142
vsixVersion: $[ stageDependencies.build.main.outputs['package.vsixVersion'] ]
141143
prerelease: $[ stageDependencies.build.main.outputs['package.prerelease'] ]
142-
drop: $(Pipeline.Workspace)/drop_build_main
143144
jobs:
144145
- job: github
145146
displayName: Publish draft to GitHub
146147
pool:
147-
type: windows
148-
variables:
149-
ob_outputDirectory: $(Build.SourcesDirectory)/out
148+
type: release
149+
templateContext:
150+
inputs:
151+
- input: pipelineArtifact
152+
artifactName: drop_build_main
150153
steps:
151-
- download: current
152-
displayName: Download artifacts
153154
- task: GitHubRelease@1
154155
displayName: Create GitHub release
155156
inputs:
156157
gitHubConnection: GitHub
157158
repositoryName: PowerShell/vscode-powershell
158159
target: main
159-
assets: $(drop)/powershell-$(vsixVersion).vsix
160+
assets: |
161+
$(Pipeline.Workspace)/powershell-$(vsixVersion).vsix
162+
$(Pipeline.Workspace)/powershell-$(vsixVersion).manifest
163+
$(Pipeline.Workspace)/powershell-$(vsixVersion).signature.p7s
160164
tagSource: userSpecifiedTag
161165
tag: v$(version)
162166
isDraft: true
@@ -167,46 +171,36 @@ extends:
167171
- job: validation
168172
displayName: Manual validation
169173
pool:
170-
type: agentless
174+
type: server
171175
timeoutInMinutes: 1440
172176
steps:
173177
- task: ManualValidation@0
174178
displayName: Wait 24 hours for validation
175179
inputs:
176180
notifyUsers: $(Build.RequestedForEmail)
177181
instructions: Please validate the release and then publish it!
178-
timeoutInMinutes: 1440
179182
- job: vscode
180183
dependsOn: validation
181184
displayName: Publish to VS Code Marketplace
182185
pool:
183-
type: windows
184-
variables:
185-
ob_outputDirectory: $(Build.SourcesDirectory)/out
186+
type: release
187+
templateContext:
188+
inputs:
189+
- input: pipelineArtifact
190+
artifactName: drop_build_main
191+
workflow: vsce
192+
vsce:
193+
serviceConnection: vscode-marketplace
194+
vsixPath: "$(Pipeline.Workspace)/powershell-$(vsixVersion).vsix"
195+
signaturePath: "$(Pipeline.Workspace)/powershell-$(vsixVersion).signature.p7s"
196+
manifestPath: "$(Pipeline.Workspace)/powershell-$(vsixVersion).manifest"
197+
preRelease: $(prerelease)
198+
useCustomVSCE: true
199+
feed:
200+
organization: mscodehub
201+
project: PowerShellCore
202+
feedName: PowerShellCore_PublicPackages
186203
steps:
187-
- download: current
188-
displayName: Download artifacts
189-
- task: UseNode@1
190-
displayName: Use Node 20.x
191-
inputs:
192-
version: 20.x
193-
- pwsh: npm ci
194-
displayName: Install NPM packages (for vsce)
195-
- task: AzureCLI@2
196-
displayName: Run vsce publish
197-
inputs:
198-
azureSubscription: vscode-marketplace
199-
scriptType: pscore
200-
scriptLocation: inlineScript
201-
inlineScript: |
202-
$publishArgs = @(
203-
'--azure-credential'
204-
'--packagePath'
205-
'$(drop)/powershell-$(vsixVersion).vsix'
206-
'--manifestPath'
207-
'$(drop)/powershell-$(vsixVersion).manifest'
208-
'--signaturePath'
209-
'$(drop)/powershell-$(vsixVersion).signature.p7s'
210-
if ([bool]::Parse('$(prerelease)')) { '--pre-release' }
211-
)
212-
npm run publish -- @publishArgs
204+
- pwsh: |
205+
Write-Host Publishing: $(vsixVersion), pre-release: $(prerelease)
206+
displayName: No-op step to satisfy pipeline requirements

0 commit comments

Comments
 (0)