Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
59 commits
Select commit Hold shift + click to select a range
a0af7c5
add custom feeds
bschnurr Jan 6, 2026
c6c018b
add back loc and telemetry files
bschnurr Jan 7, 2026
8c399f1
try disable pipauth
bschnurr Jan 7, 2026
23c4f7f
Switched the install_bundled_libs nox session to fetch debugpy via pi…
bschnurr Jan 7, 2026
1b6ce83
updat vsce
bschnurr Jan 7, 2026
959f8c4
modify how we download debugpy from pip
bschnurr Jan 8, 2026
b30caa2
use pip by default
bschnurr Jan 8, 2026
a2ed93b
first attempt at platforms
bschnurr Jan 9, 2026
f96cf55
fix path to setup.yml
bschnurr Jan 9, 2026
5edc707
update pools
bschnurr Jan 9, 2026
bd99441
update pool windows
bschnurr Jan 9, 2026
b621b94
mac pool rename
bschnurr Jan 9, 2026
6aec106
update windows image
bschnurr Jan 9, 2026
b2b5a3d
add build vsix
bschnurr Jan 9, 2026
754b15d
copy vsix to drop folder
bschnurr Jan 9, 2026
42ed3c3
update creating vsix name
bschnurr Jan 9, 2026
d1f3109
copy vsix
bschnurr Jan 9, 2026
41605dc
update drop folder
bschnurr Jan 9, 2026
35eeccf
try to sign per platform
bschnurr Jan 10, 2026
4061c2c
npm install for sign
bschnurr Jan 10, 2026
d628022
check manifest
bschnurr Jan 10, 2026
5e2e39d
simplify manifest
bschnurr Jan 10, 2026
b74ea41
upate stable with multiplatform sign
bschnurr Jan 10, 2026
1629d51
multiplatform publish
bschnurr Jan 11, 2026
0d6e9b7
Refactor publish pipeline with multi-platform support and manual vali…
bschnurr Jan 12, 2026
989c7e5
try to fix download
bschnurr Jan 12, 2026
e3a2cbd
create github release
bschnurr Jan 12, 2026
f3ee1c1
rename GitHubRelease
bschnurr Jan 12, 2026
2ab0bf5
read publisher and version from package.json
bschnurr Jan 12, 2026
3e7798d
disable stabel release on tag
bschnurr Jan 12, 2026
2de0316
try to get version and publisher from extracted vsix data
bschnurr Jan 12, 2026
a5aa875
dont publish to github if not publishing
bschnurr Jan 12, 2026
8563705
update extracting files and folders. Using "Multi-Replace String in …
bschnurr Jan 13, 2026
32ae290
Updates extension version in package.json using the Azure DevOps buil…
bschnurr Jan 13, 2026
4b0d144
make sure we get version from package.json
bschnurr Jan 13, 2026
dc49085
fix job name
bschnurr Jan 13, 2026
bc630e5
add 'releaseJob'
bschnurr Jan 13, 2026
fe11e50
move github release to release job with no outputs.
bschnurr Jan 13, 2026
6f7fce9
remove old releaseJob tag
bschnurr Jan 13, 2026
6b9c9f8
use 1ES.DownloadPipelineArtifact@1
bschnurr Jan 13, 2026
297659f
use DownloadPipelineArtifact in non release jobs
bschnurr Jan 13, 2026
355c52a
fix extract path
bschnurr Jan 13, 2026
fd0e4f0
use general pool for publish
bschnurr Jan 13, 2026
5b06802
fix spacing
bschnurr Jan 13, 2026
11ffe84
trun on publish to marketplace
bschnurr Jan 13, 2026
627a750
fix linting and lint check quotes
bschnurr Jan 13, 2026
8e676db
fix import re
bschnurr Jan 13, 2026
5cb04f4
add back vsce-package
bschnurr Jan 13, 2026
d566b12
fix missing vsce-package
bschnurr Jan 13, 2026
fbbec2e
re-format
bschnurr Jan 13, 2026
645f3e0
move loc files and temeletry to separate pre-built folder so we dont …
bschnurr Jan 14, 2026
2b5b170
publish job needs npm feed
bschnurr Jan 14, 2026
6dad4fa
add missing .npmrc file using checkout
bschnurr Jan 14, 2026
462d017
add .npmrc file if one doesn't exist
bschnurr Jan 14, 2026
344513d
uncomment vsce publish
bschnurr Jan 14, 2026
c59e902
Update build/templates/package.yml
bschnurr Jan 14, 2026
578aafa
disable publish once more
bschnurr Jan 14, 2026
a0c16fc
fix pretteier
bschnurr Jan 14, 2026
cc60007
re-enable vsce publish
bschnurr Jan 14, 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
7 changes: 6 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,9 @@ node_modules
bundled/libs/
**/__pycache__
**/.pytest_cache
**/.vs
**/.vs

# Generated files (sources live in pre-built/)
l10n/bundle.l10n.*.json
package.nls.*.json
telemetry.json
1 change: 1 addition & 0 deletions .vscodeignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ build/**
out/**
node_modules/**
src/**
pre-built/**
.gitignore
.yarnrc
webpack.config.js
Expand Down
11 changes: 11 additions & 0 deletions build/NuGet.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<config>
<add key="repositoryPath" value="NuGetPackages" />
</config>
<packageSources>
<!-- Limit to one feed per 1ES guidance -->
<clear />
<add key="VS-CoreXtFeeds" value="https://pkgs.dev.azure.com/devdiv/_packaging/VS-CoreXtFeeds/nuget/v3/index.json" protocolVersion="3" />
</packageSources>
</configuration>
149 changes: 74 additions & 75 deletions build/azure-devdiv-pipeline.pre-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,60 @@ parameters:
type: boolean
default: false

- name: buildPlatforms
type: object
default:
- name: Linux
vsceTarget: ''
- name: Linux
packageArch: arm64
vsceTarget: linux-arm64
- name: Linux
packageArch: arm
vsceTarget: linux-armhf
- name: Linux
packageArch: x64
vsceTarget: linux-x64
- name: MacOS
packageArch: arm64
vsceTarget: darwin-arm64
- name: MacOS
packageArch: x64
vsceTarget: darwin-x64
- name: Windows
packageArch: arm
vsceTarget: win32-arm64
- name: Windows
packageArch: x64
vsceTarget: win32-x64

- name: buildSteps
type: stepList
default:
- script: npm ci
displayName: Install NPM dependencies

- script: python -m pip install -U pip
displayName: Upgrade pip

- script: python -m pip install wheel
displayName: Install wheel

- script: python -m pip install nox
displayName: Install nox

- script: python -m nox --session install_bundled_libs
displayName: Install Python dependencies

- script: python ./build/update_ext_version.py --for-publishing
displayName: Update build number

- pwsh: Copy-Item -Path "pre-built/*" -Destination "." -Recurse -Force
displayName: Copy pre-built files

- script: npm run package
displayName: Build extension

extends:
template: azure-pipelines/MicroBuild.1ES.Official.yml@MicroBuildTemplate
parameters:
Expand All @@ -48,78 +102,23 @@ extends:
- stage: Build
displayName: Build & Package Extension
jobs:
- job: Build
displayName: Build Job
pool:
name: VSEngSS-MicroBuild2022-1ES # use windows for codesigning to make things easier https://dev.azure.com/devdiv/DevDiv/_wiki/wikis/DevDiv.wiki/650/MicroBuild-Signing
os: windows
templateContext:
mb:
signing:
enabled: true
signType: real
signWithProd: true
outputs:
- output: pipelineArtifact
displayName: 'Publish Drop Artifact'
targetPath: '$(Build.StagingDirectory)\drop'
artifactName: drop
sbomEnabled: true
steps:
- task: npmAuthenticate@0
inputs:
workingFile: .npmrc

- script: npm config get registry
displayName: Verify NPM Registry

- task: NodeTool@0
inputs:
versionSpec: '22.x'
checkLatest: true
displayName: Select Node 22 LTS

- task: UsePythonVersion@0
inputs:
versionSpec: '3.9' # note Install Python dependencies step below relies on Python 3.9
addToPath: true
architecture: 'x64'
displayName: Select Python version

- script: npm ci
displayName: Install NPM dependencies

- script: python -m pip install -U pip
displayName: Upgrade pip

- script: python -m pip install wheel
displayName: Install wheel

- script: python -m pip install nox
displayName: Install nox

- script: python -m nox --session install_bundled_libs
displayName: Install Python dependencies

- script: python ./build/update_ext_version.py --for-publishing
displayName: Update build number

- script: npm run vsce-package-pre
displayName: Build VSIX

- template: build/templates/sign.yml@self
parameters:
vsixName: $(VsixName)
workingDirectory: $(Build.StagingDirectory)\drop
signType: real
verifySignature: true

- ${{ if eq(parameters.publishExtension, true) }}:
- template: build/templates/publish.yml@self
parameters:
azureSubscription: PylancePublishPipelineSecureConnectionWithManagedIdentity
vsixName: $(VsixName)
manifestName: extension.manifest
signatureName: extension.signature.p7s
publishFolder: drop
preRelease: true
- template: build/templates/package.yml@self
parameters:
buildPlatforms: ${{ parameters.buildPlatforms }}
buildSteps: ${{ parameters.buildSteps }}
isPreRelease: true
standardizedVersioning: true

- stage: Publish
displayName: Publish Extension
dependsOn: Build
jobs:
- template: build/templates/publish-extension.yml@self
parameters:
buildPlatforms: ${{ parameters.buildPlatforms }}
publishExtension: ${{ parameters.publishExtension }}
preRelease: true
teamName: $(TeamName)
ghCreateTag: true
ghCreateRelease: true
ghReleaseAddChangeLog: true
148 changes: 78 additions & 70 deletions build/azure-devdiv-pipeline.stable.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
name: Publish Release
trigger:
branches:
include:
- refs/tags/*
trigger: none
# branches:
# include:
# - release*
# tags:
# include: ['*']
pr: none

resources:
repositories:
Expand All @@ -15,13 +18,69 @@ variables:
value: VSCode-python-debugger
- name: VsixName
value: python-debugger.vsix
- name: AZURE_ARTIFACTS_FEED
value: 'https://devdiv.pkgs.visualstudio.com/DevDiv/_packaging/Pylance_PublicPackages/npm/registry/'

parameters:
- name: publishExtension
displayName: πŸš€ Publish Extension
type: boolean
default: false

- name: buildPlatforms
type: object
default:
- name: Linux
vsceTarget: ''
- name: Linux
packageArch: arm64
vsceTarget: linux-arm64
- name: Linux
packageArch: arm
vsceTarget: linux-armhf
- name: Linux
packageArch: x64
vsceTarget: linux-x64
- name: MacOS
packageArch: arm64
vsceTarget: darwin-arm64
- name: MacOS
packageArch: x64
vsceTarget: darwin-x64
- name: Windows
packageArch: arm
vsceTarget: win32-arm64
- name: Windows
packageArch: x64
vsceTarget: win32-x64

- name: buildSteps
type: stepList
default:
- script: npm ci
displayName: Install NPM dependencies

- script: python -m pip install -U pip
displayName: Upgrade pip

- script: python -m pip install wheel
displayName: Install wheel

- script: python -m pip install nox
displayName: Install nox

- script: python -m nox --session install_bundled_libs
displayName: Install Python dependencies

- script: python ./build/update_ext_version.py --release --for-publishing
displayName: Update build number

- pwsh: Copy-Item -Path "pre-built/*" -Destination "." -Recurse -Force
displayName: Copy pre-built files

- script: npm run package
displayName: Build extension

extends:
template: azure-pipelines/MicroBuild.1ES.Official.yml@MicroBuildTemplate
parameters:
Expand All @@ -41,70 +100,19 @@ extends:
- stage: Build
displayName: Build & Package Extension
jobs:
- job: Build
displayName: Build Job
pool:
name: VSEngSS-MicroBuild2022-1ES # use windows for codesigning to make things easier https://dev.azure.com/devdiv/DevDiv/_wiki/wikis/DevDiv.wiki/650/MicroBuild-Signing
os: windows
templateContext:
mb:
signing:
enabled: true
signType: real
signWithProd: true
outputs:
- output: pipelineArtifact
displayName: 'Publish Drop Artifact'
targetPath: '$(Build.StagingDirectory)\drop'
artifactName: drop
sbomEnabled: true
steps:
- task: NodeTool@0
inputs:
versionSpec: '22.x'
checkLatest: true
displayName: Select Node 22 LTS
- task: UsePythonVersion@0
inputs:
versionSpec: '3.9' # note Install Python dependencies step below relies on Python 3.9
addToPath: true
architecture: 'x64'
displayName: Select Python version
- template: build/templates/package.yml@self
parameters:
buildPlatforms: ${{ parameters.buildPlatforms }}
buildSteps: ${{ parameters.buildSteps }}
isPreRelease: false

- script: npm ci
displayName: Install NPM dependencies

- script: python -m pip install -U pip
displayName: Upgrade pip

- script: python -m pip install wheel
displayName: Install wheel

- script: python -m pip install nox
displayName: Install nox

- script: python -m nox --session install_bundled_libs
displayName: Install Python dependencies

- script: python ./build/update_ext_version.py --release --for-publishing
displayName: Update build number

- script: npm run vsce-package
displayName: Build VSIX

- template: build/templates/sign.yml@self
parameters:
vsixName: $(VsixName)
workingDirectory: $(Build.StagingDirectory)\drop
signType: real
verifySignature: true

- ${{ if eq(parameters.publishExtension, true) }}:
- template: build/templates/publish.yml@self
parameters:
azureSubscription: PylancePublishPipelineSecureConnectionWithManagedIdentity
vsixName: $(VsixName)
manifestName: extension.manifest
signatureName: extension.signature.p7s
publishFolder: drop
preRelease: false
- stage: Publish
displayName: Publish Extension
dependsOn: Build
jobs:
- template: build/templates/publish-extension.yml@self
parameters:
buildPlatforms: ${{ parameters.buildPlatforms }}
publishExtension: ${{ parameters.publishExtension }}
preRelease: false
teamName: $(TeamName)
Loading
Loading