Skip to content

feat: split bundler-friendly bundle in to individual VFSs to reduce import size #107

feat: split bundler-friendly bundle in to individual VFSs to reduce import size

feat: split bundler-friendly bundle in to individual VFSs to reduce import size #107

Workflow file for this run

name: CI
permissions: {}
on:
push:
branches: [main]
pull_request:
branches: [main]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
defaults:
run:
shell: bash
jobs:
type-check:
name: Type check
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Checkout repo
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: Set up Node.js
uses: ./.github/actions/node-setup
- name: Run type check
run: npm run check-types
format:
name: Format check
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Checkout repo
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: Setup environment (node + install)
uses: ./.github/actions/node-setup
- name: Run format check
run: npx oxfmt . --check
zizmor:
name: Zizmor GitHub Actions check
runs-on: ubuntu-latest
permissions:
# Needed by zizmor online audits to inspect workflow/action metadata.
actions: read
contents: read
security-events: write
steps:
- name: Checkout repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: Run zizmor
uses: zizmorcore/zizmor-action@5f14fd08f7cf1cb1609c1e344975f152c7ee938d # v0.5.6
with:
online-audits: true
persona: auditor
min-severity: informational
min-confidence: low
test-browser:
name: Run browser tests
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Checkout repo
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: Setup environment (node + install)
uses: ./.github/actions/node-setup
- name: Get Playwright version
id: playwright-version
run:
echo "PLAYWRIGHT_VERSION=$(node -e
"console.log(require('./package-lock.json').packages['node_modules/playwright'].version)")"
>> $GITHUB_OUTPUT
- name: Cache Playwright browsers
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
id: playwright-cache
with:
path: ~/.cache/ms-playwright
key:
${{ runner.os }}-playwright-${{ steps.playwright-version.outputs.PLAYWRIGHT_VERSION }}
restore-keys: |
${{ runner.os }}-playwright-
- name: Install Playwright browsers
if: steps.playwright-cache.outputs.cache-hit != 'true'
run: npx playwright install --with-deps
- name: Install Playwright dependencies
if: steps.playwright-cache.outputs.cache-hit == 'true'
run: npx playwright install-deps
- name: Run browser tests
run: npm run test:browser
test-node:
name: Run node tests (Node ${{ matrix.node-version }})
runs-on: ubuntu-latest
permissions:
contents: read
strategy:
fail-fast: false
matrix:
node-version: [20, 22, 23, 24, 25]
steps:
- name: Checkout repo
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Setup environment (node + install)
uses: ./.github/actions/node-setup
with:
node-version: ${{ matrix.node-version }}
- name: Run node tests
run: npm run test:node