name: QA Workflow on: push: branches: [ main ] pull_request: branches: [ main ] jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Setup Node 20 uses: actions/setup-node@v4 with: node-version: 20 cache: 'npm' - name: Install dependencies run: npm ci - name: Run Vitest (Unit + Integration) run: npx vitest run - name: Install Playwright Browsers run: npx playwright install --with-deps chromium - name: Run Playwright (E2E) run: npx playwright test - name: Upload Playwright report uses: actions/upload-artifact@v4 if: failure() with: name: playwright-report path: playwright-report/ retention-days: 30