diff --git a/.github/workflows/deploy-preview.yaml b/.github/workflows/deploy-preview.yaml index 86a83a74eb..8166a9c218 100644 --- a/.github/workflows/deploy-preview.yaml +++ b/.github/workflows/deploy-preview.yaml @@ -82,7 +82,7 @@ jobs: name: 2c-preview url: ${{ steps.deploy.outputs.deployment-url }} outputs: - deployment-url: ${{ steps.deploy.outputs.deployment-url }} + deployment-url: ${{ steps.deploy.outputs.deployment-url || steps.extract-worker-id.outputs.worker-url }} steps: - name: Checkout uses: actions/checkout@v4 @@ -98,9 +98,17 @@ jobs: opServiceAccount: ${{ secrets.OP_SERVICE_ACCOUNT_TOKEN }} commitTag: ${{ github.ref == 'refs/heads/main' && 'main' || format('pr{0}', github.event.pull_request.number) }} commitMessage: ${{ github.sha }} + - name: Extract Worker ID + id: extract-worker-id + if: ${{ !steps.deploy.outputs.deployment-url }} + run: | + if [[ "${{ steps.deploy.outputs.command-output }}" =~ Worker\ Version\ ID:\ ([0-9a-f]{8})-([0-9a-f-]+) ]]; then + WORKER_ID_FIRST_PART="${BASH_REMATCH[1]}" + echo "worker-url=https://${WORKER_ID_FIRST_PART}-gitbook-open-v2-preview.gitbook.workers.dev/" >> $GITHUB_OUTPUT + fi - name: Outputs run: | - echo "URL: ${{ steps.deploy.outputs.deployment-url }}" + echo "URL: ${{ steps.deploy.outputs.deployment-url || steps.extract-worker-id.outputs.worker-url }}" comment-deployments: runs-on: ubuntu-latest name: Comment Deployments (preview) @@ -142,10 +150,10 @@ jobs: ### Test content - | Site | v1 | v2 | - | --- | --- | --- | - | GitBook | [${{ needs.deploy-v1-cloudflare.outputs.deployment-url }}/docs.gitbook.com](${{ needs.deploy-v1-cloudflare.outputs.deployment-url }}/docs.gitbook.com) | [${{ needs.deploy-v2-vercel.outputs.deployment-url }}/url/docs.gitbook.com](${{ needs.deploy-v2-vercel.outputs.deployment-url }}/url/docs.gitbook.com) | - | E2E | [${{ needs.deploy-v1-cloudflare.outputs.deployment-url }}/gitbook.gitbook.io/test-gitbook-open](${{ needs.deploy-v1-cloudflare.outputs.deployment-url }}/gitbook.gitbook.io/test-gitbook-open) | [${{ needs.deploy-v2-vercel.outputs.deployment-url }}/url/gitbook.gitbook.io/test-gitbook-open](${{ needs.deploy-v2-vercel.outputs.deployment-url }}/url/gitbook.gitbook.io/test-gitbook-open) | + | Site | `v1` | `2v` | `2c` | + | --- | --- | --- | --- | + | GitBook | [${{ needs.deploy-v1-cloudflare.outputs.deployment-url }}/docs.gitbook.com](${{ needs.deploy-v1-cloudflare.outputs.deployment-url }}/docs.gitbook.com) | [${{ needs.deploy-v2-vercel.outputs.deployment-url }}/url/docs.gitbook.com](${{ needs.deploy-v2-vercel.outputs.deployment-url }}/url/docs.gitbook.com) | [${{ needs.deploy-v2-cloudflare.outputs.deployment-url }}/url/docs.gitbook.com](${{ needs.deploy-v2-cloudflare.outputs.deployment-url }}/url/docs.gitbook.com) | + | E2E | [${{ needs.deploy-v1-cloudflare.outputs.deployment-url }}/gitbook.gitbook.io/test-gitbook-open](${{ needs.deploy-v1-cloudflare.outputs.deployment-url }}/gitbook.gitbook.io/test-gitbook-open) | [${{ needs.deploy-v2-vercel.outputs.deployment-url }}/url/gitbook.gitbook.io/test-gitbook-open](${{ needs.deploy-v2-vercel.outputs.deployment-url }}/url/gitbook.gitbook.io/test-gitbook-open) | [${{ needs.deploy-v2-cloudflare.outputs.deployment-url }}/url/gitbook.gitbook.io/test-gitbook-open](${{ needs.deploy-v2-cloudflare.outputs.deployment-url }}/url/gitbook.gitbook.io/test-gitbook-open) | edit-mode: replace visual-testing-v1: runs-on: ubuntu-latest @@ -187,11 +195,33 @@ jobs: SITE_BASE_URL: ${{ needs.deploy-v2-vercel.outputs.deployment-url }}/url/ ARGOS_TOKEN: ${{ secrets.ARGOS_TOKEN }} ARGOS_BUILD_NAME: 'v2-vercel' + visual-testing-v2-cloudflare: + runs-on: ubuntu-latest + name: Visual Testing v2 (Cloudflare) + needs: deploy-v2-cloudflare + timeout-minutes: 10 + if: startsWith(github.ref_name, 'cloudflare/') + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Setup Bun + uses: ./.github/composite/setup-bun + - name: Install dependencies + run: bun install --frozen-lockfile + - name: Setup Playwright + uses: ./.github/actions/setup-playwright + - name: Run Playwright tests + run: bun e2e + env: + BASE_URL: ${{ needs.deploy-v2-cloudflare.outputs.deployment-url }} + SITE_BASE_URL: ${{ needs.deploy-v2-cloudflare.outputs.deployment-url }}/url/ + ARGOS_TOKEN: ${{ secrets.ARGOS_TOKEN }} + ARGOS_BUILD_NAME: 'v2-cloudflare' visual-testing-customers-v1: runs-on: ubuntu-latest name: Visual Testing Customers v1 needs: deploy-v1-cloudflare - timeout-minutes: 6 + timeout-minutes: 8 steps: - name: Checkout uses: actions/checkout@v4 @@ -211,7 +241,7 @@ jobs: runs-on: ubuntu-latest name: Visual Testing Customers v2 needs: deploy-v2-vercel - timeout-minutes: 6 + timeout-minutes: 8 steps: - name: Checkout uses: actions/checkout@v4 @@ -228,6 +258,28 @@ jobs: SITE_BASE_URL: ${{ needs.deploy-v2-vercel.outputs.deployment-url }}/url/ ARGOS_TOKEN: ${{ secrets.ARGOS_TOKEN }} ARGOS_BUILD_NAME: 'customers-v2' + visual-testing-customers-v2-cloudflare: + runs-on: ubuntu-latest + name: Visual Testing Customers v2 (Cloudflare) + needs: deploy-v2-cloudflare + timeout-minutes: 8 + if: startsWith(github.ref_name, 'cloudflare/') + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Setup Bun + uses: ./.github/composite/setup-bun + - name: Install dependencies + run: bun install --frozen-lockfile + - name: Setup Playwright + uses: ./.github/actions/setup-playwright + - name: Run Playwright tests + run: bun e2e-customers + env: + BASE_URL: ${{ needs.deploy-v2-cloudflare.outputs.deployment-url }} + SITE_BASE_URL: ${{ needs.deploy-v2-cloudflare.outputs.deployment-url }}/url/ + ARGOS_TOKEN: ${{ secrets.ARGOS_TOKEN }} + ARGOS_BUILD_NAME: 'customers-v2' pagespeed-testing-v1: runs-on: ubuntu-latest name: PageSpeed Testing v1