diff --git a/.circleci/cache-version.txt b/.circleci/cache-version.txt index b7dd2f993977..deafa871233e 100644 --- a/.circleci/cache-version.txt +++ b/.circleci/cache-version.txt @@ -1,3 +1,3 @@ # Bump this version to force CI to re-create the cache from scratch. -10-02-24 +09-30-24-windows-patch-server-2022 diff --git a/.circleci/workflows.yml b/.circleci/workflows.yml index 720a59ff6689..e524e22e59cd 100644 --- a/.circleci/workflows.yml +++ b/.circleci/workflows.yml @@ -76,7 +76,7 @@ windowsWorkflowFilters: &windows-workflow-filters - equal: [ develop, << pipeline.git.branch >> ] # use the following branch as well to ensure that v8 snapshot cache updates are fully tested - equal: [ 'update-v8-snapshot-cache-on-develop', << pipeline.git.branch >> ] - - equal: [ 'misc/remove_marionette_for_geckodriver', << pipeline.git.branch >> ] + - equal: [ 'chore/patch_windows_build', << pipeline.git.branch >> ] - matches: pattern: /^release\/\d+\.\d+\.\d+$/ value: << pipeline.git.branch >> @@ -562,6 +562,9 @@ commands: browser: description: browser shortname to target type: string + executor: + description: the executor in use. Only used if Windows for workaround purposes + type: executor percy: description: enable percy type: boolean @@ -576,6 +579,16 @@ commands: default: '' steps: - restore_cached_workspace + # this is a temporary work around while we wait for circle to resolve issues with packages + # with an @ character in windows during save_cache. + # @see https://github.com/cypress-io/cypress/issues/30343 for more details. + - when: + condition: + equal: [ *windows-executor, << parameters.executor >> ] + steps: + - run: + name: reinstall dependencies to work around cache issue (Windows only) + command: rm -rf node_modules && yarn - windows-install-chrome: browser: <> - run: @@ -1305,6 +1318,16 @@ jobs: resource_class: << parameters.resource_class >> steps: - restore_cached_workspace + # this is a temporary work around while we wait for circle to resolve issues with packages + # with an @ character in windows during save_cache. + # @see https://github.com/cypress-io/cypress/issues/30343 for more details. + - when: + condition: + equal: [ *windows-executor, << parameters.executor >> ] + steps: + - run: + name: reinstall dependencies to work around cache issue (Windows only) + command: rm -rf node_modules && yarn - run: name: Top level packages command: yarn list --depth=0 || true @@ -1418,6 +1441,16 @@ jobs: steps: - restore_cached_workspace - restore_cached_system_tests_deps + # this is a temporary work around while we wait for circle to resolve issues with packages + # with an @ character in windows during save_cache. + # @see https://github.com/cypress-io/cypress/issues/30343 for more details. + - when: + condition: + equal: [ *windows-executor, << parameters.executor >> ] + steps: + - run: + name: reinstall dependencies to work around cache issue (Windows only) + command: rm -rf node_modules && yarn # TODO: Remove this once we switch off self-hosted M1 runners - when: condition: @@ -1463,6 +1496,16 @@ jobs: parallelism: 1 steps: - restore_cached_workspace + # this is a temporary work around while we wait for circle to resolve issues with packages + # with an @ character in windows during save_cache. + # @see https://github.com/cypress-io/cypress/issues/30343 for more details. + - when: + condition: + equal: [ *windows-executor, << parameters.executor >> ] + steps: + - run: + name: reinstall dependencies to work around cache issue (Windows only) + command: rm -rf node_modules && yarn - run: name: Driver memory tests in Electron environment: @@ -1583,6 +1626,16 @@ jobs: equal: [ *darwin-arm64-executor, << parameters.executor >> ] steps: - run: rm -f /tmp/cypress/junit/* + # this is a temporary work around while we wait for circle to resolve issues with packages + # with an @ character in windows during save_cache. + # @see https://github.com/cypress-io/cypress/issues/30343 for more details. + - when: + condition: + equal: [ *windows-executor, << parameters.executor >> ] + steps: + - run: + name: reinstall dependencies to work around cache issue (Windows only) + command: rm -rf node_modules && yarn - run: yarn workspace @packages/server test-unit cloud/environment_spec.ts - verify-mocha-results: expectedResultCount: 1 @@ -1728,6 +1781,7 @@ jobs: steps: - run-new-ui-tests: browser: chrome + executor: << parameters.executor >> percy: << parameters.percy >> package: frontend-shared type: ct @@ -1743,6 +1797,7 @@ jobs: steps: - run-new-ui-tests: browser: chrome + executor: << parameters.executor >> percy: << parameters.percy >> package: launchpad type: ct @@ -1763,6 +1818,7 @@ jobs: steps: - run-new-ui-tests: browser: chrome + executor: << parameters.executor >> percy: << parameters.percy >> package: launchpad type: e2e @@ -1781,6 +1837,7 @@ jobs: steps: - run-new-ui-tests: browser: chrome + executor: << parameters.executor >> percy: << parameters.percy >> package: app type: ct @@ -1800,6 +1857,7 @@ jobs: steps: - run-new-ui-tests: browser: chrome + executor: << parameters.executor >> percy: << parameters.percy >> package: app type: e2e @@ -1856,6 +1914,7 @@ jobs: steps: - run-new-ui-tests: browser: chrome + executor: << parameters.executor >> percy: << parameters.percy >> package: reporter type: ct @@ -2138,6 +2197,16 @@ jobs: resource_class: << parameters.resource_class >> steps: - restore_cached_workspace + # this is a temporary work around while we wait for circle to resolve issues with packages + # with an @ character in windows during save_cache. + # @see https://github.com/cypress-io/cypress/issues/30343 for more details. + - when: + condition: + equal: [ *windows-executor, << parameters.executor >> ] + steps: + - run: + name: reinstall dependencies to work around cache issue (Windows only) + command: rm -rf node_modules && yarn - check-if-binary-exists - build-and-package-binary - build-cypress-npm-package: