Skip to content

chore: ignore .lighthouseci artifacts #43

chore: ignore .lighthouseci artifacts

chore: ignore .lighthouseci artifacts #43

Workflow file for this run

name: Regression
on:
push:
branches: [master, main, feat-*]
pull_request:
jobs:
units-and-types:
name: Units + Types
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v2
with:
version: 10
run_install: false
- uses: actions/setup-node@v4
with:
node-version: 24
cache: 'pnpm'
- name: Install
run: pnpm install --frozen-lockfile
- name: Build packages (emit .d.ts for cross-package type resolution)
run: pnpm build:packages
- name: Reinstall to relink bin symlinks
run: pnpm install --frozen-lockfile
- name: Type check
run: pnpm lint:type
- name: Unit tests
run: pnpm test
validate-llms:
name: llms.md code-block parse
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v2
with:
version: 10
run_install: false
- uses: actions/setup-node@v4
with:
node-version: 24
cache: 'pnpm'
- name: Install
run: pnpm install --frozen-lockfile
- name: Validate llms.md code blocks
run: pnpm validate:llms
build-and-smoke:
name: Build + SSR smoke
runs-on: ubuntu-latest
timeout-minutes: 25
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v2
with:
version: 10
run_install: false
- uses: actions/setup-node@v4
with:
node-version: 24
cache: 'pnpm'
- name: Install + build packages + relink + build examples
run: |
pnpm install --frozen-lockfile
pnpm build:packages
pnpm install --frozen-lockfile
pnpm build:examples
- name: SSR smoke (prod build + curl + hydration markers)
run: node scripts/smoke.mjs
- name: Upload smoke log on failure
if: failure()
uses: actions/upload-artifact@v4
with:
name: smoke-failure-logs
path: |
examples/**/dist/**/*.log
~/.npm/_logs/**
retention-days: 7
visual:
name: Visual regression
needs: build-and-smoke
runs-on: ubuntu-latest
# Playwright image ships chromium + system deps pre-installed; avoids
# the CDN-stuck `playwright install` that broke previous runs.
container:
image: mcr.microsoft.com/playwright:v1.48.2-jammy
options: --user root --ipc=host
timeout-minutes: 40
steps:
- uses: actions/checkout@v4
- name: Setup node 24 + pnpm
run: |
curl -fsSL https://deb.nodesource.com/setup_24.x | bash -
apt-get install -y nodejs
corepack enable
corepack prepare pnpm@10.0.0 --activate
- name: Install + build packages + relink + build examples
run: |
pnpm install --frozen-lockfile
pnpm build:packages
pnpm install --frozen-lockfile
pnpm build:examples
- name: Compare hub baselines
env:
VISUAL_GROUP: hub
run: |
node scripts/start-all.mjs --group=hub &
SERVER_PID=$!
for _ in $(seq 1 120); do
if curl -sf http://127.0.0.1:3000/ -o /dev/null; then break; fi
sleep 0.5
done
pnpm test:visual
STATUS=$?
kill $SERVER_PID 2>/dev/null || true
exit $STATUS
- name: Compare standalone baselines
env:
VISUAL_GROUP: standalone
run: |
node scripts/start-all.mjs --group=standalone &
SERVER_PID=$!
for _ in $(seq 1 120); do
if curl -sf http://127.0.0.1:3005/ -o /dev/null; then break; fi
sleep 0.5
done
pnpm test:visual
STATUS=$?
kill $SERVER_PID 2>/dev/null || true
exit $STATUS
- name: Upload Playwright report on failure
if: failure()
uses: actions/upload-artifact@v4
with:
name: playwright-report
path: |
playwright-report/
test-results/
retention-days: 14
lighthouse:
name: Lighthouse / a11y / SEO
needs: build-and-smoke
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v2
with:
version: 10
run_install: false
- uses: actions/setup-node@v4
with:
node-version: 24
cache: 'pnpm'
- name: Install + build packages + relink + build examples
run: |
pnpm install --frozen-lockfile
pnpm build:packages
pnpm install --frozen-lockfile
pnpm build:examples
- name: Start hub server
run: |
node scripts/start-all.mjs --group=hub &
for _ in $(seq 1 120); do
if curl -sf http://127.0.0.1:3000/ -o /dev/null; then break; fi
sleep 0.5
done
- name: Run Lighthouse CI
uses: treosh/lighthouse-ci-action@v12
with:
configPath: ./.lighthouserc.json
uploadArtifacts: true
temporaryPublicStorage: true