Skip to content

Commit b14a85e

Browse files
adrians5jclaude
andauthored
test(e2e): move the installation test to e2e and remove Cypress (6.5.0) (#6013)
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
1 parent c795e02 commit b14a85e

119 files changed

Lines changed: 568 additions & 8019 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.github/workflows/pullRequests.yml‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -259,8 +259,8 @@ jobs:
259259
- name: Install dependencies
260260
run: yarn --immutable
261261
working-directory: ${{ github.base_ref }}
262-
- name: Check types for Cypress tests
263-
run: yarn cy:ts
262+
- name: Check types for E2E tests
263+
run: yarn e2e:ts
264264
working-directory: ${{ github.base_ref }}
265265
env:
266266
NODE_OPTIONS: '--max_old_space_size=4096'

‎.github/workflows/pullRequestsCommandE2e.yml‎

Lines changed: 35 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ jobs:
3333
with:
3434
issue-number: ${{ github.event.issue.number }}
3535
body: >-
36-
Cypress E2E tests have been initiated (for more information, click
36+
E2E tests have been initiated (for more information, click
3737
[here](https://github.com/webiny/webiny-js/actions/runs/${{
3838
github.run_id }})). :sparkles:
3939
@@ -148,7 +148,6 @@ jobs:
148148
- build
149149
name: Constants - DDB
150150
outputs:
151-
cypress-folders: ${{ steps.list-cypress-folders.outputs.cypress-folders }}
152151
pulumi-backend-url: ${{ steps.pulumi-backend-url.outputs.pulumi-backend-url }}
153152
steps:
154153
- uses: actions/setup-node@v5
@@ -162,12 +161,6 @@ jobs:
162161
run: gh pr checkout ${{ github.event.issue.number }}
163162
env:
164163
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
165-
- name: List Cypress tests folders
166-
id: list-cypress-folders
167-
run: >-
168-
echo "cypress-folders=$(node scripts/listCypressTestsFolders.js)" >>
169-
$GITHUB_OUTPUT
170-
working-directory: ${{ needs.baseBranch.outputs.base-branch }}
171164
- name: Get Pulumi backend URL
172165
id: get-pulumi-backend-url
173166
run: >-
@@ -184,13 +177,10 @@ jobs:
184177
- e2e-wby-cms-ddb-constants
185178
- checkComment
186179
name: E2E (DDB) - Project setup
187-
outputs:
188-
cypress-config: ${{ steps.save-cypress-config.outputs.cypress-config }}
189180
environment: next
190181
env:
191182
NODE_OPTIONS: '--max_old_space_size=4096'
192183
YARN_ENABLE_IMMUTABLE_INSTALLS: false
193-
CYPRESS_MAILOSAUR_API_KEY: ${{ secrets.CYPRESS_MAILOSAUR_API_KEY }}
194184
PULUMI_CONFIG_PASSPHRASE: ${{ secrets.PULUMI_CONFIG_PASSPHRASE }}
195185
PULUMI_SECRETS_PROVIDER: ${{ secrets.PULUMI_SECRETS_PROVIDER }}
196186
WEBINY_PULUMI_BACKEND: ${{ needs.e2e-wby-cms-ddb-constants.outputs.pulumi-backend-url }}
@@ -313,23 +303,24 @@ jobs:
313303
314304
gh api repos/${{ github.repository }}/issues/comments/$COMMENT_ID -X
315305
PATCH --field body=@/tmp/comment.txt
316-
- name: Create Cypress config
317-
run: yarn setup-cypress --projectFolder ../new-webiny-project
318-
working-directory: ${{ needs.baseBranch.outputs.base-branch }}
319-
- name: Save Cypress config
320-
id: save-cypress-config
321-
run: >-
322-
echo "cypress-config=$(cat cypress-tests/cypress.config.ts | tr -d
323-
'\t\n\r')" >> $GITHUB_OUTPUT
324-
working-directory: ${{ needs.baseBranch.outputs.base-branch }}
325-
- name: Install Cypress binary
326-
run: cd cypress-tests && yarn cypress install
327-
working-directory: ${{ needs.baseBranch.outputs.base-branch }}
328-
- name: Cypress - run installation wizard test
329-
run: >-
330-
yarn cy:run --browser chrome --spec
331-
"cypress/e2e/adminInstallation/**/*.cy.js"
306+
- name: E2E - run installation wizard test
332307
working-directory: ${{ needs.baseBranch.outputs.base-branch }}
308+
env:
309+
E2E_ADMIN_URL: ${{ steps.admin-url.outputs.admin-url }}
310+
E2E_INSTALLATION: '1'
311+
E2E_TELEMETRY_DISABLED: '1'
312+
run: |-
313+
yarn workspace e2e-tests playwright install --with-deps chromium
314+
yarn e2e --tag installation
315+
- name: E2E - upload installation test results
316+
if: failure()
317+
uses: actions/upload-artifact@v6
318+
with:
319+
name: e2e-results-ddb
320+
retention-days: 7
321+
if-no-files-found: ignore
322+
include-hidden-files: true
323+
path: ${{ needs.baseBranch.outputs.base-branch }}/e2e/.e2e
333324
runs-on: ubuntu-latest
334325
permissions:
335326
id-token: write
@@ -340,7 +331,6 @@ jobs:
340331
- build
341332
name: Constants - DDB-OS
342333
outputs:
343-
cypress-folders: ${{ steps.list-cypress-folders.outputs.cypress-folders }}
344334
pulumi-backend-url: ${{ steps.pulumi-backend-url.outputs.pulumi-backend-url }}
345335
steps:
346336
- uses: actions/setup-node@v5
@@ -354,12 +344,6 @@ jobs:
354344
run: gh pr checkout ${{ github.event.issue.number }}
355345
env:
356346
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
357-
- name: List Cypress tests folders
358-
id: list-cypress-folders
359-
run: >-
360-
echo "cypress-folders=$(node scripts/listCypressTestsFolders.js)" >>
361-
$GITHUB_OUTPUT
362-
working-directory: ${{ needs.baseBranch.outputs.base-branch }}
363347
- name: Get Pulumi backend URL
364348
id: get-pulumi-backend-url
365349
run: >-
@@ -376,13 +360,10 @@ jobs:
376360
- e2e-wby-cms-ddb-os-constants
377361
- checkComment
378362
name: E2E (DDB-OS) - Project setup
379-
outputs:
380-
cypress-config: ${{ steps.save-cypress-config.outputs.cypress-config }}
381363
environment: next
382364
env:
383365
NODE_OPTIONS: '--max_old_space_size=4096'
384366
YARN_ENABLE_IMMUTABLE_INSTALLS: false
385-
CYPRESS_MAILOSAUR_API_KEY: ${{ secrets.CYPRESS_MAILOSAUR_API_KEY }}
386367
PULUMI_CONFIG_PASSPHRASE: ${{ secrets.PULUMI_CONFIG_PASSPHRASE }}
387368
PULUMI_SECRETS_PROVIDER: ${{ secrets.PULUMI_SECRETS_PROVIDER }}
388369
WEBINY_PULUMI_BACKEND: ${{ needs.e2e-wby-cms-ddb-os-constants.outputs.pulumi-backend-url }}
@@ -526,23 +507,24 @@ jobs:
526507
527508
gh api repos/${{ github.repository }}/issues/comments/$COMMENT_ID -X
528509
PATCH --field body=@/tmp/comment.txt
529-
- name: Create Cypress config
530-
run: yarn setup-cypress --projectFolder ../new-webiny-project
531-
working-directory: ${{ needs.baseBranch.outputs.base-branch }}
532-
- name: Save Cypress config
533-
id: save-cypress-config
534-
run: >-
535-
echo "cypress-config=$(cat cypress-tests/cypress.config.ts | tr -d
536-
'\t\n\r')" >> $GITHUB_OUTPUT
537-
working-directory: ${{ needs.baseBranch.outputs.base-branch }}
538-
- name: Install Cypress binary
539-
run: cd cypress-tests && yarn cypress install
540-
working-directory: ${{ needs.baseBranch.outputs.base-branch }}
541-
- name: Cypress - run installation wizard test
542-
run: >-
543-
yarn cy:run --browser chrome --spec
544-
"cypress/e2e/adminInstallation/**/*.cy.js"
510+
- name: E2E - run installation wizard test
545511
working-directory: ${{ needs.baseBranch.outputs.base-branch }}
512+
env:
513+
E2E_ADMIN_URL: ${{ steps.admin-url.outputs.admin-url }}
514+
E2E_INSTALLATION: '1'
515+
E2E_TELEMETRY_DISABLED: '1'
516+
run: |-
517+
yarn workspace e2e-tests playwright install --with-deps chromium
518+
yarn e2e --tag installation
519+
- name: E2E - upload installation test results
520+
if: failure()
521+
uses: actions/upload-artifact@v6
522+
with:
523+
name: e2e-results-ddb-os
524+
retention-days: 7
525+
if-no-files-found: ignore
526+
include-hidden-files: true
527+
path: ${{ needs.baseBranch.outputs.base-branch }}/e2e/.e2e
546528
runs-on: ubuntu-latest
547529
permissions:
548530
id-token: write

‎.github/workflows/push.yml‎

Lines changed: 46 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -159,8 +159,8 @@ jobs:
159159
- name: Install dependencies
160160
run: yarn --immutable
161161
working-directory: v6
162-
- name: Check types for Cypress tests
163-
run: yarn cy:ts
162+
- name: Check types for E2E tests
163+
run: yarn e2e:ts
164164
working-directory: v6
165165
env:
166166
NODE_OPTIONS: '--max_old_space_size=4096'
@@ -494,18 +494,12 @@ jobs:
494494
needs:
495495
- build
496496
outputs:
497-
cypress-folders: ${{ steps.list-cypress-folders.outputs.cypress-folders }}
498497
pulumi-backend-url: ${{ steps.pulumi-backend-url.outputs.pulumi-backend-url }}
499498
steps:
500499
- uses: actions/setup-node@v5
501500
with:
502501
node-version: 24
503502
- uses: actions/checkout@v5
504-
- name: List Cypress tests folders
505-
id: list-cypress-folders
506-
run: >-
507-
echo "cypress-folders=$(node scripts/listCypressTestsFolders.js)" >>
508-
$GITHUB_OUTPUT
509503
- name: Get Pulumi backend URL
510504
id: get-pulumi-backend-url
511505
run: >-
@@ -522,13 +516,10 @@ jobs:
522516
- e2eTests-ddb-constants
523517
runs-on: webiny-build-packages
524518
name: E2E (DDB) - Project setup
525-
outputs:
526-
cypress-config: ${{ steps.save-cypress-config.outputs.cypress-config }}
527519
environment: next
528520
env:
529521
NODE_OPTIONS: '--max_old_space_size=4096'
530522
YARN_ENABLE_IMMUTABLE_INSTALLS: 'false'
531-
CYPRESS_MAILOSAUR_API_KEY: ${{ secrets.CYPRESS_MAILOSAUR_API_KEY }}
532523
PULUMI_CONFIG_PASSPHRASE: ${{ secrets.PULUMI_CONFIG_PASSPHRASE }}
533524
PULUMI_SECRETS_PROVIDER: ${{ secrets.PULUMI_SECRETS_PROVIDER }}
534525
WEBINY_PULUMI_BACKEND: ${{ needs.e2eTests-ddb-constants.outputs.pulumi-backend-url }}
@@ -626,42 +617,43 @@ jobs:
626617
- name: Deploy Admin Area
627618
working-directory: new-webiny-project
628619
run: yarn webiny deploy admin --env dev
629-
- name: Create Cypress config
630-
run: yarn setup-cypress --projectFolder ../new-webiny-project
631-
working-directory: v6
632-
- name: Save Cypress config
633-
id: save-cypress-config
634-
run: >-
635-
echo "cypress-config=$(cat cypress-tests/cypress.config.ts | tr -d
636-
'\t\n\r')" >> $GITHUB_OUTPUT
637-
working-directory: v6
638-
- name: Install Cypress binary
639-
run: cd cypress-tests && yarn cypress install
640-
working-directory: v6
641-
- name: Cypress - run installation wizard test
620+
- name: Extract admin app URL
621+
id: admin-url
622+
working-directory: new-webiny-project
642623
run: >-
643-
yarn cy:run --browser chrome --spec
644-
"cypress/e2e/adminInstallation/**/*.cy.js"
624+
echo "admin-url=$(yarn webiny output admin --env dev --json
625+
2>/dev/null | jq -r '.appUrl // empty')" >> $GITHUB_OUTPUT
626+
- name: E2E - run installation wizard test
645627
working-directory: v6
628+
env:
629+
E2E_ADMIN_URL: ${{ steps.admin-url.outputs.admin-url }}
630+
E2E_INSTALLATION: '1'
631+
E2E_TELEMETRY_DISABLED: '1'
632+
run: |-
633+
yarn workspace e2e-tests playwright install --with-deps chromium
634+
yarn e2e --tag installation
635+
- name: E2E - upload installation test results
636+
if: failure()
637+
uses: actions/upload-artifact@v6
638+
with:
639+
name: e2e-results-ddb
640+
retention-days: 7
641+
if-no-files-found: ignore
642+
include-hidden-files: true
643+
path: v6/e2e/.e2e
646644
permissions:
647645
id-token: write
648646
e2eTests-ddb-os-constants:
649647
name: E2E (DDB+OS) - Constants
650648
needs:
651649
- build
652650
outputs:
653-
cypress-folders: ${{ steps.list-cypress-folders.outputs.cypress-folders }}
654651
pulumi-backend-url: ${{ steps.pulumi-backend-url.outputs.pulumi-backend-url }}
655652
steps:
656653
- uses: actions/setup-node@v5
657654
with:
658655
node-version: 24
659656
- uses: actions/checkout@v5
660-
- name: List Cypress tests folders
661-
id: list-cypress-folders
662-
run: >-
663-
echo "cypress-folders=$(node scripts/listCypressTestsFolders.js)" >>
664-
$GITHUB_OUTPUT
665657
- name: Get Pulumi backend URL
666658
id: get-pulumi-backend-url
667659
run: >-
@@ -678,13 +670,10 @@ jobs:
678670
- e2eTests-ddb-os-constants
679671
runs-on: webiny-build-packages
680672
name: E2E (DDB+OS) - Project setup
681-
outputs:
682-
cypress-config: ${{ steps.save-cypress-config.outputs.cypress-config }}
683673
environment: next
684674
env:
685675
NODE_OPTIONS: '--max_old_space_size=4096'
686676
YARN_ENABLE_IMMUTABLE_INSTALLS: 'false'
687-
CYPRESS_MAILOSAUR_API_KEY: ${{ secrets.CYPRESS_MAILOSAUR_API_KEY }}
688677
PULUMI_CONFIG_PASSPHRASE: ${{ secrets.PULUMI_CONFIG_PASSPHRASE }}
689678
PULUMI_SECRETS_PROVIDER: ${{ secrets.PULUMI_SECRETS_PROVIDER }}
690679
WEBINY_PULUMI_BACKEND: ${{ needs.e2eTests-ddb-os-constants.outputs.pulumi-backend-url }}
@@ -803,22 +792,29 @@ jobs:
803792
&& echo "$OUTPUT" | jq -e '.databaseSetup == "ddb+os"' || (echo
804793
"ERROR: Expected databaseSetup to be 'ddb+os' but got a different
805794
value" && exit 1)
806-
- name: Create Cypress config
807-
run: yarn setup-cypress --projectFolder ../new-webiny-project
808-
working-directory: v6
809-
- name: Save Cypress config
810-
id: save-cypress-config
811-
run: >-
812-
echo "cypress-config=$(cat cypress-tests/cypress.config.ts | tr -d
813-
'\t\n\r')" >> $GITHUB_OUTPUT
814-
working-directory: v6
815-
- name: Install Cypress binary
816-
run: cd cypress-tests && yarn cypress install
817-
working-directory: v6
818-
- name: Cypress - run installation wizard test
795+
- name: Extract admin app URL
796+
id: admin-url
797+
working-directory: new-webiny-project
819798
run: >-
820-
yarn cy:run --browser chrome --spec
821-
"cypress/e2e/adminInstallation/**/*.cy.js"
799+
echo "admin-url=$(yarn webiny output admin --env dev --json
800+
2>/dev/null | jq -r '.appUrl // empty')" >> $GITHUB_OUTPUT
801+
- name: E2E - run installation wizard test
822802
working-directory: v6
803+
env:
804+
E2E_ADMIN_URL: ${{ steps.admin-url.outputs.admin-url }}
805+
E2E_INSTALLATION: '1'
806+
E2E_TELEMETRY_DISABLED: '1'
807+
run: |-
808+
yarn workspace e2e-tests playwright install --with-deps chromium
809+
yarn e2e --tag installation
810+
- name: E2E - upload installation test results
811+
if: failure()
812+
uses: actions/upload-artifact@v6
813+
with:
814+
name: e2e-results-ddb-os
815+
retention-days: 7
816+
if-no-files-found: ignore
817+
include-hidden-files: true
818+
path: v6/e2e/.e2e
823819
permissions:
824820
id-token: write

0 commit comments

Comments
 (0)