Skip to content

Commit 407cea9

Browse files
authored
Merge branch 'main' into seanmcm/devbox2-wsl/agent164/clang-tidy-include-mappings
2 parents fd797a9 + 63d00c6 commit 407cea9

4 files changed

Lines changed: 42 additions & 9 deletions

File tree

‎Build/package/cpptools_extension_pack.yml‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,9 @@ extends:
3232
image: 1ESPT-Windows2025
3333
os: windows
3434
settings:
35-
networkIsolationPolicy: CFSClean,CFSClean2,CFSClean3
35+
# CFSClean* supplies deny rules only; a base allow policy is also needed
36+
# for Azure DevOps authentication and package downloads.
37+
networkIsolationPolicy: Permissive,CFSClean,CFSClean2,CFSClean3
3638

3739
stages:
3840
- stage: package

‎Build/package/cpptools_themes.yml‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,9 @@ extends:
3232
image: 1ESPT-Windows2025
3333
os: windows
3434
settings:
35-
networkIsolationPolicy: CFSClean,CFSClean2,CFSClean3
35+
# CFSClean* supplies deny rules only; a base allow policy is also needed
36+
# for Azure DevOps authentication and package downloads.
37+
networkIsolationPolicy: Permissive,CFSClean,CFSClean2,CFSClean3
3638

3739
stages:
3840
- stage: package

‎Build/package/jobs_package_vsix.yml‎

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,10 @@ jobs:
2929
displayName: '${{ parameters.vsixName }}.vsix'
3030
targetPath: $(Build.ArtifactStagingDirectory)\vsix
3131
artifactName: vsix
32+
- output: pipelineArtifact
33+
displayName: Locked VSCE dependencies
34+
targetPath: $(Build.ArtifactStagingDirectory)\vsce
35+
artifactName: vsce
3236

3337
steps:
3438
- checkout: self
@@ -48,9 +52,9 @@ jobs:
4852
script: |
4953
export SRC_DIR=$(echo $BUILD_SOURCESDIRECTORY | sed 's|\\|/|g')
5054
cd "$SRC_DIR/${{ parameters.srcDir }}"
51-
npm install
55+
npm ci --include=dev --include=optional
5256
if [ $? -ne 0 ]; then
53-
echo "npm install failed, sleeping for 30s before retrying..."
57+
echo "npm ci failed, sleeping for 30s before retrying..."
5458
sleep 30
5559
exit 1
5660
fi
@@ -59,9 +63,15 @@ jobs:
5963
- script: mkdir $(Build.ArtifactStagingDirectory)\vsix
6064
displayName: Create Staging Directory
6165

62-
- script: npm install --no-save --ignore-scripts=false --include=optional --force @vscode/vsce@4.0.0
63-
displayName: Install vsce
64-
workingDirectory: $(Build.SourcesDirectory)\${{ parameters.srcDir }}
66+
- task: CopyFiles@2
67+
displayName: Stage locked VSCE dependencies for publishing
68+
inputs:
69+
SourceFolder: $(Build.SourcesDirectory)\${{ parameters.srcDir }}
70+
Contents: |
71+
package.json
72+
package-lock.json
73+
.npmrc
74+
TargetFolder: $(Build.ArtifactStagingDirectory)\vsce
6575

6676
- script: npm rebuild @vscode/vsce-sign --ignore-scripts=false
6777
displayName: Rebuild vsce-sign binary
@@ -93,3 +103,7 @@ jobs:
93103
inputs:
94104
solution: $(Build.SourcesDirectory)\Build\signing\SignVsix.proj
95105
msbuildArguments: /p:SignType=${{ parameters.signType }}
106+
107+
- script: npx vsce verify-signature -i $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.vsix -m $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.manifest -s $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.signature.p7s
108+
displayName: Verify VSIX signature
109+
workingDirectory: $(Build.SourcesDirectory)\${{ parameters.srcDir }}

‎Build/publish/jobs_publish_vsix.yml‎

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,20 @@ jobs:
1414
pipeline: vsixBuild
1515
artifactName: vsix
1616
targetPath: $(Build.StagingDirectory)\vsix
17+
- input: pipelineArtifact
18+
pipeline: vsixBuild
19+
artifactName: vsce
20+
targetPath: $(Build.StagingDirectory)\vsce
1721

1822
steps:
1923
- task: NodeTool@0
2024
displayName: Use Node 22.x
2125
inputs:
2226
versionSpec: 22.x
2327

28+
- script: IF EXIST %SYSTEMDRIVE%\Users\%USERNAME%\.npmrc del %SYSTEMDRIVE%\Users\%USERNAME%\.npmrc
29+
displayName: Delete .npmrc if it exists
30+
2431
- task: AzureCLI@2
2532
displayName: Generate AAD_TOKEN
2633
inputs:
@@ -31,16 +38,24 @@ jobs:
3138
$aadToken = az account get-access-token --query accessToken --resource $(AzureGuid) -o tsv
3239
Write-Host "##vso[task.setvariable variable=AAD_TOKEN;issecret=true]$aadToken"
3340
34-
- script: npm install --no-save --ignore-scripts=false --include=optional --force @vscode/vsce@4.0.0
35-
displayName: Install vsce
41+
- script: npm ci --include=dev --include=optional
42+
displayName: Install dependencies
43+
workingDirectory: $(Build.StagingDirectory)\vsce
3644

3745
- script: npm rebuild @vscode/vsce-sign --ignore-scripts=false
3846
displayName: Rebuild vsce-sign binary
47+
workingDirectory: $(Build.StagingDirectory)\vsce
3948

4049
- script: if not exist node_modules\@vscode\vsce-sign\bin\vsce-sign.exe (echo Missing vsce-sign.exe && exit 1)
4150
displayName: Verify vsce-sign binary exists
51+
workingDirectory: $(Build.StagingDirectory)\vsce
52+
53+
- script: npx vsce verify-signature -i $(Build.StagingDirectory)\vsix\${{ parameters.vsixName }}.vsix -m $(Build.StagingDirectory)\vsix\${{ parameters.vsixName }}.manifest -s $(Build.StagingDirectory)\vsix\${{ parameters.vsixName }}.signature.p7s
54+
displayName: Verify VSIX signature
55+
workingDirectory: $(Build.StagingDirectory)\vsce
4256

4357
- 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
4458
displayName: Publish to Marketplace
59+
workingDirectory: $(Build.StagingDirectory)\vsce
4560
env:
4661
VSCE_PAT: $(AAD_TOKEN)

0 commit comments

Comments
 (0)