Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
130 changes: 50 additions & 80 deletions build/azure-devdiv-pipeline.pre-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,23 +16,49 @@ resources:
type: git
name: 1ESPipelineTemplates/MicroBuildTemplate
ref: refs/tags/release

- repository: templates
type: git
name: DevDiv/Pylance-Eng
ref: refs/heads/main
variables:
- name: TeamName
value: VSCode-flake8
- name: VsixName
value: flake8.vsix
- name: NodeVersion
value: '22.17.0'
- name: PythonVersion
value: '3.10'
- 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: 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

- script: npm run package
displayName: Build extension

extends:
template: azure-pipelines/MicroBuild.1ES.Official.yml@MicroBuildTemplate
parameters:
Expand All @@ -52,79 +78,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: $(NodeVersion)
checkLatest: true
displayName: Select Node 22 LTS

- task: UsePythonVersion@0
inputs:
versionSpec: $(PythonVersion) # note Install Python dependencies step below relies on Python 3.10
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
teamName: $(TeamName)

- ${{ 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: azure-pipelines/extension/templates/jobs/package.yml@templates
parameters:
buildSteps: ${{ parameters.buildSteps }}
isPreRelease: true
standardizedVersioning: true
customNPMRegistry: $(AZURE_ARTIFACTS_FEED)

- stage: Publish
displayName: Publish Extension
dependsOn: Build
jobs:
- template: azure-pipelines/extension/templates/jobs/publish-extension.yml@templates
parameters:
publishExtension: ${{ parameters.publishExtension }}
preRelease: true
teamName: $(TeamName)
ghCreateTag: true
ghCreateRelease: true
ghReleaseAddChangeLog: true
customNPMRegistry: $(AZURE_ARTIFACTS_FEED)
121 changes: 50 additions & 71 deletions build/azure-devdiv-pipeline.stable.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,22 +10,49 @@ resources:
type: git
name: 1ESPipelineTemplates/MicroBuildTemplate
ref: refs/tags/release

- repository: templates
type: git
name: DevDiv/Pylance-Eng
ref: refs/heads/main
variables:
- name: TeamName
value: VSCode-flake8
- name: VsixName
value: flake8.vsix
- name: NodeVersion
value: '22.17.0'
- name: PythonVersion
value: '3.10'
- 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: 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

- script: npm run package
displayName: Build extension

extends:
template: azure-pipelines/MicroBuild.1ES.Official.yml@MicroBuildTemplate
parameters:
Expand All @@ -45,71 +72,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: NodeTool@0
inputs:
versionSpec: $(NodeVersion)
checkLatest: true
displayName: Select Node 22 LTS
- task: UsePythonVersion@0
inputs:
versionSpec: $(PythonVersion) # note Install Python dependencies step below relies on Python 3.10
addToPath: true
architecture: 'x64'
displayName: Select Python version
- template: azure-pipelines/extension/templates/jobs/package.yml@templates
parameters:
buildSteps: ${{ parameters.buildSteps }}
isPreRelease: false
standardizedVersioning: true
customNPMRegistry: $(AZURE_ARTIFACTS_FEED)

- 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
teamName: $(TeamName)

- ${{ 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: azure-pipelines/extension/templates/jobs/publish-extension.yml@templates
parameters:
publishExtension: ${{ parameters.publishExtension }}
preRelease: false
teamName: $(TeamName)
ghCreateTag: true
ghCreateRelease: true
ghReleaseAddChangeLog: true
customNPMRegistry: $(AZURE_ARTIFACTS_FEED)
81 changes: 81 additions & 0 deletions build/azure-pipeline.validation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
# PR and Push validation pipeline

trigger:
branches:
include:
- main
- release
- release/*
- release-*

pr:
branches:
include:
- main
- release
- release/*
- release-*
drafts: false

resources:
repositories:
- repository: MicroBuildTemplate
type: git
name: 1ESPipelineTemplates/MicroBuildTemplate
ref: refs/tags/release

- repository: templates
type: git
name: DevDiv/Pylance-Eng
ref: refs/heads/main
variables:
- name: TeamName
value: VSCode-flake8
- name: VsixName
value: flake8.vsix
- name: AZURE_ARTIFACTS_FEED
value: 'https://devdiv.pkgs.visualstudio.com/DevDiv/_packaging/Pylance_PublicPackages/npm/registry/'

parameters:
- 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: npm run package
displayName: Build extension

extends:
template: azure-pipelines/MicroBuild.1ES.Official.yml@MicroBuildTemplate
parameters:
sdl:
enabled: false
pool:
name: AzurePipelines-EO
os: windows

customBuildTags:
- ES365AIMigrationTooling
stages:
- stage: Build
displayName: Build & Package Extension
jobs:
- template: azure-pipelines/extension/templates/jobs/package.yml@templates
parameters:
buildSteps: ${{ parameters.buildSteps }}
isPreRelease: false
standardizedVersioning: true
customNPMRegistry: $(AZURE_ARTIFACTS_FEED)
Loading