name: "CI and E2E Tests" on: push: deployment_status: types: [success] jobs: ci: if: github.event_name == 'push' runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Install Bun run: | curl https://bun.sh/install | bash echo "$HOME/.bun/bin" >> $GITHUB_PATH - uses: actions/setup-node@v4 - name: Install dependencies run: bun i - name: biome check run: bunx @biomejs/biome check src/. - name: tsc check run: bun run typecheck - name: Test production build run: bun run build e2e_tests: needs: ci runs-on: ubuntu-latest steps: - name: Debug event info run: | echo "Event Name: ${{ github.event_name }}" echo "Deployment Status: ${{ github.event.deployment_status.state }}" - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: '18' - name: Install dependencies run: npm install - name: Wait for deployment to be live run: | echo "Waiting for Vercel deployment to be live..." until curl -sSf https://testing.discours.io > /dev/null; do printf '.' sleep 10 done - name: Install Playwright and dependencies run: npm run e2e:install - name: Run Playwright tests run: npm run e2e:tests:ci env: BASE_URL: https://testing.discours.io continue-on-error: true - name: Report test result if failed if: failure() run: echo "E2E tests failed. Please review the logs."