name: End to end tests on: pull_request: merge_group: push: branches: [main] env: CI: 1 PRINT_GITHUB_ANNOTATIONS: 1 defaults: run: shell: bash jobs: build: name: 'End to end tests' timeout-minutes: 60 runs-on: ubuntu-latest-16-cores-open steps: - name: Check out code uses: actions/checkout@v3 - name: Setup Node.js environment uses: actions/setup-node@v3 with: node-version: 18 cache: 'yarn' cache-dependency-path: 'public-yarn.lock' - name: Enable corepack run: corepack enable - name: Install dependencies run: yarn - name: Install Playwright browsers run: npx playwright install --with-deps chromium chrome - name: Run Playwright tests run: 'yarn e2e' working-directory: apps/examples - uses: actions/upload-artifact@v3 if: always() with: name: playwright-report path: apps/examples/playwright-report retention-days: 30 - uses: shallwefootball/s3-upload-action@master if: always() name: Upload S3 id: s3 with: aws_key_id: ${{ secrets.AWS_S3_KEY_ID }} aws_secret_access_key: ${{ secrets.AWS_S3_SECRET_KEY}} aws_bucket: playwright-reports.tldraw.xyz source_dir: apps/examples/playwright-report - name: Log report to summary if: always() run: | report_url="https://playwright-reports.tldraw.xyz/${{ steps.s3.outputs.object_key }}/index.html" echo "Report: $report_url" echo "## Playwright report" >> $GITHUB_STEP_SUMMARY echo "* $report_url" >> $GITHUB_STEP_SUMMARY