Skip to content
Open
Show file tree
Hide file tree
Changes from 5 commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
8227f39
Try to publish in a separate pipeline
nagilson Dec 3, 2025
a49d632
Get the version in the release pipeline
nagilson Dec 3, 2025
dceb185
removes the publish step so we dont accidentally publish
nagilson Dec 3, 2025
1eeb718
Use CI VSCE since we may be blocked from global install
nagilson Dec 3, 2025
4bf9172
remove publish yml and update vsce minimum
nagilson Dec 4, 2025
61d8987
Fix Pipeline
nagilson Dec 4, 2025
3db9861
correctly check bool value
nagilson Dec 4, 2025
5b2d054
fix folder location
nagilson Dec 4, 2025
9d5b10f
properly use @self
nagilson Dec 4, 2025
719c36a
Merge remote-tracking branch 'upstream/main' into nagilson-separate-p…
nagilson Dec 5, 2025
6c0039b
fix artifact name
nagilson Dec 8, 2025
d3bce10
consume SBOM artifact
nagilson Dec 8, 2025
18dc1ce
Fix Pipeline
nagilson Dec 8, 2025
143d1a3
remove sbom disable logic - see if it works by default now
nagilson Dec 8, 2025
6d42a37
insert sbom into _manifest folder
nagilson Dec 8, 2025
452e9fb
signing should be conditional to prevent failures from trying to sign…
nagilson Dec 8, 2025
b6bc1e2
simplify artifact, sbom is now automatic
nagilson Dec 9, 2025
357e656
get version from the artifact
nagilson Dec 9, 2025
283f93d
fix ? version directory
nagilson Dec 9, 2025
af472e4
checkout self for package to make ci work
nagilson Dec 9, 2025
bf9abc4
try global install
nagilson Dec 9, 2025
5197cfc
rely on win
nagilson Dec 9, 2025
cd52562
fix pool
nagilson Dec 9, 2025
ddd0f98
try to get the package lock files as an artifact
nagilson Dec 9, 2025
b9677a9
don't create a separate 'signed' package
nagilson Dec 10, 2025
b17ea7c
Actually do the publish step now
nagilson Dec 10, 2025
62950ee
Fix whitespace
nagilson Jan 5, 2026
22b1cf2
Fix dependencies from updaets
nagilson Jan 5, 2026
758482e
convert to powershell over bash
nagilson Jan 5, 2026
289e992
Pin versions for lint to prevent sub ci issue
nagilson Jan 5, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
"@types/source-map-support": "^0.5.6",
"@typescript-eslint/eslint-plugin": "^8.0.0",
"@typescript-eslint/parser": "^8.0.0",
"@vscode/vsce": "^3.6.0",
"@vscode/vsce": "^3.7.1",
"eslint": "^8.57.0",
"eslint-config-prettier": "^9.1.0",
"eslint-import-resolver-node": "^0.3.9",
Expand Down
9 changes: 1 addition & 8 deletions pipeline-templates/package-vsix.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -128,11 +128,4 @@ jobs:
SourceFolder: '$(Build.SourcesDirectory)'
Contents: '**\*.binlog'
TargetFolder: '$(Build.ArtifactStagingDirectory)'
flattenFolders: false
- ${{ if eq(parameters.useOneEngineeringPool, 'true') }}:
- template: publish.yaml
parameters:
pool: ${{ parameters.pool }}
SignType: ${{ parameters.SignType }}
version: $(GetVersion.version)
useOneEngineeringPool: true
flattenFolders: false
62 changes: 0 additions & 62 deletions pipeline-templates/publish.yaml

This file was deleted.

92 changes: 92 additions & 0 deletions release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
trigger: none
pr: none

parameters:
- name: test
type: boolean
default: false

variables:
# This is expected to provide the PAT used to tag the release.
- group: DncEng-Partners-Tokens

resources:
repositories:
- repository: 1ESPipelineTemplates
type: git
name: 1ESPipelineTemplates/1ESPipelineTemplates
ref: refs/tags/release
pipelines:
- pipeline: officialBuildCI
source: dotnet-vscode-dotnet-runtime
branch: main
extends:
template: v1/1ES.Official.PipelineTemplate.yml@1ESPipelineTemplates
parameters:
pool:
name: netcore1espool-internal
image: 1es-windows-2022
os: windows
customBuildTags:
- ES365AIMigrationTooling
stages:
- stage: PublishStage
jobs:
- deployment: PublishToMarketplace
displayName: PublishToMarketplace
environment: vscode-dotnetcore-extension-releases
pool:
name: netcore1espool-internal
image: 1es-ubuntu-2204
os: linux
templateContext:
type: releaseJob
isProduction: true
inputs:
- input: pipelineArtifact
pipeline: officialBuildCI
artifactName: vscode-dotnet-runtime
destinationPath: $(Pipeline.Workspace)
strategy:
runOnce:
deploy:
steps:
- template: /pipelines-templates/install-node.yaml
- template: list-file-structure.yaml
- bash: |
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

bash: is a shorthand for this task: https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/reference/bash-v3?view=azure-pipelines

Any reason this script needs to be bash on Windows? It then requires the script to run under WSL. Copilot could probably directly convert this to PowerShell pretty easily. Then, this entire job just uses PowerShell.

VERSION=`node -p "require('./package.json').version"`
npm version $VERSION --allow-same-version
echo "##vso[task.setvariable variable=version;isOutput=true]$VERSION"
name: GetVersion
displayName: '❓ Get Version'
workingDirectory: 'vscode-dotnet-runtime-extension'
- pwsh: |
npm ci @vscode/vsce
displayName: '⬇️ Install @vscode/vsce'
- task: AzureCLI@2
displayName: '🚀 Publish to Marketplace'
inputs:
azureSubscription: 'VSCode Marketplace Publishing'
scriptType: "pscore"
scriptLocation: 'inlineScript'
workingDirectory: '$(System.ArtifactsDirectory)'
inlineScript: |
$basePublishArgs = , "publish"
$basePublishArgs += '--azure-credential'
$basePublishArgs += '--packagePath'
$publishArgs = $basePublishArgs + 'vscode-dotnet-runtime-$(GetVersion.version)-signed.vsix'
$publishArgs += '--manifestPath'
$publishArgs += 'vscode-dotnet-runtime-$(GetVersion.version).manifest'
$publishArgs += '--signaturePath'
$publishArgs += 'vscode-dotnet-runtime-$(GetVersion.version).signature.p7s'
If ("${{ parameters.SignType }}" -ne "Real") {
Write-Host "With a test-signed build, the command to publish is printed instead of run."
Write-Host "##[command]npx vsce $publishArgs"

Write-Host "🔒 Verify PAT."
npx vsce verify-pat --azure-credential ms-dotnettools
}
Else {
Write-Host "##[command]npx vsce $publishArgs"

}
Loading