47 lines
1.5 KiB
YAML
47 lines
1.5 KiB
YAML
parameters:
|
|
- name: vsixName
|
|
type: string
|
|
default: ''
|
|
|
|
jobs:
|
|
- job: Publish
|
|
displayName: Publish to Marketplace
|
|
templateContext:
|
|
type: releaseJob
|
|
isProduction: true
|
|
inputs:
|
|
- input: pipelineArtifact
|
|
pipeline: vsixBuild
|
|
artifactName: vsix
|
|
targetPath: $(Build.StagingDirectory)\vsix
|
|
|
|
steps:
|
|
- task: NodeTool@0
|
|
displayName: Use Node 22.x
|
|
inputs:
|
|
versionSpec: 22.x
|
|
|
|
- task: AzureCLI@2
|
|
displayName: Generate AAD_TOKEN
|
|
inputs:
|
|
azureSubscription: $(AzureSubscription)
|
|
scriptType: ps
|
|
scriptLocation: inlineScript
|
|
inlineScript: |
|
|
$aadToken = az account get-access-token --query accessToken --resource $(AzureGuid) -o tsv
|
|
Write-Host "##vso[task.setvariable variable=AAD_TOKEN;issecret=true]$aadToken"
|
|
|
|
- script: npm install --no-save --ignore-scripts=false --include=optional --force @vscode/[email protected]
|
|
displayName: Install vsce
|
|
|
|
- script: npm rebuild @vscode/vsce-sign --ignore-scripts=false
|
|
displayName: Rebuild vsce-sign binary
|
|
|
|
- script: if not exist node_modules\@vscode\vsce-sign\bin\vsce-sign.exe (echo Missing vsce-sign.exe && exit 1)
|
|
displayName: Verify vsce-sign binary exists
|
|
|
|
- script: npx vsce publish --skip-duplicate -i $(Build.StagingDirectory)\vsix\${{ parameters.vsixName }}.vsix --manifestPath $(Build.StagingDirectory)\vsix\${{ parameters.vsixName }}.manifest --signaturePath $(Build.StagingDirectory)\vsix\${{ parameters.vsixName }}.signature.p7s
|
|
displayName: Publish to Marketplace
|
|
env:
|
|
VSCE_PAT: $(AAD_TOKEN)
|