chore(deps): bump the examples group across 18 directories with 27 updates #544
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: e2e-examples | |
| on: | |
| workflow_dispatch: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| jobs: | |
| test_examples_e2e: | |
| name: "E2E Examples (${{ matrix.example }})" | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| example: | |
| # SPA examples | |
| - react | |
| - react-tanstack | |
| - vue | |
| - svelte | |
| - angular | |
| - angular-cli | |
| # SSR examples | |
| - sveltekit | |
| - nuxt | |
| - astro | |
| # Inertia examples | |
| - react-inertia | |
| - react-inertia-jinja | |
| - vue-inertia | |
| - vue-inertia-jinja | |
| # Inertia SSR examples (plugin manages the Node /render process) | |
| - vue-inertia-ssr | |
| - vue-inertia-jinja-ssr | |
| # Template examples | |
| - jinja-htmx | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - name: Set up Node | |
| uses: actions/setup-node@v6 | |
| with: | |
| # Astro 6.x and @hey-api/openapi-ts require Node >=22.12 — staying on | |
| # Node 20 caused Astro to silently fail to start in CI (timeouts only, | |
| # no install error because the engine mismatch is just a warning). | |
| node-version: 22 | |
| cache: npm | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v7 | |
| - name: Set up Python | |
| run: uv python install 3.12 | |
| - name: Install dependencies | |
| run: uv sync --all-extras --dev | |
| - name: Build root JS plugin | |
| run: | | |
| npm ci | |
| npm run build | |
| - name: Install example dependencies | |
| run: uv run litestar assets install | |
| working-directory: examples/${{ matrix.example }} | |
| - name: Run E2E tests | |
| env: | |
| # Run tests serially (-n 0) to avoid race conditions with shared resources | |
| # Each matrix job already isolates by example, so parallelism is at job level | |
| # Use exact match with brackets to avoid 'svelte' matching 'sveltekit' | |
| PYTEST_ADDOPTS: "-m e2e -k '[${{ matrix.example }}]' -n 0 --maxfail=1" | |
| # Increase timeout for CI environment (slower than local) | |
| # SSR frameworks like Nuxt/SvelteKit need extra time on first cold start, and the | |
| # Angular 22 CLI dev server (@angular/build:dev-server) has a heavier first build. | |
| E2E_TEST_TIMEOUT: "300" | |
| # Bypass CI environment check in Vite plugin (we're intentionally testing dev mode in CI) | |
| LITESTAR_BYPASS_ENV_CHECK: "1" | |
| run: | | |
| uv run pytest src/py/tests/e2e -v --timeout=360 | |
| - name: Collect debug info on failure | |
| if: failure() | |
| run: | | |
| echo "=== Node/npm versions ===" | |
| node --version | |
| npm --version | |
| echo "=== Example directory contents ===" | |
| ls -la examples/${{ matrix.example }}/ | |
| echo "=== node_modules status ===" | |
| ls -la examples/${{ matrix.example }}/node_modules/ 2>/dev/null | head -20 || echo "node_modules not found" | |
| echo "=== Build output check ===" | |
| ls -la examples/${{ matrix.example }}/dist/ 2>/dev/null || echo "dist/ not found" | |
| ls -la examples/${{ matrix.example }}/build/ 2>/dev/null || echo "build/ not found" | |
| ls -la examples/${{ matrix.example }}/.output/ 2>/dev/null || echo ".output/ not found" | |
| ls -la examples/${{ matrix.example }}/public/ 2>/dev/null || echo "public/ not found" | |
| ls -la examples/${{ matrix.example }}/public/assets/ 2>/dev/null || echo "public/assets/ not found" | |
| echo "=== Manifest check ===" | |
| cat examples/${{ matrix.example }}/public/manifest.json 2>/dev/null || echo "manifest.json not found" | |
| echo "=== Package.json scripts ===" | |
| cat examples/${{ matrix.example }}/package.json | grep -A 20 '"scripts"' || true | |
| - name: Upload logs on failure | |
| if: failure() | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: e2e-logs-${{ matrix.example }} | |
| path: | | |
| .pytest_cache | |
| coverage.xml | |
| examples/${{ matrix.example }}/node_modules/.cache/ | |
| retention-days: 7 |