feature: add attached dom node count chart #2968
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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-2022] | |
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 |