diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c0085cba..a11aa399 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,7 +12,7 @@ concurrency: jobs: check: - name: Lint & Typecheck + name: Lint, Typecheck & Unit Tests runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -37,3 +37,31 @@ jobs: - name: Unit Tests run: pnpm test + + e2e: + name: E2E Tests + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - uses: pnpm/action-setup@v4 + + - uses: actions/setup-node@v4 + with: + node-version: 22 + cache: pnpm + + - run: pnpm install --frozen-lockfile + + - name: Install Playwright browsers + run: pnpm exec playwright install chromium --with-deps + + - name: Run e2e tests + run: pnpm exec playwright test + + - uses: actions/upload-artifact@v4 + if: failure() + with: + name: playwright-report + path: playwright-report/ + retention-days: 7 diff --git a/.gitignore b/.gitignore index 1e6849bd..3a41641d 100644 --- a/.gitignore +++ b/.gitignore @@ -19,6 +19,12 @@ CLAUDE.local.md # testing /coverage +# Playwright +/test-results/ +/playwright-report/ +/blob-report/ +/playwright/.cache/ + # next.js /.next/ /out/ diff --git a/components/stage/scene-sidebar.tsx b/components/stage/scene-sidebar.tsx index 4f50d732..4b75471a 100644 --- a/components/stage/scene-sidebar.tsx +++ b/components/stage/scene-sidebar.tsx @@ -137,7 +137,10 @@ export function SceneSidebar({ {/* Scenes List */} -