Skip to content

fix(editor): Format errors show in the results panel + caret jumps to them #167

fix(editor): Format errors show in the results panel + caret jumps to them

fix(editor): Format errors show in the results panel + caret jumps to them #167

Workflow file for this run

name: ci
on:
push:
pull_request:
branches: [main]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '22'
# npm install (not ci): esbuild ships platform-specific optional binaries;
# install resolves the runner's platform and skips the others, where a
# cross-platform-pinned lockfile would make `npm ci` fail EBADPLATFORM.
- run: npm install --no-audit --no-fund
- name: Test (vitest + coverage gate)
run: npm test
- name: Build single-file SPA
run: npm run build
- uses: actions/upload-artifact@v4
with:
name: sql-browser-dist
path: dist/sql.html
retention-days: 14
# Real-browser regression tests (Playwright). Runs on Linux runners where the
# Gecko/Chromium binaries launch normally — separate from the unit suite so a
# missing browser binary can't mask a unit failure, and vice versa. The
# harness imports /src directly over a python http.server (started by the
# Playwright config's webServer), so no build step is needed.
e2e:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '22'
- run: npm install --no-audit --no-fund
- name: Install Playwright browsers
run: npx playwright install --with-deps chromium firefox
- name: E2E (Playwright — Chromium + Firefox)
run: npm run test:e2e
- uses: actions/upload-artifact@v4
if: ${{ failure() }}
with:
name: playwright-results
path: test-results/
retention-days: 14