Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
microsoft
GitHub Repository: microsoft/vscode
Path: blob/main/extensions/copilot/build/npm-package-next.yml
13383 views
1
trigger: none
2
3
pr: none
4
5
resources:
6
repositories:
7
- repository: templates
8
type: github
9
name: microsoft/vscode-engineering
10
ref: main
11
endpoint: Monaco
12
pipelines:
13
- pipeline: vscode
14
source: '⭐️ VS Code'
15
trigger:
16
stages:
17
- Release
18
branches:
19
include:
20
- main
21
- release/*
22
23
parameters:
24
- name: NPM_REGISTRY
25
displayName: "Custom NPM Registry"
26
type: string
27
default: 'https://pkgs.dev.azure.com/monacotools/Monaco/_packaging/vscode/npm/registry/'
28
29
name: "$(Date:yyyyMMdd).$(Rev:r)"
30
31
extends:
32
template: azure-pipelines/npm-package/pipeline.yml@templates
33
parameters:
34
npmPackages:
35
- name: vscode-copilot-chat
36
buildSteps:
37
- task: NodeTool@0
38
inputs:
39
versionSpec: 22.x
40
displayName: Install Node.js (22.x)
41
42
- template: extensions/copilot/build/steps/setup-npm.yml@self
43
parameters:
44
NPM_REGISTRY: ${{ parameters.NPM_REGISTRY }}
45
46
- download: vscode
47
artifact: copilot_vsix
48
displayName: Download Copilot VSIX
49
condition: and(succeeded(), ne(variables['resources.pipeline.vscode.runName'], ''))
50
51
- bash: |
52
set -e
53
if [ -f "$(Pipeline.Workspace)/vscode/copilot_vsix/copilot-chat.vsix" ]; then
54
unzip -o "$(Pipeline.Workspace)/vscode/copilot_vsix/copilot-chat.vsix" 'extension/package.json'
55
VERSION=$(node -p "require('./extension/package.json').version")
56
rm -rf extension
57
node -e "
58
const fs = require('fs');
59
const pkg = JSON.parse(fs.readFileSync('package.json', 'utf8'));
60
pkg.version = '$VERSION';
61
fs.writeFileSync('package.json', JSON.stringify(pkg, null, 2) + '\n');
62
"
63
echo "Set extension version to $VERSION"
64
else
65
echo "No Copilot VSIX found, using version from package.json"
66
fi
67
displayName: 📋 Sync version from extension
68
workingDirectory: extensions/copilot
69
70
- bash: npm ci && npm run extract-chat-lib && rm -rf node_modules
71
displayName: Extract chat-lib
72
workingDirectory: extensions/copilot
73
env:
74
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1
75
76
- bash: |
77
set -e
78
VERSION=$(node -p "require('../package.json').version")
79
node -e "
80
const fs = require('fs');
81
const pkg = JSON.parse(fs.readFileSync('package.json', 'utf8'));
82
pkg.version = '$VERSION';
83
fs.writeFileSync('package.json', JSON.stringify(pkg, null, 2) + '\n');
84
"
85
echo "Set chat-lib version to $VERSION"
86
displayName: 📋 Sync chat-lib version
87
workingDirectory: extensions/copilot/chat-lib
88
89
- script: npm ci
90
displayName: Install chat-lib dependencies
91
workingDirectory: extensions/copilot/chat-lib
92
93
- script: npm run build
94
displayName: Build chat-lib
95
workingDirectory: extensions/copilot/chat-lib
96
testPlatforms:
97
- name: Linux
98
nodeVersions: [22.x]
99
- name: MacOS
100
nodeVersions: [22.x]
101
- name: Windows
102
nodeVersions: [22.x]
103
workingDirectory: extensions/copilot/chat-lib
104
testSteps:
105
- template: extensions/copilot/build/steps/test-chat-lib.yml@self
106
parameters:
107
NPM_REGISTRY: ${{ parameters.NPM_REGISTRY }}
108
# Triggered by ⭐️ VS Code pipeline → always publish to next
109
publishPackage: true
110
publishRequiresApproval: false
111
tag: next
112
ghCreateRelease: false
113
ghReleaseAddChangeLog: false
114
115