Skip to content

feat: Add Upstream Sync Workflow #2

feat: Add Upstream Sync Workflow

feat: Add Upstream Sync Workflow #2

Workflow file for this run

name: Playwright Tests
on:
push:
branches: [main]
paths:
- 'apps/web/**'
- 'packages/manifest/**'
- 'acfs.manifest.yaml'
- '.github/workflows/playwright.yml'
pull_request:
branches: [main]
paths:
- 'apps/web/**'
- 'packages/manifest/**'
- 'acfs.manifest.yaml'
- '.github/workflows/playwright.yml'
jobs:
verify-generated:
name: Verify Generated Files
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- name: Install manifest package dependencies
working-directory: packages/manifest
run: bun install --frozen-lockfile
- name: Verify generated files match manifest
working-directory: packages/manifest
run: |
echo "Checking if generated files are in sync with acfs.manifest.yaml..."
bun run generate:diff
echo "✓ Generated files are up to date"
test:
timeout-minutes: 30
runs-on: ubuntu-latest
needs: verify-generated
defaults:
run:
working-directory: apps/web
steps:
- uses: actions/checkout@v4
- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- name: Install dependencies
run: bun install
- name: Install Playwright Browsers
run: bunx playwright install --with-deps chromium
- name: Run Playwright tests
run: bunx playwright test --project=chromium
- name: Upload Playwright Report
uses: actions/upload-artifact@v4
if: ${{ !cancelled() }}
with:
name: playwright-report
path: apps/web/playwright-report/
retention-days: 30
- name: Upload Test Results
uses: actions/upload-artifact@v4
if: failure()
with:
name: test-results
path: apps/web/test-results/
retention-days: 7