Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .beads/issues.jsonl
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@
{"id":"ge-hch.1.8.1","title":"Implement: Risk","description":"Implement: Risk - code, prefabs, editor scripts as required.\\n\\n## Acceptance Criteria\\n- Implementation produces the minimal functionality described in the feature acceptance criteria.\\n\\n## Minimal Implementation\\n- Deliver the smallest end-to-end code required.","status":"open","priority":1,"issue_type":"task","created_at":"2026-01-03T20:44:45.80003094-08:00","created_by":"rgardler","updated_at":"2026-01-03T20:44:45.80003094-08:00","dependencies":[{"issue_id":"ge-hch.1.8.1","depends_on_id":"ge-hch.1.8","type":"parent-child","created_at":"2026-01-03T20:44:45.801328409-08:00","created_by":"rgardler"}]}
{"id":"ge-hch.1.8.2","title":"Tests: Risk","description":"Tests: Risk - create automated tests (browser unit / integration / E2E) required by feature.\\n\\n## Acceptance Criteria\\n- Tests exist and pass locally and in CI.\\n\\n## Minimal Implementation\\n- Add at least one browser E2E test covering feature behavior.","status":"open","priority":1,"issue_type":"task","created_at":"2026-01-03T20:44:45.853194129-08:00","created_by":"rgardler","updated_at":"2026-01-06T22:00:25.333147223-08:00","dependencies":[{"issue_id":"ge-hch.1.8.2","depends_on_id":"ge-hch.1.8","type":"parent-child","created_at":"2026-01-03T20:44:45.854214358-08:00","created_by":"rgardler"}]}
{"id":"ge-hch.1.8.3","title":"Docs: Risk","description":"Docs: Risk - write short runbook/docs.\\n\\n## Acceptance Criteria\\n- Docs explain how to run, test, and validate the feature.\\n\\n## Minimal Implementation\\n- Add section to docs or feature README.","status":"open","priority":2,"issue_type":"task","created_at":"2026-01-03T20:44:45.904222604-08:00","created_by":"rgardler","updated_at":"2026-01-03T20:44:45.904222604-08:00","dependencies":[{"issue_id":"ge-hch.1.8.3","depends_on_id":"ge-hch.1.8","type":"parent-child","created_at":"2026-01-03T20:44:45.905057899-08:00","created_by":"rgardler"}]}
{"id":"ge-k3p","title":"CI: Playwright E2E workflow","description":"Add GitHub Actions workflow to run Playwright E2E (demo) on PRs and main.\\n\\n## Scope\\n- CI job to install dependencies (npm ci) and Playwright browsers (npx playwright install).\\n- Run npm run test:unit and npm run test:demo (start-server-and-test) on linux runner.\\n- Upload Playwright artifacts (videos, traces, screenshots) on failure.\\n- Trigger on pull_request to main and push to main; allow workflow_dispatch.\\n- Keep runtime reasonable (consider single-project run on PR, full matrix optional on main).\\n\\n## Acceptance Criteria\\n- Workflow file exists in .github/workflows and runs successfully in CI.\\n- Playwright browsers installed via npx playwright install (with deps).\\n- npm run test:unit and npm run test:demo succeed in CI or fail the build.\\n- Artifacts (test-results) uploaded on failure for debugging.\\n","status":"open","priority":1,"issue_type":"chore","created_at":"2026-01-07T00:02:19.895681457-08:00","created_by":"rgardler","updated_at":"2026-01-07T00:04:26.978952669-08:00"}
{"id":"ge-k3p","title":"CI: Playwright E2E workflow","description":"Add GitHub Actions workflow to run Playwright E2E (demo) on PRs and main.\\n\\n## Scope\\n- CI job to install dependencies (npm ci) and Playwright browsers (npx playwright install).\\n- Run npm run test:unit and npm run test:demo (start-server-and-test) on linux runner.\\n- Upload Playwright artifacts (videos, traces, screenshots) on failure.\\n- Trigger on pull_request to main and push to main; allow workflow_dispatch.\\n- Keep runtime reasonable (consider single-project run on PR, full matrix optional on main).\\n\\n## Acceptance Criteria\\n- Workflow file exists in .github/workflows and runs successfully in CI.\\n- Playwright browsers installed via npx playwright install (with deps).\\n- npm run test:unit and npm run test:demo succeed in CI or fail the build.\\n- Artifacts (test-results) uploaded on failure for debugging.\\n","status":"in_progress","priority":1,"issue_type":"chore","created_at":"2026-01-07T00:02:19.895681457-08:00","created_by":"rgardler","updated_at":"2026-01-07T00:14:35.732301533-08:00","comments":[{"id":11,"issue_id":"ge-k3p","author":"rgardler","text":"Added GitHub Actions workflow .github/workflows/playwright.yml: checkout, setup-node 20 with npm cache, npm ci, npx playwright install --with-deps, npm run test:unit, npm run test:demo, upload artifacts on failure. Local run: npm test (unit + demo) passing.","created_at":"2026-01-07T08:18:39Z"},{"id":12,"issue_id":"ge-k3p","author":"rgardler","text":"Opened PR https://github.com/TheWizardsCode/GEngine/pull/97 for Playwright CI workflow. Summary: checkout, setup-node 20 with npm cache, npm ci, npx playwright install --with-deps, npm run test:unit, npm run test:demo, upload artifacts on failure. Local: npm test passed.","created_at":"2026-01-07T08:19:11Z"}]}
{"id":"ge-ngf","title":"CI: Playwright E2E","description":"Add GitHub Actions workflow to run Playwright E2E tests.\\n\\nAcceptance criteria:\\n- Workflow file .github/workflows/playwright.yml runs on PRs and main.\\n- Workflow runs: npm ci, npx playwright install, npm test (demo e2e).\\n- On PR a job runs tests and reports status to PR.","status":"open","priority":1,"issue_type":"task","assignee":"rgardler","created_at":"2026-01-06T23:08:53.428619454-08:00","created_by":"rgardler","updated_at":"2026-01-06T23:08:53.428619454-08:00"}
{"id":"ge-nzz","title":"Make root README InkJS-only","description":"Remove Unity references from the root README.md and focus it on InkJS/web demo usage and tests.","status":"closed","priority":1,"issue_type":"task","created_at":"2026-01-06T15:12:16.621516991-08:00","created_by":"rgardler","updated_at":"2026-01-06T15:13:37.065401561-08:00","closed_at":"2026-01-06T15:13:37.065401561-08:00","close_reason":"Done"}
{"id":"ge-osd","title":"Restore original demo story for smoke tests","status":"closed","priority":1,"issue_type":"bug","created_at":"2026-01-06T22:09:37.056596959-08:00","created_by":"rgardler","updated_at":"2026-01-06T22:10:00.371743266-08:00","closed_at":"2026-01-06T22:10:00.371743266-08:00","close_reason":"Done","comments":[{"id":1,"issue_id":"ge-osd","author":"rgardler","text":"Fixed smoke tests broken by demo story changes by adding web/stories/test.ink (pre-903f044 demo story) and routing /stories/demo.ink to that file in Playwright.\n\nChanges:\n- web/stories/test.ink\n- tests/demo.smoke.spec.ts\n\nCommands:\n- npm test","created_at":"2026-01-07T06:09:54Z"}]}
Expand Down
45 changes: 45 additions & 0 deletions .github/workflows/playwright.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: Playwright E2E

on:
workflow_dispatch:
push:
branches: [main]
pull_request:
branches: [main]

jobs:
tests:
runs-on: ubuntu-latest
env:
CI: true
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'

- name: Install dependencies
run: npm ci

- name: Install Playwright browsers
run: npx playwright install --with-deps

- name: Run unit tests
run: npm run test:unit

- name: Run demo E2E tests
run: npm run test:demo

- name: Upload Playwright artifacts
if: failure()
uses: actions/upload-artifact@v4
with:
name: playwright-test-results
path: |
test-results/**
playwright-report/**
if-no-files-found: ignore