Skip to content

Add a file descriptor budget #3361

Add a file descriptor budget

Add a file descriptor budget #3361

Workflow file for this run

name: Tests
on: [push, pull_request]
jobs:
tests:
strategy:
# We support Node Current, LTS, and Maintenance. See
# https://nodejs.org/en/about/releases/ for release schedule.
#
# We test all supported Node versions on Linux, and the oldest and newest
# on macOS/Windows.
matrix:
include:
- node: 14
os: ubuntu-22.04
- node: 14
os: macos-12
- node: 14
os: windows-2022
- node: 16
os: ubuntu-22.04
- node: 18
os: ubuntu-22.04
- node: 19
os: ubuntu-22.04
- node: 19
os: macos-12
- node: 19
os: windows-2022
# Allow all matrix configurations to complete, instead of cancelling as
# soon as one fails. Useful because we often have different kinds of
# failures depending on the OS.
fail-fast: false
# Sometimes windows is far slower than the other OSs. Give it enough
# time to complete if it's going to.
timeout-minutes: 40
runs-on: ${{ matrix.os }}
env:
# TODO(aomarks) It's a little difficult to read the test results, because
# stdio streams of all parallel processes are interleaved. Remove this
# after implementing stdio locking.
WIREIT_PARALLEL: 1
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node }}
cache: npm
- uses: google/wireit@setup-github-actions-caching/v1
- run: npm ci
# Don't bother running the vscode-extension tests on Node 14, because the
# minimum version of VSCode we support uses Node 16.
- if: matrix.node == 14
run: npm run test:headless
# See https://code.visualstudio.com/api/working-with-extensions/continuous-integration#github-actions for why we need xvfb-run
- run: npm test
if: runner.os != 'Linux' && matrix.node != 14
- run: xvfb-run -a npm test
if: runner.os == 'Linux' && matrix.node != 14
lint-and-format:
timeout-minutes: 5
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 18
cache: npm
- run: npm ci
- run: npm run lint
- run: npm run format:check