name: E2E Tests on: push: branches: [main] pull_request: branches: [main] jobs: e2e-tests: name: E2E Tests runs-on: ubuntu-latest timeout-minutes: 30 steps: - name: Checkout uses: actions/checkout@v4 - name: Set up Go uses: actions/setup-go@v5 with: go-version: stable - name: Set up Node.js uses: actions/setup-node@v4 with: node-version: '20' cache: 'npm' cache-dependency-path: ui/package-lock.json - name: Build Go backend run: make build - name: Install UI dependencies working-directory: ui run: npm ci - name: Install Playwright browsers working-directory: ui run: npx playwright install --with-deps - name: Run E2E tests working-directory: ui run: npm run e2e env: CI: true - name: Upload Playwright report uses: actions/upload-artifact@v4 if: always() with: name: playwright-report path: ui/playwright-report/ retention-days: 30 - name: Upload test results uses: actions/upload-artifact@v4 if: always() with: name: test-results path: ui/test-results/ retention-days: 30