Skip to content

Commit fe11e50

Browse files
committed
move github release to release job with no outputs.
1 parent bc630e5 commit fe11e50

File tree

1 file changed

+45
-43
lines changed

1 file changed

+45
-43
lines changed

build/templates/publish-extension.yml

Lines changed: 45 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -110,8 +110,8 @@ parameters:
110110

111111
jobs:
112112
# Job 1: Sign extension and create GitHub release
113-
- job: Sign_and_GitHubRelease
114-
displayName: Sign Extension and Create GitHub Release
113+
- job: Sign
114+
displayName: Sign Extension
115115
pool:
116116
name: VSEngSS-MicroBuild2022-1ES
117117
os: windows
@@ -144,36 +144,7 @@ jobs:
144144
inputs:
145145
artifactName: vsix-${{ platform.vsceTarget }}
146146
targetPath: $(Build.BinariesDirectory)/vsix-${{ platform.vsceTarget }}
147-
displayName: 🚛 Download extension (${{ platform.vsceTarget }})
148-
149-
# Extract VSIX to read publisher/version for GitHub release tagging.
150-
# Use Agent.TempDirectory to avoid reusing Build.ArtifactStagingDirectory which
151-
# is reserved for final artifact staging.
152-
- task: ExtractFiles@1
153-
inputs:
154-
archiveFilePatterns: $(Build.BinariesDirectory)/vsix-*/*.vsix
155-
destinationFolder: $(Agent.TempDirectory)/vsix-extracted
156-
cleanDestinationFolder: true
157-
overwriteExistingFiles: true
158-
displayName: 📦 Extract VSIX package
159-
160-
- pwsh: |
161-
$extensionDir = Get-ChildItem -Path . -Directory -Filter 'extension*' | Select-Object -First 1
162-
if (-not $extensionDir) {
163-
throw "Could not find extracted extension folder under: $PWD"
164-
}
165-
166-
$packageJsonPath = Join-Path $extensionDir.FullName 'package.json'
167-
if (-not (Test-Path $packageJsonPath)) {
168-
throw "Could not find package.json at: $packageJsonPath"
169-
}
170-
171-
$package = Get-Content $packageJsonPath -Raw | ConvertFrom-Json
172-
Write-Host "##vso[task.setvariable variable=publisher;isOutput=true]$($package.publisher)"
173-
Write-Host "##vso[task.setvariable variable=version;isOutput=true]$($package.version)"
174-
name: SetPublisherAndVersion
175-
displayName: 📋 Get Publisher & Version
176-
workingDirectory: $(Agent.TempDirectory)/vsix-extracted
147+
displayName: 🚛 Download extension (${{ platform.vsceTarget }})
177148

178149
- template: sign.yml
179150
parameters:
@@ -183,30 +154,61 @@ jobs:
183154
verifySignature: ${{ parameters.verifySignature }}
184155
teamName: ${{ parameters.teamName }}
185156

186-
# Get version from package.json for GitHub release tagging
187-
- ${{ if and(eq(parameters.publishExtension, true), eq(parameters.ghCreateTag, true), eq(parameters.ghCreateRelease, true)) }}:
188-
- template: createGitHubRelease.yml
189-
parameters:
190-
isPreRelease: ${{ parameters.preRelease }}
191-
ghReleaseAddChangeLog: ${{ parameters.ghReleaseAddChangeLog }}
192-
tagName: ${{ parameters.ghTagPrefix }}$(SetPublisherAndVersion.version)
193-
194-
195157
# Job 2: Publish to marketplace
196158
- ${{ if eq(parameters.publishExtension, true) }}:
197159
- job: Publish
198-
displayName: Publish to Marketplace
199-
dependsOn: Sign_and_GitHubRelease
160+
displayName: Publish to Marketplace and GitHub
161+
dependsOn: Sign
200162
pool:
201163
name: VSEngSS-MicroBuild2022-1ES
202164
os: windows
165+
templateContext:
166+
type: releaseJob # This makes a job a release job
167+
isProduction: true # Indicates a production release
203168
steps:
204169
- task: DownloadPipelineArtifact@2
205170
inputs:
206171
artifactName: extension
207172
targetPath: $(Build.ArtifactStagingDirectory)/${{ parameters.publishFolder }}
208173
displayName: 🚛 Download signed extension
209174

175+
# Extract VSIX to read publisher/version for GitHub release tagging.
176+
# Use Agent.TempDirectory to avoid reusing Build.ArtifactStagingDirectory which
177+
# is reserved for final artifact staging.
178+
- task: ExtractFiles@1
179+
inputs:
180+
archiveFilePatterns: $(Build.BinariesDirectory)/vsix-*/*.vsix
181+
destinationFolder: $(Agent.TempDirectory)/vsix-extracted
182+
cleanDestinationFolder: true
183+
overwriteExistingFiles: true
184+
displayName: 📦 Extract VSIX package
185+
186+
- pwsh: |
187+
$extensionDir = Get-ChildItem -Path . -Directory -Filter 'extension*' | Select-Object -First 1
188+
if (-not $extensionDir) {
189+
throw "Could not find extracted extension folder under: $PWD"
190+
}
191+
192+
$packageJsonPath = Join-Path $extensionDir.FullName 'package.json'
193+
if (-not (Test-Path $packageJsonPath)) {
194+
throw "Could not find package.json at: $packageJsonPath"
195+
}
196+
197+
$package = Get-Content $packageJsonPath -Raw | ConvertFrom-Json
198+
Write-Host "##vso[task.setvariable variable=publisher;isOutput=true]$($package.publisher)"
199+
Write-Host "##vso[task.setvariable variable=version;isOutput=true]$($package.version)"
200+
name: SetPublisherAndVersion
201+
displayName: 📋 Get Publisher & Version
202+
workingDirectory: $(Agent.TempDirectory)/vsix-extracted
203+
204+
# Get version from package.json for GitHub release tagging
205+
- ${{ if and(eq(parameters.ghCreateTag, true), eq(parameters.ghCreateRelease, true)) }}:
206+
- template: createGitHubRelease.yml
207+
parameters:
208+
isPreRelease: ${{ parameters.preRelease }}
209+
ghReleaseAddChangeLog: ${{ parameters.ghReleaseAddChangeLog }}
210+
tagName: ${{ parameters.ghTagPrefix }}$(SetPublisherAndVersion.version)
211+
210212
- template: publish.yml
211213
parameters:
212214
azureSubscription: ${{ parameters.azureSubscription }}

0 commit comments

Comments
 (0)