Skip to content
Draft
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
15 changes: 7 additions & 8 deletions .github/workflows/chat-lib-package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,26 +29,25 @@ jobs:
uses: actions/setup-node@v6
with:
node-version: 22.x
cache: npm
cache-dependency-path: |
extensions/copilot/package-lock.json
extensions/copilot/chat-lib/package-lock.json


- name: Setup pnpm
run: corepack enable
- name: Extract chat-lib
shell: bash
working-directory: extensions/copilot
run: |
npm ci
npm run extract-chat-lib
pnpm install --frozen-lockfile --ignore-workspace
pnpm run extract-chat-lib
rm -rf node_modules

- name: Install chat-lib dependencies
working-directory: extensions/copilot/chat-lib
run: npm ci
run: pnpm install --no-frozen-lockfile --ignore-workspace

- name: Build chat-lib
working-directory: extensions/copilot/chat-lib
run: npm run build
run: pnpm run build

- name: Test chat-lib
working-directory: extensions/copilot/chat-lib
Expand Down
27 changes: 18 additions & 9 deletions .github/workflows/chat-perf.yml
Original file line number Diff line number Diff line change
Expand Up @@ -95,8 +95,10 @@ jobs:
uses: actions/setup-node@v6
with:
node-version-file: .nvmrc
cache: npm


- name: Setup pnpm
run: corepack enable
- name: Install system dependencies
run: |
sudo apt update -y
Expand All @@ -111,19 +113,19 @@ jobs:
libasound2t64 libxshmfence1 libgtk-3-0

- name: Install dependencies
run: npm ci
run: pnpm install --frozen-lockfile
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Install build dependencies
run: npm ci
run: pnpm install --frozen-lockfile --ignore-workspace
working-directory: build

- name: Transpile source
run: npm run transpile-client
run: pnpm run transpile-client

- name: Build copilot extension
run: npm run compile
run: pnpm run compile
working-directory: extensions/copilot

- name: Download Electron
Expand Down Expand Up @@ -194,8 +196,10 @@ jobs:
uses: actions/setup-node@v6
with:
node-version-file: .nvmrc
cache: npm


- name: Setup pnpm
run: corepack enable
- name: Install system dependencies
run: |
sudo apt update -y
Expand All @@ -210,7 +214,7 @@ jobs:
libasound2t64 libxshmfence1 libgtk-3-0

- name: Install dependencies
run: npm ci
run: pnpm install --frozen-lockfile
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Expand Down Expand Up @@ -367,8 +371,10 @@ jobs:
uses: actions/setup-node@v6
with:
node-version-file: .nvmrc
cache: npm


- name: Setup pnpm
run: corepack enable
- name: Install system dependencies
run: |
sudo apt update -y
Expand All @@ -383,7 +389,7 @@ jobs:
libasound2t64 libxshmfence1 libgtk-3-0

- name: Install dependencies
run: npm ci
run: pnpm install --frozen-lockfile
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Expand Down Expand Up @@ -467,6 +473,9 @@ jobs:
with:
node-version-file: .nvmrc


- name: Setup pnpm
run: corepack enable
- name: Download perf summary data
uses: actions/download-artifact@v8
with:
Expand Down
13 changes: 8 additions & 5 deletions .github/workflows/component-fixtures.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,9 @@ jobs:
with:
node-version-file: .nvmrc


- name: Setup pnpm
run: corepack enable
- name: Prepare node_modules cache key
run: mkdir -p .build && node build/azure-pipelines/common/computeNodeModulesCacheKey.ts compile $(node -p process.arch) > .build/packagelockhash

Expand All @@ -54,20 +57,20 @@ jobs:

- name: Install dependencies
if: steps.cache-node-modules.outputs.cache-hit != 'true'
run: npm ci --ignore-scripts
run: pnpm install --frozen-lockfile --ignore-scripts
env:
ELECTRON_SKIP_BINARY_DOWNLOAD: 1
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Install build dependencies
if: steps.cache-node-modules.outputs.cache-hit != 'true'
run: npm ci
run: pnpm install --frozen-lockfile --ignore-workspace
working-directory: build

- name: Install rspack dependencies
if: steps.cache-node-modules.outputs.cache-hit != 'true'
run: npm ci
run: pnpm install --frozen-lockfile
working-directory: build/rspack

- name: Create node_modules archive
Expand All @@ -82,13 +85,13 @@ jobs:
run: cp node_modules/@vscode/codicons/dist/codicon.ttf src/vs/base/browser/ui/codicons/codicon/codicon.ttf

- name: Transpile source
run: npm run transpile-client
run: pnpm run transpile-client

- name: Install Playwright Chromium
run: npx playwright install chromium

- name: Install Playwright test dependencies
run: npm ci
run: pnpm install --frozen-lockfile
working-directory: test/componentFixtures/playwright

- name: Install Playwright Chromium (tests)
Expand Down
9 changes: 6 additions & 3 deletions .github/workflows/copilot-setup-steps.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,9 @@ jobs:
with:
node-version-file: .nvmrc


- name: Setup pnpm
run: corepack enable
- name: Setup system services
run: |
set -e
Expand Down Expand Up @@ -71,7 +74,7 @@ jobs:
set -e

for i in {1..5}; do # try 5 times
npm ci && break
pnpm install --frozen-lockfile && break
if [ $i -eq 5 ]; then
echo "Npm install failed too many times" >&2
exit 1
Expand All @@ -89,7 +92,7 @@ jobs:
source ./build/azure-pipelines/linux/setup-env.sh

for i in {1..5}; do # try 5 times
npm ci && break
pnpm install --frozen-lockfile && break
if [ $i -eq 5 ]; then
echo "Npm install failed too many times" >&2
exit 1
Expand Down Expand Up @@ -136,7 +139,7 @@ jobs:
set -e

for i in {1..3}; do # try 3 times (matching retryCountOnTaskFailure: 3)
if npm exec -- npm-run-all2 -lp "electron x64" "playwright-install"; then
if pnpm exec npm-run-all2 -lp "electron x64" "playwright-install"; then
echo "Download successful on attempt $i"
break
fi
Expand Down
19 changes: 11 additions & 8 deletions .github/workflows/monaco-editor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,9 @@ jobs:
with:
node-version-file: .nvmrc


- name: Setup pnpm
run: corepack enable
- name: Compute node modules cache key
id: nodeModulesCacheKey
run: echo "value=$(node build/azure-pipelines/common/computeNodeModulesCacheKey.ts)" >> $GITHUB_OUTPUT
Expand Down Expand Up @@ -60,20 +63,20 @@ jobs:
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1
ELECTRON_SKIP_BINARY_DOWNLOAD: 1
run: |
npm ci
pnpm install --frozen-lockfile

- name: Download Playwright
run: npm run playwright-install
run: pnpm run playwright-install

- name: Run Monaco Editor Checks
run: npm run monaco-compile-check
run: pnpm run monaco-compile-check

- name: Editor Distro & ESM
run: npm run gulp editor-distro
run: pnpm run gulp editor-distro

- name: Editor ESM sources check
working-directory: ./test/monaco
run: npm run esm-check
run: pnpm run esm-check

- name: Typings validation prep
run: |
Expand All @@ -89,13 +92,13 @@ jobs:

- name: Package Editor with Webpack
working-directory: ./test/monaco
run: npm run bundle-webpack
run: pnpm run bundle-webpack

- name: Compile Editor Tests
working-directory: ./test/monaco
run: npm run compile
run: pnpm run compile

- name: Run Editor Tests
timeout-minutes: 5
working-directory: ./test/monaco
run: npm run test
run: pnpm run test
25 changes: 14 additions & 11 deletions .github/workflows/pr-darwin-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,9 @@ jobs:
with:
node-version-file: .nvmrc


- name: Setup pnpm
run: corepack enable
- name: Prepare node_modules cache key
run: mkdir -p .build && node build/azure-pipelines/common/computeNodeModulesCacheKey.ts darwin $VSCODE_ARCH $(node -p process.arch) > .build/packagelockhash

Expand All @@ -56,7 +59,7 @@ jobs:
python3 -m pip install --break-system-packages setuptools

for i in {1..5}; do # try 5 times
npm ci && break
pnpm install --frozen-lockfile && break
if [ $i -eq 5 ]; then
echo "Npm install failed too many times" >&2
exit 1
Expand Down Expand Up @@ -104,14 +107,14 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Transpile client and extensions
run: npm run gulp transpile-client-esbuild transpile-extensions
run: pnpm run gulp transpile-client-esbuild transpile-extensions

- name: Download Electron and Playwright
run: |
set -e

for i in {1..3}; do # try 3 times (matching retryCountOnTaskFailure: 3)
if npm exec -- npm-run-all2 -lp "electron ${{ env.VSCODE_ARCH }}" "playwright-install"; then
if pnpm exec npm-run-all2 -lp "electron ${{ env.VSCODE_ARCH }}" "playwright-install"; then
echo "Download successful on attempt $i"
break
fi
Expand All @@ -135,19 +138,19 @@ jobs:
- name: 🧪 Run unit tests (node.js)
if: ${{ inputs.electron_tests }}
timeout-minutes: 15
run: npm run test-node
run: pnpm run test-node

- name: 🧪 Run unit tests (Browser, Webkit)
if: ${{ inputs.browser_tests }}
timeout-minutes: 30
run: npm run test-browser-no-install -- --browser webkit --tfs "Browser Unit Tests"
run: pnpm run test-browser-no-install -- --browser webkit --tfs "Browser Unit Tests"
env:
DEBUG: "*browser*"

- name: Build integration tests
run: |
set -e
npm run gulp \
pnpm run gulp \
compile-extension:configuration-editing \
compile-extension:css-language-features-server \
compile-extension:emmet \
Expand Down Expand Up @@ -183,10 +186,10 @@ jobs:

- name: Compile smoke tests
working-directory: test/smoke
run: npm run compile
run: pnpm run compile

- name: Compile extensions for smoke tests
run: npm run gulp compile-extension-media
run: pnpm run gulp compile-extension-media

- name: Diagnostics before smoke test run
run: ps -ef
Expand All @@ -196,17 +199,17 @@ jobs:
- name: 🧪 Run smoke tests (Electron)
if: ${{ inputs.electron_tests }}
timeout-minutes: 20
run: npm run smoketest-no-compile -- --tracing
run: pnpm run smoketest-no-compile -- --tracing

- name: 🧪 Run smoke tests (Browser, Chromium)
if: ${{ inputs.browser_tests }}
timeout-minutes: 20
run: npm run smoketest-no-compile -- --web --tracing --headless
run: pnpm run smoketest-no-compile -- --web --tracing --headless

- name: 🧪 Run smoke tests (Remote)
if: ${{ inputs.remote_tests }}
timeout-minutes: 20
run: npm run smoketest-no-compile -- --remote --tracing
run: pnpm run smoketest-no-compile -- --remote --tracing

- name: Diagnostics after smoke test run
run: ps -ef
Expand Down
Loading
Loading