Skip to content

chore: prevent pnpm breakage #14209

chore: prevent pnpm breakage

chore: prevent pnpm breakage #14209

Workflow file for this run

name: ' 🧪 Test'
on:
workflow_dispatch:
pull_request:
paths:
- '.github/workflows/test.yml'
- '*-lock.yaml'
- 'package.json'
- 'packages/**/*.cjs'
- 'packages/**/*.cts'
- 'packages/**/*.js'
- 'packages/**/*.mjs'
- 'packages/**/*.mts'
- 'packages/**/*.ts'
- 'packages/**/package.json'
- 'packages/**/tsconfig.json'
- 'test-packages/**/*.cjs'
- 'test-packages/**/*.cts'
- 'test-packages/**/*.js'
- 'test-packages/**/*.mjs'
- 'test-packages/**/*.mts'
- 'test-packages/**/*.ts'
- 'test-packages/**/package.json'
- 'test-packages/**/tsconfig.json'
- 'test-fixtures/**'
- 'tsconfig*.json'
- '!docs/**'
- '!website/**'
push:
branches:
- main
paths-ignore:
- 'docs/**'
permissions:
contents: read
jobs:
test-node-versions:
runs-on: ${{ matrix.os }}
strategy:
matrix:
node-version:
# List of supported node versions (latest is tested in `test-os`)
- 18.x
- 20.x
- 22.x
os:
- ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup And Test
uses: ./.github/actions/setup-and-test
with:
node-version: ${{ matrix.node-version }}
# Ensure the repository is clean after build & test
- run: git --no-pager diff --exit-code
test-os:
runs-on: ${{ matrix.os }}
strategy:
matrix:
node-version:
- 18.x
os:
- windows-latest
# - macos-latest # Smoke test is enough for now.
steps:
- uses: actions/checkout@v4
- name: Setup And Test
uses: ./.github/actions/setup-and-test
with:
node-version: ${{ matrix.node-version }}
# Ensure the repository is clean after build & test
- run: git --no-pager diff --compact-summary --exit-code
test-full-build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
node-version:
- 18.x
# - 20.x
os:
- ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup
uses: ./.github/actions/setup
with:
node-version: ${{ matrix.node-version }}
- name: Swap tsconfig.json
run: |
cp tsconfig.full.json tsconfig.json
- name: Display Config
run: |
echo "$(cat tsconfig.json)"
- run: pnpm i
- run: pnpm run build
- run: pnpm --workspace-concurrency 1 test
smoke-test:
runs-on: ${{ matrix.os }}
strategy:
matrix:
node-version:
# List of supported node versions (latest is tested in `test-os`)
- 20.x
- 22.x
os:
- ubuntu-latest
use_cspell_cache:
- true
- ''
include:
- os: windows-latest
use_cspell_cache: ''
node-version: 18.x
# - os: macos-latest
# use_cspell_cache: ""
# node-version: 18.x
steps:
- uses: actions/checkout@v4
- name: Install and Build
uses: ./.github/actions/install-build
with:
node-version: ${{ matrix.node-version }}
- name: Smoke Tests
uses: ./.github/actions/smoke-test
with:
use_cspell_cache: ${{ matrix.use_cspell_cache }}
- name: Test Yarn PNP
run: |
pnpm run test:bin-spell-yarn
# Ensure the repository is clean after build & test
- run: git --no-pager diff --exit-code
# Ensure the perf tests run on the latest node version
perf-test:
runs-on: ${{ matrix.os }}
strategy:
matrix:
node-version:
# List of supported node versions (latest is tested in `test-os`)
# - 20.x
- 22.x
os:
- ubuntu-latest
# include:
# - os: windows-latest
# use_cspell_cache: ""
# node-version: 18.x
# - os: macos-latest
# use_cspell_cache: ""
# node-version: 18.x
steps:
- uses: actions/checkout@v4
- name: Install and Build
uses: ./.github/actions/install-build
with:
node-version: ${{ matrix.node-version }}
- name: Perf Tests
run: |
pnpm run test:perf