From c2f770ba63a1b72855a1e2778a337269f85301f0 Mon Sep 17 00:00:00 2001 From: Zach Bloomquist Date: Tue, 24 May 2022 15:44:09 -0400 Subject: [PATCH 01/10] test(launchpad): click vimeo video on windows --- packages/launchpad/cypress/e2e/migration.cy.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/launchpad/cypress/e2e/migration.cy.ts b/packages/launchpad/cypress/e2e/migration.cy.ts index 2870fff43fec..04e31c6a6275 100644 --- a/packages/launchpad/cypress/e2e/migration.cy.ts +++ b/packages/launchpad/cypress/e2e/migration.cy.ts @@ -144,7 +144,7 @@ describe('Opening unmigrated project', () => { cy.get('h1').should('contain', 'Migration') }) - it('migration landing page appears with a video', () => { + it.only('migration landing page appears with a video', () => { cy.intercept(/vimeo.com/).as('iframeDocRequest') cy.intercept(/vimeocdn/).as('vimeoCdnRequest') cy.scaffoldProject('migration') @@ -160,10 +160,15 @@ describe('Opening unmigrated project', () => { // Vimeo's implementation may change, this is just a high level check that // the expected iframe code is being returned and that there is vimeo-related network traffic - cy.get('[data-cy="video-container"] iframe[src*=vimeo]').should('be.visible') + cy.get('[data-cy="video-container"] iframe[src*=vimeo]').as('videoContainer').should('be.visible') cy.wait('@iframeDocRequest') + + // on Windows, the vimeo request does not happen unless the video starts playing + if (Cypress.platform === 'win32') cy.get('@videoContainer').click() + cy.wait('@vimeoCdnRequest') cy.percySnapshot() + cy.pause() }) it('landing page does not appear if there is no video embed code', () => { From e36be15ab2a9ea9d2a314d6200ff0de8e8a25412 Mon Sep 17 00:00:00 2001 From: Zach Bloomquist Date: Tue, 24 May 2022 16:17:08 -0400 Subject: [PATCH 02/10] try invoke --- packages/launchpad/cypress/e2e/migration.cy.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/launchpad/cypress/e2e/migration.cy.ts b/packages/launchpad/cypress/e2e/migration.cy.ts index 04e31c6a6275..181e6b0a7f2f 100644 --- a/packages/launchpad/cypress/e2e/migration.cy.ts +++ b/packages/launchpad/cypress/e2e/migration.cy.ts @@ -164,7 +164,7 @@ describe('Opening unmigrated project', () => { cy.wait('@iframeDocRequest') // on Windows, the vimeo request does not happen unless the video starts playing - if (Cypress.platform === 'win32') cy.get('@videoContainer').click() + if (Cypress.platform === 'win32') cy.get('@videoContainer').invoke('play') cy.wait('@vimeoCdnRequest') cy.percySnapshot() From 57911763502fe21d118be1dfdf0dabb53ee26145 Mon Sep 17 00:00:00 2001 From: Zach Bloomquist Date: Tue, 24 May 2022 16:38:59 -0400 Subject: [PATCH 03/10] skip vimeo test on windows --- packages/launchpad/cypress/e2e/migration.cy.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/launchpad/cypress/e2e/migration.cy.ts b/packages/launchpad/cypress/e2e/migration.cy.ts index 181e6b0a7f2f..10102d463c22 100644 --- a/packages/launchpad/cypress/e2e/migration.cy.ts +++ b/packages/launchpad/cypress/e2e/migration.cy.ts @@ -163,10 +163,10 @@ describe('Opening unmigrated project', () => { cy.get('[data-cy="video-container"] iframe[src*=vimeo]').as('videoContainer').should('be.visible') cy.wait('@iframeDocRequest') - // on Windows, the vimeo request does not happen unless the video starts playing - if (Cypress.platform === 'win32') cy.get('@videoContainer').invoke('play') + // For an unknown reason, recaptcha blocks us from loading Vimeo on CircleCI Windows only + // So only wait on the Vimeo CDN request on Linux/Darwin. + if (Cypress.platform !== 'win32') cy.wait('@vimeoCdnRequest') - cy.wait('@vimeoCdnRequest') cy.percySnapshot() cy.pause() }) From 778cc3bdd20e959e6483611a1caf2181f91ecaeb Mon Sep 17 00:00:00 2001 From: Zach Bloomquist Date: Tue, 24 May 2022 16:49:10 -0400 Subject: [PATCH 04/10] rm .only --- packages/launchpad/cypress/e2e/migration.cy.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/launchpad/cypress/e2e/migration.cy.ts b/packages/launchpad/cypress/e2e/migration.cy.ts index 10102d463c22..5ecde42a0cb8 100644 --- a/packages/launchpad/cypress/e2e/migration.cy.ts +++ b/packages/launchpad/cypress/e2e/migration.cy.ts @@ -144,7 +144,7 @@ describe('Opening unmigrated project', () => { cy.get('h1').should('contain', 'Migration') }) - it.only('migration landing page appears with a video', () => { + it('migration landing page appears with a video', () => { cy.intercept(/vimeo.com/).as('iframeDocRequest') cy.intercept(/vimeocdn/).as('vimeoCdnRequest') cy.scaffoldProject('migration') From d556719626d372150467694642863f0abb95d84c Mon Sep 17 00:00:00 2001 From: Zach Bloomquist Date: Tue, 24 May 2022 16:52:37 -0400 Subject: [PATCH 05/10] run some windows jobs on all PRs --- circle.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/circle.yml b/circle.yml index 9d486652dbd2..828ceaa6743a 100644 --- a/circle.yml +++ b/circle.yml @@ -2542,12 +2542,14 @@ mac-workflow: &mac-workflow windows-workflow: &windows-workflow jobs: - node_modules_install: + <<: *windows-workflow-filters name: windows-node-modules-install executor: windows resource_class: windows.medium only-cache-for-root-user: true - build: + <<: *windows-workflow-filters name: windows-build context: test-runner:env-canary executor: windows @@ -2555,7 +2557,9 @@ windows-workflow: &windows-workflow requires: - windows-node-modules-install + - run-app-integration-tests-chrome: + <<: *windows-workflow-filters name: windows-run-app-integration-tests-chrome executor: windows resource_class: windows.medium @@ -2564,6 +2568,7 @@ windows-workflow: &windows-workflow - windows-build - run-launchpad-integration-tests-chrome: + <<: *windows-workflow-filters name: windows-run-launchpad-integration-tests-chrome executor: windows resource_class: windows.medium @@ -2609,4 +2614,3 @@ workflows: <<: *mac-workflow-filters windows: <<: *windows-workflow - <<: *windows-workflow-filters From c335c9db8ae2ad0eb55643e36585a84845de43cf Mon Sep 17 00:00:00 2001 From: Zach Bloomquist Date: Tue, 24 May 2022 16:57:41 -0400 Subject: [PATCH 06/10] run windows ci on all PRs --- circle.yml | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/circle.yml b/circle.yml index 828ceaa6743a..0c15dcd837ac 100644 --- a/circle.yml +++ b/circle.yml @@ -52,16 +52,13 @@ macWorkflowFilters: &mac-workflow-filters value: << pipeline.git.branch >> windowsWorkflowFilters: &windows-workflow-filters - when: - or: - - equal: [ develop, << pipeline.git.branch >> ] - - equal: [ '10.0-release', << pipeline.git.branch >> ] - - matches: - pattern: "-release$" - value: << pipeline.git.branch >> - - matches: - pattern: "win*" - value: << pipeline.git.branch >> + filters: + branches: + only: + - develop + - '10.0-release' + - '*-release' + - 'win*' executors: # the Docker image with Cypress dependencies and Chrome browser From 5a5c5d29d5267b8eaa35dd3a92365ce20a32e902 Mon Sep 17 00:00:00 2001 From: Zach Bloomquist Date: Tue, 24 May 2022 16:58:40 -0400 Subject: [PATCH 07/10] invert filter --- circle.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/circle.yml b/circle.yml index 0c15dcd837ac..0d4b078b4208 100644 --- a/circle.yml +++ b/circle.yml @@ -2539,14 +2539,12 @@ mac-workflow: &mac-workflow windows-workflow: &windows-workflow jobs: - node_modules_install: - <<: *windows-workflow-filters name: windows-node-modules-install executor: windows resource_class: windows.medium only-cache-for-root-user: true - build: - <<: *windows-workflow-filters name: windows-build context: test-runner:env-canary executor: windows @@ -2556,7 +2554,6 @@ windows-workflow: &windows-workflow - run-app-integration-tests-chrome: - <<: *windows-workflow-filters name: windows-run-app-integration-tests-chrome executor: windows resource_class: windows.medium @@ -2565,7 +2562,6 @@ windows-workflow: &windows-workflow - windows-build - run-launchpad-integration-tests-chrome: - <<: *windows-workflow-filters name: windows-run-launchpad-integration-tests-chrome executor: windows resource_class: windows.medium @@ -2574,12 +2570,14 @@ windows-workflow: &windows-workflow - windows-build - lint: + <<: *windows-workflow-filters name: windows-lint executor: windows requires: - windows-build - unit-tests: + <<: *windows-workflow-filters name: windows-unit-tests executor: windows resource_class: windows.medium @@ -2587,6 +2585,7 @@ windows-workflow: &windows-workflow - windows-build - create-build-artifacts: + <<: *windows-workflow-filters name: windows-create-build-artifacts executor: windows resource_class: windows.medium From 929c316a6a21c4ea73a49b67c8311829543ce0ff Mon Sep 17 00:00:00 2001 From: Zach Bloomquist Date: Tue, 24 May 2022 17:01:01 -0400 Subject: [PATCH 08/10] comments --- circle.yml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/circle.yml b/circle.yml index 0dd8d9722d0a..f7efa213fbd2 100644 --- a/circle.yml +++ b/circle.yml @@ -50,7 +50,9 @@ macWorkflowFilters: &mac-workflow-filters pattern: "-release$" value: << pipeline.git.branch >> -windowsWorkflowExcludeFilters: &windows-workflow-exclude-filters +# windows is slow in CI, so we only run a certain set of tests on each commit +# add your branch to this list to run the full Windows build on your PR +fullWindowsWorkflowFilters: &full-windows-workflow-filters filters: branches: only: @@ -2569,14 +2571,14 @@ windows-workflow: &windows-workflow - windows-build - lint: - <<: *windows-workflow-exclude-filters + <<: *full-windows-workflow-filters name: windows-lint executor: windows requires: - windows-build - unit-tests: - <<: *windows-workflow-exclude-filters + <<: *full-windows-workflow-filters name: windows-unit-tests executor: windows resource_class: windows.medium @@ -2584,7 +2586,7 @@ windows-workflow: &windows-workflow - windows-build - create-build-artifacts: - <<: *windows-workflow-exclude-filters + <<: *full-windows-workflow-filters name: windows-create-build-artifacts executor: windows resource_class: windows.medium From 0fa72fe469ad60cec8460f13346e830110eed6a7 Mon Sep 17 00:00:00 2001 From: Zach Bloomquist Date: Tue, 24 May 2022 17:02:30 -0400 Subject: [PATCH 09/10] cleanup --- circle.yml | 1 - packages/launchpad/cypress/e2e/migration.cy.ts | 1 - 2 files changed, 2 deletions(-) diff --git a/circle.yml b/circle.yml index f7efa213fbd2..669824c1d034 100644 --- a/circle.yml +++ b/circle.yml @@ -2553,7 +2553,6 @@ windows-workflow: &windows-workflow requires: - windows-node-modules-install - - run-app-integration-tests-chrome: name: windows-run-app-integration-tests-chrome executor: windows diff --git a/packages/launchpad/cypress/e2e/migration.cy.ts b/packages/launchpad/cypress/e2e/migration.cy.ts index 4a9c9b3323d9..7cb2f8d7e9d7 100644 --- a/packages/launchpad/cypress/e2e/migration.cy.ts +++ b/packages/launchpad/cypress/e2e/migration.cy.ts @@ -169,7 +169,6 @@ describe('Opening unmigrated project', () => { if (Cypress.platform !== 'win32') cy.wait('@vimeoCdnRequest') cy.percySnapshot() - cy.pause() }) it('landing page does not appear if there is no video embed code', () => { From 916db8a230327a796de9d4e787fde3795e5a4a1b Mon Sep 17 00:00:00 2001 From: Zach Bloomquist Date: Tue, 24 May 2022 21:48:09 +0000 Subject: [PATCH 10/10] Update packages/launchpad/cypress/e2e/migration.cy.ts Co-authored-by: Tyler Biethman --- packages/launchpad/cypress/e2e/migration.cy.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/launchpad/cypress/e2e/migration.cy.ts b/packages/launchpad/cypress/e2e/migration.cy.ts index 7cb2f8d7e9d7..24732068c2c3 100644 --- a/packages/launchpad/cypress/e2e/migration.cy.ts +++ b/packages/launchpad/cypress/e2e/migration.cy.ts @@ -161,7 +161,7 @@ describe('Opening unmigrated project', () => { // Vimeo's implementation may change, this is just a high level check that // the expected iframe code is being returned and that there is vimeo-related network traffic - cy.get('[data-cy="video-container"] iframe[src*=vimeo]').as('videoContainer').should('be.visible') + cy.get('[data-cy="video-container"] iframe[src*=vimeo]').should('be.visible') cy.wait('@iframeDocRequest') // For an unknown reason, recaptcha blocks us from loading Vimeo on CircleCI Windows only