Skip to content

Commit ffefdb0

Browse files
authored
dependency: electron 33 upgrade (#30716)
1 parent e4904d6 commit ffefdb0

File tree

16 files changed

+335
-275
lines changed

16 files changed

+335
-275
lines changed

.circleci/cache-version.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
# Bump this version to force CI to re-create the cache from scratch.
22

3-
11-26-24
3+
12-04-24

.circleci/workflows.yml

+10-10
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ mainBuildFilters: &mainBuildFilters
3030
- /^release\/\d+\.\d+\.\d+$/
3131
# use the following branch as well to ensure that v8 snapshot cache updates are fully tested
3232
- 'update-v8-snapshot-cache-on-develop'
33-
- 'feat/support_vite_6'
33+
- 'ryanm/chore/electron-33-upgrade'
3434
- 'publish-binary'
3535

3636
# usually we don't build Mac app - it takes a long time
@@ -42,7 +42,7 @@ macWorkflowFilters: &darwin-workflow-filters
4242
- equal: [ develop, << pipeline.git.branch >> ]
4343
# use the following branch as well to ensure that v8 snapshot cache updates are fully tested
4444
- equal: [ 'update-v8-snapshot-cache-on-develop', << pipeline.git.branch >> ]
45-
- equal: [ 'feat/support_vite_6', << pipeline.git.branch >> ]
45+
- equal: [ 'ryanm/chore/electron-33-upgrade', << pipeline.git.branch >> ]
4646
- matches:
4747
pattern: /^release\/\d+\.\d+\.\d+$/
4848
value: << pipeline.git.branch >>
@@ -53,7 +53,7 @@ linuxArm64WorkflowFilters: &linux-arm64-workflow-filters
5353
- equal: [ develop, << pipeline.git.branch >> ]
5454
# use the following branch as well to ensure that v8 snapshot cache updates are fully tested
5555
- equal: [ 'update-v8-snapshot-cache-on-develop', << pipeline.git.branch >> ]
56-
- equal: [ 'feat/support_vite_6', << pipeline.git.branch >> ]
56+
- equal: [ 'ryanm/chore/electron-33-upgrade', << pipeline.git.branch >> ]
5757
- matches:
5858
pattern: /^release\/\d+\.\d+\.\d+$/
5959
value: << pipeline.git.branch >>
@@ -76,7 +76,7 @@ windowsWorkflowFilters: &windows-workflow-filters
7676
- equal: [ develop, << pipeline.git.branch >> ]
7777
# use the following branch as well to ensure that v8 snapshot cache updates are fully tested
7878
- equal: [ 'update-v8-snapshot-cache-on-develop', << pipeline.git.branch >> ]
79-
- equal: [ 'build-binary-placeholder', << pipeline.git.branch >> ]
79+
- equal: [ 'ryanm/chore/electron-33-upgrade', << pipeline.git.branch >> ]
8080
- matches:
8181
pattern: /^release\/\d+\.\d+\.\d+$/
8282
value: << pipeline.git.branch >>
@@ -85,7 +85,7 @@ executors:
8585
# the Docker image with Cypress dependencies and Chrome browser
8686
cy-doc:
8787
docker:
88-
- image: cypress/browsers-internal:node20.18.0-bullseye-chrome129-ff131
88+
- image: cypress/browsers-internal:node20.18.1-bullseye-chrome131-ff133
8989
# by default, we use "medium" to balance performance + CI costs. bump or reduce on a per-job basis if needed.
9090
resource_class: medium
9191
environment:
@@ -94,7 +94,7 @@ executors:
9494

9595
kitchensink-executor:
9696
docker:
97-
- image: cypress/browsers-internal:node20.18.0-bullseye-chrome129-ff131
97+
- image: cypress/browsers-internal:node20.18.1-bullseye-chrome131-ff133
9898
# by default, we use "medium" to balance performance + CI costs. bump or reduce on a per-job basis if needed.
9999
resource_class: medium
100100
environment:
@@ -104,7 +104,7 @@ executors:
104104
# Docker image with non-root "node" user
105105
non-root-docker-user:
106106
docker:
107-
- image: cypress/browsers-internal:node20.18.0-bullseye-chrome129-ff131
107+
- image: cypress/browsers-internal:node20.18.1-bullseye-chrome131-ff133
108108
user: node
109109
environment:
110110
PLATFORM: linux
@@ -152,7 +152,7 @@ commands:
152152
name: Set environment variable to determine whether or not to persist artifacts
153153
command: |
154154
echo "Setting SHOULD_PERSIST_ARTIFACTS variable"
155-
echo 'if ! [[ "$CIRCLE_BRANCH" != "develop" && "$CIRCLE_BRANCH" != "release/"* && "$CIRCLE_BRANCH" != "feat/support_vite_6" ]]; then
155+
echo 'if ! [[ "$CIRCLE_BRANCH" != "develop" && "$CIRCLE_BRANCH" != "release/"* && "$CIRCLE_BRANCH" != "ryanm/chore/electron-33-upgrade" ]]; then
156156
export SHOULD_PERSIST_ARTIFACTS=true
157157
fi' >> "$BASH_ENV"
158158
# You must run `setup_should_persist_artifacts` command and be using bash before running this command
@@ -548,7 +548,7 @@ commands:
548548
apt update && apt install -y docker.io
549549
docker run -d --name better-sqlite3-builder cypress/base-internal:20.15.0-buster-python3.8-gcc-10.5 /bin/bash -c "sleep 1000000000"
550550
docker cp ~/cypress/node_modules/better-sqlite3 better-sqlite3-builder:/better-sqlite3
551-
docker exec -it better-sqlite3-builder /bin/bash -c "cd /better-sqlite3 && source /root/.bashrc && chown -R root:root . && npm install --ignore-scripts && npx --no-install prebuild -r electron -t 32.2.0 --include-regex 'better_sqlite3.node$'"
551+
docker exec -it better-sqlite3-builder /bin/bash -c "cd /better-sqlite3 && source /root/.bashrc && chown -R root:root . && npm install --ignore-scripts && npx --no-install prebuild -r electron -t 33.2.1 --include-regex 'better_sqlite3.node$'"
552552
docker cp better-sqlite3-builder:/better-sqlite3/build/Release/better_sqlite3.node ~/cypress/node_modules/better-sqlite3/build/Release/better_sqlite3.node
553553
docker rm -f better-sqlite3-builder
554554
cp ~/cypress/node_modules/better-sqlite3/build/Release/better_sqlite3.node ~/cypress/better_sqlite3.node
@@ -1800,7 +1800,7 @@ jobs:
18001800
working_directory: ~/cypress
18011801
docker:
18021802
# we need an image with yarn 4 berry installed on it to run this test
1803-
- image: cypress/base-internal:20.18.0-yarn-berry
1803+
- image: cypress/base-internal:20.18.1-yarn-berry
18041804
environment:
18051805
# needed to inform the bootstrap-docker-container.sh script to link the binary in the system-test project directory
18061806
REPO_DIR: /root/cypress

.github/ISSUE_TEMPLATE/1-bug-report.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ body:
4343
attributes:
4444
label: Node version
4545
description: What version of node.js are you using to run Cypress?
46-
placeholder: ex. v20.18.0
46+
placeholder: ex. v20.18.1
4747
validations:
4848
required: true
4949
- type: input

.github/ISSUE_TEMPLATE/2-memory-issue.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ body:
5151
attributes:
5252
label: Node version
5353
description: What version of node.js are you using to run Cypress?
54-
placeholder: ex. v20.18.0
54+
placeholder: ex. v20.18.1
5555
validations:
5656
required: true
5757
- type: input

.github/ISSUE_TEMPLATE/3-install-issue.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ body:
3838
attributes:
3939
label: Node version
4040
description: What version of node.js are you using to run Cypress?
41-
placeholder: ex. v20.18.0
41+
placeholder: ex. v20.18.1
4242
validations:
4343
required: true
4444
- type: dropdown

.node-version

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
20.18.0
1+
20.18.1

cli/CHANGELOG.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ _Released 12/17/2024 (PENDING)_
99
- Prebuilt binaries for Linux are no longer compatible with Linux distributions based on glibc <2.28, for example: Ubuntu 14-18, RHEL 7, CentOS 7, Amazon Linux 2. Addresses [#29601](https://github.com/cypress-io/cypress/issues/29601).
1010
- Cypress now only officially supports the latest 3 major versions of Chrome, Firefox, and Edge - older browser versions may still work, but we recommend keeping your browsers up to date to ensure compatibility with Cypress. A warning will no longer be displayed on browser selection in the Launchpad for any 'unsupported' browser versions. Additionally, the undocumented `minSupportedVersion` property has been removed from `Cypress.browser`. Addressed in [#30462](https://github.com/cypress-io/cypress/pull/30462).
1111
- It is no longer possible to make a `fetch` or `XMLHttpRequest` request from the `about:blank` page in Electron (i.e. `cy.window().then((win) => win.fetch('<some-url>')`). You must use `cy.request` instead or perform some form of initial navigation via `cy.visit()`. Addressed in [#29547](https://github.com/cypress-io/cypress/pull/30394).
12-
- Upgraded bundled Node.js version from `18.17.0` to `20.18.0`. Addresses [#29547](https://github.com/cypress-io/cypress/issues/29547).
12+
- Upgraded bundled Node.js version from `18.17.0` to `20.18.1`. Addresses [#29547](https://github.com/cypress-io/cypress/issues/29547).
1313
- `@cypress/webpack-dev-server` no longer supports `webpack-dev-server` version 3. Additionally, `@cypress/webpack-dev-server` now ships with `webpack-dev-server` version 5 by default. `webpack-dev-server` version 4 will need to be installed along side Cypress if you are still using `webpack` version 4. Addresses [#29308](https://github.com/cypress-io/cypress/issues/29308), [#30347](https://github.com/cypress-io/cypress/issues/30347), and [#30141](https://github.com/cypress-io/cypress/issues/30141).
1414
- `@cypress/vite-dev-server` no longer supports `vite` versions 2 and 3. Addresses [#29377](https://github.com/cypress-io/cypress/issues/29377) and [#29378](https://github.com/cypress-io/cypress/issues/29378).
1515
- The `experimentalJustInTimeCompile` configuration option for component testing has been replaced with a `justInTimeCompile` option that is `true` by default. This option will only compile resources directly related to your spec, compiling them 'just-in-time' before spec execution. This should result in improved memory management and performance for component tests in `cypress open` and `cypress run` modes, in particular for large component testing suites. `justInTimeCompile` is now only supported for [`webpack`](https://www.npmjs.com/package/webpack). Addresses [#30234](https://github.com/cypress-io/cypress/issues/30234). Addressed in [#30402](https://github.com/cypress-io/cypress/pull/30402).
@@ -58,9 +58,9 @@ in this [GitHub issue](https://github.com/cypress-io/cypress/issues/30447). Addr
5858

5959
**Dependency Updates:**
6060

61-
- Upgraded `electron` from `27.3.10` to `32.2.0`. Addresses [#29547](https://github.com/cypress-io/cypress/issues/29547).
61+
- Upgraded `electron` from `27.3.10` to `33.2.1`. Addresses [#29547](https://github.com/cypress-io/cypress/issues/29547) and [#30561](https://github.com/cypress-io/cypress/issues/30561).
6262
- Upgraded `@electron/rebuild` from `3.2.10` to `3.7.1`. Addresses [#28766](https://github.com/cypress-io/cypress/issues/28766) and [#30632](https://github.com/cypress-io/cypress/issues/30632).
63-
- Upgraded bundled Chromium version from `118.0.5993.159` to `128.0.6613.178`. Addresses [#29547](https://github.com/cypress-io/cypress/issues/29547).
63+
- Upgraded bundled Chromium version from `118.0.5993.159` to `130.0.6723.137`. Addresses [#29547](https://github.com/cypress-io/cypress/issues/29547) and [#30561](https://github.com/cypress-io/cypress/issues/30561).
6464
- Updated `jQuery` from `3.4.1` to `3.7.1`. Addressed in [#30345](https://github.com/cypress-io/cypress/pull/30345).
6565
- Updated `react` from `17.0.2` to `18.3.1` and `react-dom` from `17.0.2` to `18.3.1`. Addresses [#30511](https://github.com/cypress-io/cypress/issues/30511).
6666

docker-compose.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ services:
3131
- .:/opt/cypress
3232
ci:
3333
# This should mirror the image used in workflows.yml
34-
image: cypress/browsers-internal:node20.18.0-bullseye-chrome129-ff131
34+
image: cypress/browsers-internal:node20.18.1-bullseye-chrome131-ff133
3535
ports:
3636
- 5566:5566
3737
- 5567:5567

package.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -141,8 +141,8 @@
141141
"dedent": "^0.7.0",
142142
"del": "3.0.0",
143143
"detect-port": "^1.6.1",
144-
"electron": "32.2.0",
145-
"electron-builder": "^23.6.0",
144+
"electron": "33.2.1",
145+
"electron-builder": "^25.1.8",
146146
"enzyme-adapter-react-16": "1.12.1",
147147
"eslint": "^8.56.0",
148148
"eslint-plugin-cypress": "3.5.0",
@@ -212,7 +212,7 @@
212212
"yarn-deduplicate": "3.1.0"
213213
},
214214
"engines": {
215-
"node": ">=20.18.0",
215+
"node": ">=20.18.1",
216216
"yarn": ">=1.22.17"
217217
},
218218
"productName": "Cypress",

packages/data-context/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@
4646
"node-machine-id": "1.1.12",
4747
"p-defer": "^3.0.0",
4848
"parse-glob": "3.0.4",
49-
"prettier": "2.5.1",
49+
"prettier": "2.8.8",
5050
"randexp": "0.5.3",
5151
"randomstring": "1.3.0",
5252
"react-docgen": "6.0.4",

packages/server/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
"ansi_up": "5.0.0",
3939
"ast-types": "0.13.3",
4040
"base64url": "^3.0.1",
41-
"better-sqlite3": "11.3.0",
41+
"better-sqlite3": "11.5.0",
4242
"black-hole-stream": "0.0.1",
4343
"bluebird": "3.7.2",
4444
"bundle-require": "3.0.4",

system-tests/lib/normalizeStdout.ts

+10-7
Original file line numberDiff line numberDiff line change
@@ -180,22 +180,25 @@ export const normalizeStdout = function (str: string, options: any = {}) {
180180
str = str.split('\n').filter((line) => !line.includes(wdsFailedMsg)).join('\n')
181181
}
182182

183-
// in Firefox 130, height dimensions are off by 1 pixel in CI, so we need to fix the offset to match common snapshots
184-
if (options.browser === 'firefox' && process.env.CI) {
183+
// in Firefox 133, height dimensions are off by 43/44 pixels (677px local and 676px CI), so we need to fix the offset to match common snapshots
184+
if (options.browser === 'firefox') {
185185
const dimensionRegex = new RegExp(/(\((?<width>\d+)x(?<height>\d+)\))/g)
186186

187187
const matches = dimensionRegex.exec(str)
188188

189189
if (matches?.groups?.height && matches?.groups?.width) {
190190
const height = parseInt(matches?.groups?.height)
191191

192-
// only happens on default height for whatever reason in firefox 130...
193-
if (height === 719) {
194-
const expectedHeight = height + 1
195-
const expectedWidth = matches?.groups?.width
192+
let expectedHeight = height
193+
const expectedWidth = matches?.groups?.width
196194

197-
str = str.replaceAll(`(${expectedWidth}x${height})`, `(${expectedWidth}x${expectedHeight})`)
195+
if (height === 676) { // only happens on default height for whatever reason in firefox 133...
196+
expectedHeight = height + 44
197+
} else if (height === 677) { // only happens on default height for whatever reason in firefox 133...
198+
expectedHeight = height + 43
198199
}
200+
201+
str = str.replaceAll(`(${expectedWidth}x${height})`, `(${expectedWidth}x${expectedHeight})`)
199202
}
200203
}
201204

system-tests/projects/screen-size/cypress/e2e/default_size.cy.js

+8-16
Original file line numberDiff line numberDiff line change
@@ -10,33 +10,25 @@ describe('windowSize', () => {
1010
expect({
1111
innerWidth: top.window.innerWidth,
1212
innerHeight: top.window.innerHeight,
13-
// screenWidth: top.screen.width,
14-
// screenHeight: top.screen.height,
15-
// availWidth: top.screen.availWidth,
16-
// availHeight: top.screen.availHeight,
1713
}).deep.eq({
1814
innerWidth: 1280,
1915
innerHeight: 581, // chrome 128 decreased the size here from 633 to 581
20-
// screenWidth: 1280,
21-
// screenHeight: 603,
22-
// availWidth: 1280,
23-
// availHeight: 603,
16+
})
17+
} else if (Cypress.browser.name === 'firefox') {
18+
expect({
19+
innerWidth: top.window.innerWidth,
20+
innerHeight: top.window.innerHeight,
21+
}).deep.eq({
22+
innerWidth: 1280,
23+
innerHeight: Cypress.env('CI') ? 676 : 677, // firefox 133 decreased the size here from 720 to 676/677
2424
})
2525
} else {
2626
expect({
2727
innerWidth: top.window.innerWidth,
2828
innerHeight: top.window.innerHeight,
29-
// screenWidth: top.screen.width,
30-
// screenHeight: top.screen.height,
31-
// availWidth: top.screen.availWidth,
32-
// availHeight: top.screen.availHeight,
3329
}).deep.eq({
3430
innerWidth: 1280,
3531
innerHeight: 720,
36-
// screenWidth: 1280,
37-
// screenHeight: 720,
38-
// availWidth: 1280,
39-
// availHeight: 720,
4032
})
4133
}
4234
})

system-tests/test-binary/module_api_spec.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import systemTests from '../lib/system-tests'
33
describe('module API', () => {
44
systemTests.it('can run module API Mocha spec', {
55
timeout: 240000,
6-
dockerImage: 'cypress/base-internal:20.18.0-bullseye',
6+
dockerImage: 'cypress/base-internal:20.18.1-bullseye',
77
withBinary: true,
88
project: 'module-api',
99
browser: 'electron',

system-tests/test/headless_spec.ts

+6-1
Original file line numberDiff line numberDiff line change
@@ -77,10 +77,15 @@ describe('e2e headless', function () {
7777
})
7878
})
7979

80-
systemTests.it('launches maximized by default in headless mode (1920x1080)', {
80+
systemTests.it('launches maximized by default in headless mode', {
8181
headed: false,
8282
project: 'screen-size',
8383
spec: 'default_size.cy.js',
84+
config: {
85+
env: {
86+
'CI': process.env.CI,
87+
},
88+
},
8489
})
8590

8691
systemTests.it('launches at DPR 1x', {

0 commit comments

Comments
 (0)