fix: .git
can be a file or a directory
#13902
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: ' 🧪 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 |