Add Docker atomic deploy tooling, CI, Playwright smoke/visual suite, shared industrial theme, physics invariants, quality-mode wiring, and a worktree-isolated agent implementer MVP with hard safety limits. Co-authored-by: Cursor <cursoragent@cursor.com>
39 lines
1001 B
YAML
39 lines
1001 B
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches: [feature/**, dan_branch, main]
|
|
pull_request:
|
|
|
|
jobs:
|
|
build-test:
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 25
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/setup-node@v4
|
|
with:
|
|
node-version: '20'
|
|
cache: npm
|
|
- run: npm ci
|
|
- run: npm test
|
|
- run: npm run build
|
|
- name: Install Playwright Chromium
|
|
run: npx playwright install --with-deps chromium
|
|
- name: Start preview
|
|
run: |
|
|
npx vite preview --host 127.0.0.1 --port 3101 &
|
|
for i in $(seq 1 30); do curl -sf http://127.0.0.1:3101/ && break; sleep 1; done
|
|
- name: E2E smoke
|
|
run: npm run test:e2e
|
|
env:
|
|
PLAYWRIGHT_BASE_URL: http://127.0.0.1:3101
|
|
- uses: actions/upload-artifact@v4
|
|
if: always()
|
|
with:
|
|
name: playwright-report
|
|
path: |
|
|
playwright-report/
|
|
test-results/
|
|
if-no-files-found: ignore
|