55# vsixName: autopep8.vsix
66# workingDirectory: $(Build.SourcesDirectory)
77# signType: real
8- # Note: vsce CLI is invoked via 'npx vsce' (devDependency), no global install required.
9-
108parameters :
119 - name : vsixName
1210 type : string
@@ -29,11 +27,11 @@ parameters:
2927 - name : prepareRoot
3028 type : boolean
3129 default : true
32- # vsceVersion parameter removed; rely on pinned devDependency version via npx.
30+ - name : teamName
31+ type : string
32+ default : VSCode-autopep8
3333
3434steps :
35- # vsce CLI expected to be installed by parent pipeline; no local install here.
36-
3735 - task : NuGetToolInstaller@1
3836 displayName : Install NuGet
3937
@@ -69,15 +67,30 @@ steps:
6967 $sig = Join-Path $wd $signatureName
7068 if (!(Test-Path $sig)) { Write-Warning "Signature placeholder missing (will attempt signing anyway)." }
7169
72- # Deprecated prepareRoot step removed: we now sign directly in workingDirectory by overriding BaseOutputDirectory.
70+ # ✅ Added MicroBuildSigningPlugin for PME enforcement
71+ - task : MicroBuildSigningPlugin@4
72+ displayName : Enable MicroBuild Signing
73+ inputs :
74+ signType : ${{ parameters.signType }} # 'real' or 'test'
75+ zipSources : false
76+ feedSource : ' https://devdiv.pkgs.visualstudio.com/DefaultCollection/_packaging/MicroBuildToolset/nuget/v3/index.json'
77+ ConnectedServiceName : ' MicroBuild Signing Task (DevDiv)'
78+ ConnectedPMEServiceName : 6cc74545-d7b9-4050-9dfa-ebefcc8961ea
79+ env :
80+ SYSTEM_ACCESSTOKEN : $(System.AccessToken)
81+ TeamName : ${{ parameters.teamName }}
7382
7483 - task : MSBuild@1
7584 displayName : Run signing (MSBuild)
7685 inputs :
7786 solution : ' $(Build.SourcesDirectory)/build/sign.proj'
78- msbuildArguments : ' /verbosity:detailed /bl:"${{ parameters.workingDirectory }}\\signing.binlog" /p:SignType=${{ parameters.signType }} /p:BaseOutputDirectory=${{ parameters.workingDirectory }} /p:OutDir=${{ parameters.workingDirectory }} /p:IntermediateOutputPath=${{ parameters.workingDirectory }}\\intermediate'
79-
80- # No copy-back needed; signing outputs now land directly in workingDirectory.
87+ msbuildArguments : >
88+ /verbosity:detailed
89+ /bl:"${{ parameters.workingDirectory }}\\signing.binlog"
90+ /p:SignType=${{ parameters.signType }}
91+ /p:BaseOutputDirectory=${{ parameters.workingDirectory }}
92+ /p:OutDir=${{ parameters.workingDirectory }}
93+ /p:IntermediateOutputPath=${{ parameters.workingDirectory }}\\intermediate
8194
8295 - task : PowerShell@2
8396 displayName : Post-sign inspection
@@ -132,7 +145,7 @@ steps:
132145 if (!(Test-Path $vsix)) { Write-Error "Missing VSIX: $vsix"; exit 1 }
133146 if (!(Test-Path $manifest)) { Write-Error "Missing manifest: $manifest"; exit 1 }
134147 if (!(Test-Path $signature)) { Write-Error "Missing signature file: $signature"; exit 1 }
135- npx vsce verify-signature --packagePath "$vsix" --manifestPath "$manifest" --signaturePath "$signature"
148+ npx @vscode/ vsce verify-signature --packagePath "$vsix" --manifestPath "$manifest" --signaturePath "$signature"
136149 if ($LASTEXITCODE -ne 0) {
137150 Write-Error "vsce verify-signature failed with exit code $LASTEXITCODE"
138151 exit $LASTEXITCODE
0 commit comments