diff --git a/.circleci/workflows.yml b/.circleci/workflows.yml index e524e22e59cd..5632120816ce 100644 --- a/.circleci/workflows.yml +++ b/.circleci/workflows.yml @@ -30,7 +30,7 @@ mainBuildFilters: &mainBuildFilters - /^release\/\d+\.\d+\.\d+$/ # use the following branch as well to ensure that v8 snapshot cache updates are fully tested - 'update-v8-snapshot-cache-on-develop' - - 'misc/remove_marionette_for_geckodriver' + - 'ryanm/fix/find-process' - 'publish-binary' # usually we don't build Mac app - it takes a long time @@ -42,7 +42,7 @@ macWorkflowFilters: &darwin-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: [ 'ryanm/fix/find-process', << pipeline.git.branch >> ] - matches: pattern: /^release\/\d+\.\d+\.\d+$/ value: << pipeline.git.branch >> @@ -53,7 +53,7 @@ linuxArm64WorkflowFilters: &linux-arm64-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: [ 'ryanm/fix/find-process', << pipeline.git.branch >> ] - matches: pattern: /^release\/\d+\.\d+\.\d+$/ value: << pipeline.git.branch >> @@ -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: [ 'chore/patch_windows_build', << pipeline.git.branch >> ] + - equal: [ 'ryanm/fix/find-process', << pipeline.git.branch >> ] - matches: pattern: /^release\/\d+\.\d+\.\d+$/ value: << pipeline.git.branch >> @@ -152,7 +152,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" != "misc/remove_marionette_for_geckodriver" ]]; then + echo 'if ! [[ "$CIRCLE_BRANCH" != "develop" && "$CIRCLE_BRANCH" != "release/"* && "$CIRCLE_BRANCH" != "ryanm/fix/find-process" ]]; 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 @@ -1395,6 +1395,30 @@ jobs: PERCY_PARALLEL_NONCE=$CIRCLE_WORKFLOW_WORKSPACE_ID \ yarn percy build:finalize || yarn percy build:finalize + # verify accessibility scores from Cypress + verify-accessibility-results: + <<: *defaults + resource_class: small + steps: + - run: | + if [[ -z MAIN_RECORD_KEY ]]; then + echo "skipping for contributor PRs since we don't record to the cloud" + circleci-agent step halt + fi + - update_known_hosts + - run: + name: checkout + command: git clone -b "$CIRCLE_BRANCH" "$CIRCLE_REPOSITORY_URL" --depth 1 + - run: + name: Install extract-cloud-results package + command: | + npm install https://cdn.cypress.io/extract-cloud-results/v1/extract-cloud-results.tgz + - run: + name: Verify Accessibility Results + command: | + cp ./cypress/scripts/verify-accessibility-results.js verify-accessibility-results.js + CYPRESS_RECORD_KEY=$MAIN_RECORD_KEY node verify-accessibility-results.js + ready-to-release: <<: *defaults resource_class: small @@ -2673,6 +2697,25 @@ linux-x64-workflow: &linux-x64-workflow - run-reporter-component-tests-chrome - run-webpack-dev-server-integration-tests - run-vite-dev-server-integration-tests + # Cypress run must be completed to fetch Accessibility report + - verify-accessibility-results: + context: test-runner:cypress-record-key + requires: + - reporter-integration-tests + - run-app-component-tests-chrome + - run-app-integration-tests-chrome + - run-frontend-shared-component-tests-chrome + - run-launchpad-component-tests-chrome + - run-launchpad-integration-tests-chrome + - run-reporter-component-tests-chrome + - run-webpack-dev-server-integration-tests + - run-vite-dev-server-integration-tests + - driver-integration-tests-firefox + - driver-integration-tests-chrome + - driver-integration-tests-chrome-beta + - driver-integration-tests-electron + - driver-integration-tests-webkit + - driver-integration-memory-tests - lint-types: requires: - build @@ -3008,7 +3051,9 @@ linux-x64-contributor-workflow: &linux-x64-contributor-workflow type: approval requires: - build - + # verify-accessibility-results is required for status checks, however, it will be skipped for contributors so it + # can run in any order + - verify-accessibility-results - check-ts: requires: - build diff --git a/browser-versions.json b/browser-versions.json index 6f04a4e6d01e..3bae76e92626 100644 --- a/browser-versions.json +++ b/browser-versions.json @@ -1,5 +1,5 @@ { - "chrome:beta": "130.0.6723.19", - "chrome:stable": "129.0.6668.89", + "chrome:beta": "130.0.6723.31", + "chrome:stable": "129.0.6668.100", "chrome:minimum": "64.0.3282.0" } diff --git a/cli/CHANGELOG.md b/cli/CHANGELOG.md index c357ee1adcbe..c5bcff749ea9 100644 --- a/cli/CHANGELOG.md +++ b/cli/CHANGELOG.md @@ -13,6 +13,10 @@ _Released 12/3/2024 (PENDING)_ _Released 10/1/2024 (PENDING)_ +**Bugfixes:** + +- Patched [find-process](https://github.com/yibn2008/find-process) to fix an issue where trying to clean up browser profiles can throw an error on Windows. Addresses [#30378](https://github.com/cypress-io/cypress/issues/30378). + **Misc:** - Cypress now consumes [geckodriver](https://firefox-source-docs.mozilla.org/testing/geckodriver/index.html) to help automate the Firefox browser instead of [marionette-client](https://github.com/cypress-io/marionette-client). Addresses [#30217](https://github.com/cypress-io/cypress/issues/30217). diff --git a/packages/app/cypress/e2e/create-from-component.cy.ts b/packages/app/cypress/e2e/create-from-component.cy.ts index ad634e3eb803..c1710d3f23c9 100644 --- a/packages/app/cypress/e2e/create-from-component.cy.ts +++ b/packages/app/cypress/e2e/create-from-component.cy.ts @@ -39,7 +39,7 @@ function validateCreateFromVueComponentCard (beforeEachFn: () => void, expectedS cy.findByText('*.vue').should('be.visible') cy.findByText('2 matches').should('be.visible') - cy.findByLabelText('file-name-input').type('HelloWorld') + cy.findByLabelText('Search by filename').type('HelloWorld') cy.findByText('HelloWorld').should('be.visible') cy.findByText('1 of 2 matches').should('be.visible') @@ -124,7 +124,7 @@ function validateCreateFromReactComponentCard (beforeEachFn: () => void, expecte cy.findByText('*.{js,jsx,tsx}').should('be.visible') cy.findByText('5 matches').should('be.visible') - cy.findByLabelText('file-name-input').type('App') + cy.findByLabelText('Search by filename').type('App') cy.findByText('App').should('be.visible') cy.findByText('1 of 5 matches').should('be.visible') diff --git a/packages/app/cypress/e2e/specs.cy.ts b/packages/app/cypress/e2e/specs.cy.ts index b739188438eb..8d64f17b643b 100644 --- a/packages/app/cypress/e2e/specs.cy.ts +++ b/packages/app/cypress/e2e/specs.cy.ts @@ -347,7 +347,7 @@ describe('App: Specs', () => { .and('contain', defaultMessages.createSpec.page.customPatternNoSpecs.description.split('{0}')[0]) cy.findByTestId('file-match-indicator').should('contain', 'No matches') - cy.findByRole('button', { name: 'cypress.config.js' }) + cy.findByRole('button', { name: 'open in IDE' }) cy.findByTestId('spec-pattern').should('contain', 'src/**/*.{cy,spec}.{js,jsx}') cy.contains('button', defaultMessages.createSpec.updateSpecPattern) @@ -359,7 +359,7 @@ describe('App: Specs', () => { o.sinon.stub(ctx.actions.file, 'openFile') }) - cy.findByRole('button', { name: 'cypress.config.js' }).click() + cy.findByRole('button', { name: 'open in IDE' }).click() cy.withCtx((ctx, o) => { expect(ctx.actions.file.openFile).to.have.been.calledWith(o.sinon.match(new RegExp(`cypress\.config\.js$`)), 1, 1) @@ -695,7 +695,7 @@ describe('App: Specs', () => { .and('contain', defaultMessages.createSpec.page.customPatternNoSpecs.description.split('{0}')[0]) cy.findByTestId('file-match-indicator').should('contain', 'No matches') - cy.findByRole('button', { name: 'cypress.config.js' }) + cy.findByRole('button', { name: 'open in IDE' }) cy.findByTestId('spec-pattern').should('contain', 'src/specs-folder/*.cy.{js,jsx}') cy.contains('button', defaultMessages.createSpec.updateSpecPattern) @@ -707,7 +707,7 @@ describe('App: Specs', () => { o.sinon.stub(ctx.actions.file, 'openFile') }) - cy.findByRole('button', { name: 'cypress.config.js' }).click() + cy.findByRole('button', { name: 'open in IDE' }).click() cy.withCtx((ctx, o) => { expect(ctx.actions.file.openFile).to.have.been.calledWith(o.sinon.match(new RegExp(`cypress\.config\.js$`)), 1, 1) diff --git a/packages/app/src/components/FileMatch.vue b/packages/app/src/components/FileMatch.vue index 9e5c28773928..58a3b21f599c 100644 --- a/packages/app/src/components/FileMatch.vue +++ b/packages/app/src/components/FileMatch.vue @@ -31,6 +31,7 @@
{{ localExtensionPattern }} @@ -45,12 +46,13 @@ v-if="expanded" v-model="localExtensionPattern" class="ml-[12px]" + :aria-label="t('components.fileSearch.byExtensionInput')" :placeholder="t('components.fileSearch.byExtensionInput')" />
@@ -72,6 +74,7 @@ diff --git a/packages/app/src/components/FileMatchInput.cy.tsx b/packages/app/src/components/FileMatchInput.cy.tsx index 3aa295746648..f3909c64e931 100644 --- a/packages/app/src/components/FileMatchInput.cy.tsx +++ b/packages/app/src/components/FileMatchInput.cy.tsx @@ -15,7 +15,7 @@ describe('', () => { } cy.mount(() => (
- +
)) .get('input[type=search]').should('have.value', initialText) .clear().type(newText) diff --git a/packages/app/src/components/SpecPatterns.vue b/packages/app/src/components/SpecPatterns.vue index 472aa12ec19d..d828d752cb6f 100644 --- a/packages/app/src/components/SpecPatterns.vue +++ b/packages/app/src/components/SpecPatterns.vue @@ -11,6 +11,7 @@ >