diff --git a/.circleci/cache-version.txt b/.circleci/cache-version.txt index d23a670a8a9f..36b5b0fd6622 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. -04-8-24 +04-15-24-macstadium-3 diff --git a/.circleci/workflows.yml b/.circleci/workflows.yml index 2f5294e5c180..393cebfed786 100644 --- a/.circleci/workflows.yml +++ b/.circleci/workflows.yml @@ -45,7 +45,7 @@ macWorkflowFilters: &darwin-workflow-filters - equal: [ 'update-v8-snapshot-cache-on-develop', << pipeline.git.branch >> ] - equal: [ 'cacie/dep/electron-27', << pipeline.git.branch >> ] - equal: [ 'feat/protocol_shadow_dom_support', << pipeline.git.branch >> ] - - equal: [ 'ryanm/fix/service-worker-capture', << pipeline.git.branch >> ] + - equal: [ 'chore/move_off_circle_to_macstadium_amd64', << pipeline.git.branch >> ] - matches: pattern: /^release\/\d+\.\d+\.\d+$/ value: << pipeline.git.branch >> @@ -58,7 +58,7 @@ linuxArm64WorkflowFilters: &linux-arm64-workflow-filters - equal: [ 'update-v8-snapshot-cache-on-develop', << pipeline.git.branch >> ] - equal: [ 'cacie/dep/electron-27', << pipeline.git.branch >> ] - equal: [ 'feat/protocol_shadow_dom_support', << pipeline.git.branch >> ] - - equal: [ 'em/circle2', << pipeline.git.branch >> ] + - equal: [ 'chore/move_off_circle_to_macstadium_amd64', << pipeline.git.branch >> ] - matches: pattern: /^release\/\d+\.\d+\.\d+$/ value: << pipeline.git.branch >> @@ -84,7 +84,7 @@ windowsWorkflowFilters: &windows-workflow-filters - equal: [ 'cacie/dep/electron-27', << pipeline.git.branch >> ] - equal: [ 'feat/protocol_shadow_dom_support', << pipeline.git.branch >> ] - equal: [ 'lerna-optimize-tasks', << pipeline.git.branch >> ] - - equal: [ 'chore/reduce_windows_flake', << pipeline.git.branch >> ] + - equal: [ 'chore/move_off_circle_to_macstadium_amd64', << pipeline.git.branch >> ] - matches: pattern: /^release\/\d+\.\d+\.\d+$/ value: << pipeline.git.branch >> @@ -111,11 +111,8 @@ executors: # executor to run on Mac OS # https://circleci.com/docs/2.0/executor-types/#using-macos # https://circleci.com/docs/2.0/testing-ios/#supported-xcode-versions - mac: - macos: - # Executor should have Node >= required version - xcode: "14.0.1" - resource_class: macos.x86.medium.gen2 + darwin-amd64: + machine: true environment: PLATFORM: darwin @@ -154,7 +151,7 @@ commands: name: Set environment variable to determine whether or not to persist artifacts command: | echo "Setting SHOULD_PERSIST_ARTIFACTS variable" - echo 'if ! [[ "$CIRCLE_BRANCH" != "develop" && "$CIRCLE_BRANCH" != "release/"* && "$CIRCLE_BRANCH" != "publish-binary" && "$CIRCLE_BRANCH" != "feat/protocol_shadow_dom_support" && "$CIRCLE_BRANCH" != "cacie/dep/electron-27" ]]; then + echo 'if ! [[ "$CIRCLE_BRANCH" != "develop" && "$CIRCLE_BRANCH" != "release/"* && "$CIRCLE_BRANCH" != "publish-binary" && "$CIRCLE_BRANCH" != "feat/protocol_shadow_dom_support" && "$CIRCLE_BRANCH" != "chore/move_off_circle_to_macstadium_amd64" ]]; then export SHOULD_PERSIST_ARTIFACTS=true fi' >> "$BASH_ENV" # You must run `setup_should_persist_artifacts` command and be using bash before running this command @@ -2262,6 +2259,7 @@ jobs: resource_class: type: string default: medium+ + resource_class: << parameters.resource_class >> steps: - restore_cached_workspace - clone-repo-and-checkout-branch: @@ -3364,15 +3362,15 @@ darwin-x64-workflow: &darwin-x64-workflow jobs: - node_modules_install: name: darwin-x64-node-modules-install - executor: mac - resource_class: macos.x86.medium.gen2 + executor: darwin-amd64 + resource_class: cypress-io/intel-macstadium only-cache-for-root-user: true - build: name: darwin-x64-build context: test-runner:env-canary - executor: mac - resource_class: macos.x86.medium.gen2 + executor: darwin-amd64 + resource_class: cypress-io/intel-macstadium requires: - darwin-x64-node-modules-install @@ -3383,33 +3381,29 @@ darwin-x64-workflow: &darwin-x64-workflow - test-runner:upload - test-runner:commit-status-checks - test-runner:build-binary - executor: mac - resource_class: macos.x86.medium.gen2 - requires: - - darwin-x64-build - - - test-kitchensink: - name: darwin-x64-test-kitchensink - executor: mac + executor: darwin-amd64 + resource_class: cypress-io/intel-macstadium requires: - darwin-x64-build - v8-integration-tests: name: darwin-x64-v8-integration-tests - executor: mac - resource_class: macos.x86.medium.gen2 + executor: darwin-amd64 + resource_class: cypress-io/intel-macstadium requires: - darwin-x64-build + - driver-integration-memory-tests: name: darwin-x64-driver-integration-memory-tests - executor: mac - resource_class: macos.x86.medium.gen2 + executor: darwin-amd64 + resource_class: cypress-io/intel-macstadium requires: - darwin-x64-build + - server-unit-tests-cloud-environment: name: darwin-x64-driver-server-unit-tests-cloud-environment - executor: mac - resource_class: macos.x86.medium.gen2 + executor: darwin-amd64 + resource_class: cypress-io/intel-macstadium requires: - darwin-x64-build diff --git a/cli/CHANGELOG.md b/cli/CHANGELOG.md index b9b541bd3bd8..d0d6538e0fbd 100644 --- a/cli/CHANGELOG.md +++ b/cli/CHANGELOG.md @@ -1,4 +1,12 @@ +## 13.7.4 + +_Released 4/16/2024 (PENDING)_ + +**Misc:** + +- We now capture the [Semaphore](https://semaphoreci.com/) CI provider's environment variable [`SEMAPHORE_GIT_PR_NUMBER`](https://docs.semaphoreci.com/ci-cd-environment/environment-variables/#semaphore_git_pr_number) to display the linked PR number in the Cloud. Addressed in [#29314](https://github.com/cypress-io/cypress/pull/29314). + ## 13.7.3 _Released 4/11/2024_ diff --git a/packages/app/cypress/e2e/runner/cloud-debug-filter.cy.ts b/packages/app/cypress/e2e/runner/cloud-debug-filter.cy.ts index 7300d728277b..5738e966ca69 100644 --- a/packages/app/cypress/e2e/runner/cloud-debug-filter.cy.ts +++ b/packages/app/cypress/e2e/runner/cloud-debug-filter.cy.ts @@ -106,7 +106,7 @@ describe('cloud debug test filtering', () => { cy.get('.debug-dismiss').contains('2 / 4 tests').click().waitForSpecToFinish() - // suite.only is respected + // suite only is respected cy.withCtx((ctx) => { ctx.coreData.cloudProject.testsForRunResults = { 'cypress/e2e/skip-and-only.cy.js': ['t3', 's1 t4'], diff --git a/packages/proxy/test/unit/http/request-middleware.spec.ts b/packages/proxy/test/unit/http/request-middleware.spec.ts index 604dbcffd60d..9c43666e0355 100644 --- a/packages/proxy/test/unit/http/request-middleware.spec.ts +++ b/packages/proxy/test/unit/http/request-middleware.spec.ts @@ -83,7 +83,7 @@ describe('http/request-middleware', () => { expect(ctx.req.headers!['x-cypress-is-from-extra-target']).not.to.exist expect(ctx.req.isFromExtraTarget).to.be.true - expect(ctx.onlyRunMiddleware).to.be.calledWith(['MaybeSetBasicAuthHeaders', 'SendRequestOutgoing']) + expect(ctx['onlyRunMiddleware']).to.be.calledWith(['MaybeSetBasicAuthHeaders', 'SendRequestOutgoing']) }) it('when it does not exist, removes header and sets in on the req', async () => { diff --git a/packages/proxy/test/unit/http/response-middleware.spec.ts b/packages/proxy/test/unit/http/response-middleware.spec.ts index b41de4996205..cb98c06db7f8 100644 --- a/packages/proxy/test/unit/http/response-middleware.spec.ts +++ b/packages/proxy/test/unit/http/response-middleware.spec.ts @@ -127,7 +127,7 @@ describe('http/response-middleware', function () { .then(() => { expect(ctx.res.set).to.be.calledWith(headers) - expect(ctx.onlyRunMiddleware).to.be.calledWith([ + expect(ctx['onlyRunMiddleware']).to.be.calledWith([ 'AttachPlainTextStreamFn', 'PatchExpressSetHeader', 'MaybeSendRedirectToClient', @@ -144,7 +144,7 @@ describe('http/response-middleware', function () { return testMiddleware([FilterNonProxiedResponse], ctx) .then(() => { - expect(ctx.onlyRunMiddleware).not.to.be.called + expect(ctx['onlyRunMiddleware']).not.to.be.called }) }) }) diff --git a/packages/server/lib/util/ci_provider.js b/packages/server/lib/util/ci_provider.js index 35990f6c2b84..927ce53e8714 100644 --- a/packages/server/lib/util/ci_provider.js +++ b/packages/server/lib/util/ci_provider.js @@ -340,6 +340,7 @@ const _providerCiParams = () => { 'SEMAPHORE_EXECUTABLE_UUID', 'SEMAPHORE_GIT_BRANCH', 'SEMAPHORE_GIT_DIR', + 'SEMAPHORE_GIT_PR_NUMBER', 'SEMAPHORE_GIT_REF', 'SEMAPHORE_GIT_REF_TYPE', 'SEMAPHORE_GIT_REPO_SLUG', diff --git a/packages/server/test/unit/util/ci_provider_spec.js b/packages/server/test/unit/util/ci_provider_spec.js index 60884a61e180..6a05a20ad980 100644 --- a/packages/server/test/unit/util/ci_provider_spec.js +++ b/packages/server/test/unit/util/ci_provider_spec.js @@ -904,6 +904,7 @@ describe('lib/util/ci_provider', () => { SEMAPHORE_GIT_BRANCH: 'show-semaphore-v2-266', SEMAPHORE_GIT_WORKING_BRANCH: 'show-semaphore-v2-266', SEMAPHORE_GIT_DIR: 'cypress-example-kitchensink', + SEMAPHORE_GIT_PR_NUMBER: '1', SEMAPHORE_GIT_REF: 'refs/heads/show-semaphore-v2-266', SEMAPHORE_GIT_REF_TYPE: 'branch', SEMAPHORE_GIT_REPO_SLUG: 'cypress-io/cypress-example-kitchensink', @@ -937,6 +938,7 @@ describe('lib/util/ci_provider', () => { semaphoreGitBranch: 'show-semaphore-v2-266', semaphoreGitWorkingBranch: 'show-semaphore-v2-266', semaphoreGitDir: 'cypress-example-kitchensink', + semaphoreGitPrNumber: '1', semaphoreGitRef: 'refs/heads/show-semaphore-v2-266', semaphoreGitRefType: 'branch', semaphoreGitRepoSlug: 'cypress-io/cypress-example-kitchensink',