Skip to content

feat(video): on-demand Veo video generation (Video Lab + per-component) #189

feat(video): on-demand Veo video generation (Video Lab + per-component)

feat(video): on-demand Veo video generation (Video Lab + per-component) #189

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
check:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [24.x]
steps:
- uses: actions/checkout@v5
- name: Install pnpm
# Version comes from the "packageManager" field in package.json.
uses: pnpm/action-setup@v4
- name: Setup Node.js
uses: actions/setup-node@v5
with:
node-version: ${{ matrix.node-version }}
cache: "pnpm"
- name: Install dependencies
run: pnpm install
- name: Run checks (prettier, eslint, vitest, build)
run: pnpm check
# End-to-end Playwright specs. Non-blocking (continue-on-error) and the visual
# snapshot test is excluded: the committed screenshot baselines are
# platform-specific and the Linux baseline can drift from macOS-generated ones,
# so it stays a local/manual check (`pnpm e2e`). This job still surfaces real
# structural/behavioral layout regressions on every PR.
e2e:
runs-on: ubuntu-latest
needs: check
continue-on-error: true
# Hard backstop: e2e serves a production build (see playwright.config.ts) and
# runs ~100 specs; this caps a hung run rather than letting it idle for the
# default 6h. Comfortably above the expected build + suite time.
timeout-minutes: 20
strategy:
matrix:
node-version: [24.x]
steps:
- uses: actions/checkout@v5
- name: Install pnpm
uses: pnpm/action-setup@v4
- name: Setup Node.js
uses: actions/setup-node@v5
with:
node-version: ${{ matrix.node-version }}
cache: "pnpm"
- name: Install dependencies
run: pnpm install
- name: Install Playwright browsers
run: pnpm exec playwright install --with-deps chromium
- name: Run e2e (excluding visual snapshot)
run: pnpm exec playwright test --grep-invert "matches snapshot"