Skip to content

Commit 4ba7bd5

Browse files
authored
CF Preview URL: Extract worker URL and run visual tests (#3132)
1 parent 223ab53 commit 4ba7bd5

File tree

1 file changed

+60
-8
lines changed

1 file changed

+60
-8
lines changed

Diff for: .github/workflows/deploy-preview.yaml

+60-8
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ jobs:
8282
name: 2c-preview
8383
url: ${{ steps.deploy.outputs.deployment-url }}
8484
outputs:
85-
deployment-url: ${{ steps.deploy.outputs.deployment-url }}
85+
deployment-url: ${{ steps.deploy.outputs.deployment-url || steps.extract-worker-id.outputs.worker-url }}
8686
steps:
8787
- name: Checkout
8888
uses: actions/checkout@v4
@@ -98,9 +98,17 @@ jobs:
9898
opServiceAccount: ${{ secrets.OP_SERVICE_ACCOUNT_TOKEN }}
9999
commitTag: ${{ github.ref == 'refs/heads/main' && 'main' || format('pr{0}', github.event.pull_request.number) }}
100100
commitMessage: ${{ github.sha }}
101+
- name: Extract Worker ID
102+
id: extract-worker-id
103+
if: ${{ !steps.deploy.outputs.deployment-url }}
104+
run: |
105+
if [[ "${{ steps.deploy.outputs.command-output }}" =~ Worker\ Version\ ID:\ ([0-9a-f]{8})-([0-9a-f-]+) ]]; then
106+
WORKER_ID_FIRST_PART="${BASH_REMATCH[1]}"
107+
echo "worker-url=https://${WORKER_ID_FIRST_PART}-gitbook-open-v2-preview.gitbook.workers.dev/" >> $GITHUB_OUTPUT
108+
fi
101109
- name: Outputs
102110
run: |
103-
echo "URL: ${{ steps.deploy.outputs.deployment-url }}"
111+
echo "URL: ${{ steps.deploy.outputs.deployment-url || steps.extract-worker-id.outputs.worker-url }}"
104112
comment-deployments:
105113
runs-on: ubuntu-latest
106114
name: Comment Deployments (preview)
@@ -142,10 +150,10 @@ jobs:
142150
143151
### Test content
144152
145-
| Site | v1 | v2 |
146-
| --- | --- | --- |
147-
| 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) |
148-
| 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) |
153+
| Site | `v1` | `2v` | `2c` |
154+
| --- | --- | --- | --- |
155+
| 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) |
156+
| 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) |
149157
edit-mode: replace
150158
visual-testing-v1:
151159
runs-on: ubuntu-latest
@@ -187,11 +195,33 @@ jobs:
187195
SITE_BASE_URL: ${{ needs.deploy-v2-vercel.outputs.deployment-url }}/url/
188196
ARGOS_TOKEN: ${{ secrets.ARGOS_TOKEN }}
189197
ARGOS_BUILD_NAME: 'v2-vercel'
198+
visual-testing-v2-cloudflare:
199+
runs-on: ubuntu-latest
200+
name: Visual Testing v2 (Cloudflare)
201+
needs: deploy-v2-cloudflare
202+
timeout-minutes: 10
203+
if: startsWith(github.ref_name, 'cloudflare/')
204+
steps:
205+
- name: Checkout
206+
uses: actions/checkout@v4
207+
- name: Setup Bun
208+
uses: ./.github/composite/setup-bun
209+
- name: Install dependencies
210+
run: bun install --frozen-lockfile
211+
- name: Setup Playwright
212+
uses: ./.github/actions/setup-playwright
213+
- name: Run Playwright tests
214+
run: bun e2e
215+
env:
216+
BASE_URL: ${{ needs.deploy-v2-cloudflare.outputs.deployment-url }}
217+
SITE_BASE_URL: ${{ needs.deploy-v2-cloudflare.outputs.deployment-url }}/url/
218+
ARGOS_TOKEN: ${{ secrets.ARGOS_TOKEN }}
219+
ARGOS_BUILD_NAME: 'v2-cloudflare'
190220
visual-testing-customers-v1:
191221
runs-on: ubuntu-latest
192222
name: Visual Testing Customers v1
193223
needs: deploy-v1-cloudflare
194-
timeout-minutes: 6
224+
timeout-minutes: 8
195225
steps:
196226
- name: Checkout
197227
uses: actions/checkout@v4
@@ -211,7 +241,7 @@ jobs:
211241
runs-on: ubuntu-latest
212242
name: Visual Testing Customers v2
213243
needs: deploy-v2-vercel
214-
timeout-minutes: 6
244+
timeout-minutes: 8
215245
steps:
216246
- name: Checkout
217247
uses: actions/checkout@v4
@@ -228,6 +258,28 @@ jobs:
228258
SITE_BASE_URL: ${{ needs.deploy-v2-vercel.outputs.deployment-url }}/url/
229259
ARGOS_TOKEN: ${{ secrets.ARGOS_TOKEN }}
230260
ARGOS_BUILD_NAME: 'customers-v2'
261+
visual-testing-customers-v2-cloudflare:
262+
runs-on: ubuntu-latest
263+
name: Visual Testing Customers v2 (Cloudflare)
264+
needs: deploy-v2-cloudflare
265+
timeout-minutes: 8
266+
if: startsWith(github.ref_name, 'cloudflare/')
267+
steps:
268+
- name: Checkout
269+
uses: actions/checkout@v4
270+
- name: Setup Bun
271+
uses: ./.github/composite/setup-bun
272+
- name: Install dependencies
273+
run: bun install --frozen-lockfile
274+
- name: Setup Playwright
275+
uses: ./.github/actions/setup-playwright
276+
- name: Run Playwright tests
277+
run: bun e2e-customers
278+
env:
279+
BASE_URL: ${{ needs.deploy-v2-cloudflare.outputs.deployment-url }}
280+
SITE_BASE_URL: ${{ needs.deploy-v2-cloudflare.outputs.deployment-url }}/url/
281+
ARGOS_TOKEN: ${{ secrets.ARGOS_TOKEN }}
282+
ARGOS_BUILD_NAME: 'customers-v2'
231283
pagespeed-testing-v1:
232284
runs-on: ubuntu-latest
233285
name: PageSpeed Testing v1

0 commit comments

Comments
 (0)