Skip to content

feature: use windows 2025 #2969

feature: use windows 2025

feature: use windows 2025 #2969

Workflow file for this run

name: PR
on:
pull_request:
branches:
- main
jobs:
pr:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-24.04, macos-14, windows-2025]
timeout-minutes: 240
steps:
- uses: actions/checkout@v4
- run: |
git fetch --no-tags --prune --depth=1 origin +refs/heads/main:refs/remotes/origin/main
- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
- name: Compute node modules cache key
id: nodeModulesCacheKey
run: echo "value=$(node scripts/computeNodeModulesCacheKey.js)" >> $GITHUB_OUTPUT
shell: bash
- uses: actions/cache@v4
id: npm-cache
with:
path: |
**/node_modules
**/.vscode-test
**/.vscode-user-data-dir
**/.vscode-ffmpeg
**/.vscode-source-maps
**/.vscode-resolve-source-map-cache
key: ${{ runner.os }}-cacheNodeModules-${{ steps.nodeModulesCacheKey.outputs.value }}
- name: npm ci
run: npm ci --ignore-scripts && npm run postinstall
if: steps.npm-cache.outputs.cache-hit != 'true'
- run: npm run type-check
- run: npm run build
- run: npx lerna run test --since origin/main
- name: Run headless test (with videos)
if: matrix.os != 'macos-14'
uses: coactions/setup-xvfb@v1
with:
run: node packages/cli/bin/test.js --cwd packages/e2e --record-video
- name: Run headless test
uses: coactions/setup-xvfb@v1
with:
run: npm run e2e
- name: Run headless test (flakyness check)
if: matrix.os != 'macos-14'
uses: coactions/setup-xvfb@v1
with:
run: npm run e2e:check-flakyness
- name: Run headless test (second flakyness check)
if: matrix.os != 'macos-14'
uses: coactions/setup-xvfb@v1
with:
run: npm run e2e:check-flakyness
- name: Run headless test (check leaks, event listener count)
if: matrix.os != 'macos-14'
uses: coactions/setup-xvfb@v1
with:
run: node packages/cli/bin/test.js --cwd packages/e2e --check-leaks --measure-after
- name: Run headless test (check leaks, event listeners)
if: matrix.os == 'ubuntu-24.04'
uses: coactions/setup-xvfb@v1
with:
run: node packages/cli/bin/test.js --cwd packages/e2e --check-leaks --measure event-listeners
- name: Generate charts
run: node packages/charts/src/main.js
- uses: actions/upload-artifact@v4
if: always()
with:
name: vscode-videos-${{ runner.os }}
path: .vscode-videos