Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(dependency): Upgrade Electron 27 #28792

Merged
merged 99 commits into from
Feb 15, 2024
Merged
Show file tree
Hide file tree
Changes from 73 commits
Commits
Show all changes
99 commits
Select commit Hold shift + click to select a range
8a6c4ab
dependency: upgrades electron from 25 to 26
cacieprins Dec 11, 2023
a89659c
bump cache run ci
cacieprins Dec 11, 2023
139487b
fix docker img names
cacieprins Dec 11, 2023
f3229ed
ref electron upgrade branch
cacieprins Dec 11, 2023
3a453b0
chore: updating v8 snapshot cache
Dec 11, 2023
032a165
chore: updating v8 snapshot cache
Dec 11, 2023
185cf86
chore: updating v8 snapshot cache
Dec 11, 2023
45a220e
debug
cacieprins Dec 12, 2023
c1fcdb1
debug
cacieprins Dec 12, 2023
509e499
debug
cacieprins Dec 12, 2023
7912db2
update search string for resize observer error swallow
cacieprins Dec 12, 2023
f875b0a
debug
cacieprins Dec 12, 2023
b1c1d52
update integrity check
cacieprins Dec 12, 2023
58b1349
update electron readme with upgrade troubleshooting section
cacieprins Dec 13, 2023
b32a1e2
point to new publish binary workflow branch for electron 27
cacieprins Dec 13, 2023
3bb82dd
update electron readme with locations of chromium & node versions for…
cacieprins Dec 13, 2023
a0bd74d
update node versions and docker image refs
cacieprins Dec 13, 2023
1066e37
update electron version to 27.1.3
cacieprins Dec 13, 2023
acaaea6
fix db nativeBinding arg
cacieprins Dec 13, 2023
b76511d
chore: updating v8 snapshot cache
Dec 13, 2023
eae7513
install setuptools on mac when updating v8 snapshot cache
cacieprins Dec 13, 2023
a6ac000
chore: updating v8 snapshot cache
Dec 14, 2023
e7e48ad
chore: updating v8 snapshot cache
Dec 14, 2023
f843948
run workflows on this branch run ci
cacieprins Dec 14, 2023
6e64ceb
require addon directly and pass to better-sqlite3 init; debug
cacieprins Dec 14, 2023
9a3af58
rm debug
cacieprins Dec 14, 2023
a63fde1
try loading better-sqlite with a more dynamic filename
cacieprins Dec 14, 2023
3961271
bump electron version
ryanthemanuel Dec 14, 2023
4e0d91e
bump electron version
ryanthemanuel Dec 14, 2023
7d80f77
bump electron version -- run ci
ryanthemanuel Dec 15, 2023
f4fb6c4
bump electron version -- run ci
ryanthemanuel Dec 15, 2023
8dadce3
bump electron version -- run ci
ryanthemanuel Dec 15, 2023
016923e
bump electron version -- run ci
ryanthemanuel Dec 15, 2023
0d05c41
bump electron version -- run ci
ryanthemanuel Dec 15, 2023
4a4ae23
add a step to update workflows.yml to electron upgrade process
cacieprins Dec 15, 2023
8895708
Merge branch 'develop' into cacie/chore/upgrade-electron-27
cacieprins Dec 15, 2023
e091dfb
reduce retry limit on issue 1244 test to prevent circle from thinking…
cacieprins Dec 15, 2023
bfee9dd
target main branch of binary publish workflow? run ci
cacieprins Dec 15, 2023
665e81c
Update .node-version -- run ci
ryanthemanuel Dec 16, 2023
0c0ff5a
Update CHANGELOG.md
cacieprins Dec 18, 2023
a882362
Update module_api_spec.ts
cacieprins Dec 18, 2023
b55e8e0
point publish binary back to electron upgrade branch
cacieprins Dec 18, 2023
6475305
Adds some logging re: cachedDataVersion
cacieprins Dec 18, 2023
35e10a3
use precise electron version for better-sqlite3 for centos7
cacieprins Dec 19, 2023
4dbac8e
Update CHANGELOG.md
cacieprins Dec 19, 2023
2049685
chore: fix issue with bytenode (#28568)
ryanthemanuel Dec 21, 2023
98bf7b2
update electron upgrade steps
cacieprins Dec 19, 2023
42c115b
Merge branch 'develop' into cacie/chore/upgrade-electron-27
cacieprins Jan 9, 2024
8a99704
Update packages/electron/README.md
cacieprins Jan 9, 2024
3a02fec
Update cli/CHANGELOG.md
cacieprins Jan 9, 2024
a9ece8a
fix DebugEmptyStates component test
cacieprins Jan 9, 2024
ac7091d
Merge branch 'develop' into cacie/chore/upgrade-electron-27
cacieprins Jan 11, 2024
c1209c6
try to fix downstream build -- run ci (#28649)
ryanthemanuel Jan 12, 2024
a7a5a6b
point to consolidated binary publish branch
cacieprins Jan 12, 2024
4849187
revert webpack-preprocessor-awesome-typescript-loader update
cacieprins Jan 12, 2024
382dbc5
revert certain system tests
cacieprins Jan 16, 2024
fab6898
increase padding for module api system test duration window
cacieprins Jan 16, 2024
aa09aa8
account for differing screenshot sizes
cacieprins Jan 16, 2024
a4673ca
screenshot size differs locally vs ci
cacieprins Jan 16, 2024
9dd9ab1
Merge branch 'develop' into cacie/chore/upgrade-electron-27
cacieprins Jan 17, 2024
ab49bc1
update protocol snapshots
cacieprins Jan 19, 2024
f48e6f0
Merge branch 'develop' into cacie/chore/upgrade-electron-27
cacieprins Jan 19, 2024
fabb6a1
Update after-pack-hook.js
ryanthemanuel Jan 22, 2024
bb2a882
Merge branch 'develop' into cacie/chore/upgrade-electron-27
cacieprins Jan 22, 2024
219e4f6
fix flaky slideshow
cacieprins Jan 22, 2024
7468022
Merge branch 'develop' into cacie/chore/upgrade-electron-27
cacieprins Jan 23, 2024
d257809
correct the chromium version in changelog
cacieprins Jan 24, 2024
c144b7f
Merge branch 'develop' into cacie/dep/electron-27
cacieprins Jan 24, 2024
9737925
use 18.17.1 internal images
cacieprins Jan 24, 2024
5f365cc
workflow filters
cacieprins Jan 24, 2024
97d1d98
fix trailing checkbox in electron readme
cacieprins Jan 24, 2024
aac8560
add solution to crashing better-sqlite3 in electron readme
cacieprins Jan 24, 2024
8571776
Update packages/electron/README.md
cacieprins Jan 26, 2024
e7d3285
Update scripts/after-pack-hook.js
cacieprins Jan 26, 2024
a25dbe3
Update scripts/after-pack-hook.js
cacieprins Jan 26, 2024
4137732
Update scripts/after-pack-hook.js
cacieprins Jan 26, 2024
91096f9
add branch to setup_should_persist_artifacts
cacieprins Jan 26, 2024
337d39c
Merge branch 'develop' into cacie/dep/electron-27
cacieprins Jan 29, 2024
a44fdb6
Merge branch 'develop' into cacie/dep/electron-27
cacieprins Jan 30, 2024
2f934cd
Merge branch 'develop' into cacie/dep/electron-27
cacieprins Jan 30, 2024
e5a16e3
debug app e2e test
cacieprins Jan 31, 2024
7c87a94
Merge branch 'develop' into cacie/dep/electron-27
cacieprins Jan 31, 2024
f707c63
Merge branch 'develop' into cacie/dep/electron-27
cacieprins Feb 2, 2024
b9ed0a7
Merge branch 'develop' into cacie/dep/electron-27
cacieprins Feb 2, 2024
eeba3b3
bump cache
cacieprins Feb 5, 2024
c4c4668
Merge branch 'develop' into cacie/dep/electron-27
cacieprins Feb 6, 2024
efb9846
upgrade browsers-internal to chrome 121
cacieprins Feb 6, 2024
149d244
revert to chrome 118 images
cacieprins Feb 6, 2024
7c5e0ee
Merge branch 'develop' into cacie/dep/electron-27
cacieprins Feb 7, 2024
eda9c15
bump cache
cacieprins Feb 7, 2024
a5e8680
Merge branch 'develop' into cacie/dep/electron-27
cacieprins Feb 7, 2024
a6456f3
chore: updating v8 snapshot cache
Feb 8, 2024
b6f6e17
chore: updating v8 snapshot cache
Feb 8, 2024
ca5965c
chore: updating v8 snapshot cache
Feb 8, 2024
b7ed3e4
bump cache
cacieprins Feb 9, 2024
ac0ece3
Merge branch 'develop' into cacie/dep/electron-27
cacieprins Feb 9, 2024
bef8dcd
Merge branch 'develop' into cacie/dep/electron-27
cacieprins Feb 12, 2024
d930eb1
Merge branch 'develop' into cacie/dep/electron-27
cacieprins Feb 13, 2024
5e559ed
Merge branch 'develop' into cacie/dep/electron-27
cacieprins Feb 14, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 14 additions & 4 deletions .circleci/workflows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ mainBuildFilters: &mainBuildFilters
- develop
- /^release\/\d+\.\d+\.\d+$/
# use the following branch as well to ensure that v8 snapshot cache updates are fully tested
- 'cacie/dep/electron-27'
- 'chore/update_octokit'
- 'publish-binary'
- 'em/circle2'
Expand All @@ -42,6 +43,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: [ 'cacie/dep/electron-27', << pipeline.git.branch >> ]
- equal: [ 'chore/update_octokit', << pipeline.git.branch >> ]
- equal: [ 'ryanm/fix/service-worker-capture', << pipeline.git.branch >> ]
- matches:
Expand All @@ -54,6 +56,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: [ 'cacie/dep/electron-27', << pipeline.git.branch >> ]
- equal: [ 'chore/update_octokit', << pipeline.git.branch >> ]
- equal: [ 'em/circle2', << pipeline.git.branch >> ]
AtofStryker marked this conversation as resolved.
Show resolved Hide resolved
- matches:
Expand All @@ -78,6 +81,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: [ 'cacie/dep/electron-27', << pipeline.git.branch >> ]
- equal: [ 'chore/update_octokit', << pipeline.git.branch >> ]
- equal: [ 'lerna-optimize-tasks', << pipeline.git.branch >> ]
- equal: [ 'mschile/mochaEvents_win_sep', << pipeline.git.branch >> ]
Expand All @@ -89,7 +93,7 @@ executors:
# the Docker image with Cypress dependencies and Chrome browser
cy-doc:
docker:
- image: cypress/browsers-internal:node18.15.0-chrome114-ff115
- image: cypress/browsers-internal:node18.17.1-chrome118-ff115
# by default, we use "medium" to balance performance + CI costs. bump or reduce on a per-job basis if needed.
resource_class: medium
environment:
Expand All @@ -99,7 +103,7 @@ executors:
# Docker image with non-root "node" user
non-root-docker-user:
docker:
- image: cypress/browsers-internal:node18.15.0-chrome114-ff115
- image: cypress/browsers-internal:node18.17.1-chrome118-ff115
user: node
environment:
PLATFORM: linux
Expand Down Expand Up @@ -552,7 +556,7 @@ commands:
if [[ ! -f better_sqlite3.node ]]; then
docker run -d --name centos7-builder centos7-builder /bin/bash -c "sleep 1000000000"
docker cp ~/cypress/node_modules/better-sqlite3 centos7-builder:/better-sqlite3
docker exec -it centos7-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 25.0.0 --include-regex 'better_sqlite3.node$'"
docker exec -it centos7-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 27.1.3 --include-regex 'better_sqlite3.node$'"
docker cp centos7-builder:/better-sqlite3/build/Release/better_sqlite3.node ~/cypress/node_modules/better-sqlite3/build/Release/better_sqlite3.node
docker rm -f centos7-builder
cp ~/cypress/node_modules/better-sqlite3/build/Release/better_sqlite3.node ~/cypress/better_sqlite3.node
Expand Down Expand Up @@ -1225,6 +1229,12 @@ commands:
else
yarn binary-package --version $(node ./scripts/get-next-version.js)
fi
- run:
name: Smoke Test the Cypress binary
command: |
source ./scripts/ensure-node.sh
node --version
yarn binary-smoke-test --version $(node ./scripts/get-next-version.js)
- run:
name: Zip the binary
command: |
Expand Down Expand Up @@ -2325,7 +2335,7 @@ jobs:
<<: *defaults
resource_class: small
docker:
- image: cypress/base-internal:18.15.0
- image: cypress/base-internal:18.17.1
steps:
- maybe_skip_binary_jobs
- restore_workspace_binaries
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/1-bug-report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ body:
attributes:
label: Node version
description: What version of node.js are you using to run Cypress?
placeholder: ex. v18.15.0
placeholder: ex. v18.17.0
validations:
required: true
- type: input
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/2-memory-issue.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ body:
attributes:
label: Node version
description: What version of node.js are you using to run Cypress?
placeholder: ex. v18.15.0
placeholder: ex. v18.17.0
validations:
required: true
- type: input
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/3-install-issue.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ body:
attributes:
label: Node version
description: What version of node.js are you using to run Cypress?
placeholder: ex. v18.15.0
placeholder: ex. v18.17.0
validations:
required: true
- type: dropdown
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/update_v8_snapshot_cache.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,9 @@ jobs:
- name: Determine snapshot files - Mac
if: ${{ matrix.platform == 'macos-latest' }}
run: echo "SNAPSHOT_FILES='tooling/v8-snapshot/cache/darwin/snapshot-meta.json'" >> $GITHUB_ENV
- name: Install setuptools - Mac
if: ${{ matrix.platform == 'macos-latest' }}
run: sudo -H pip install setuptools
- name: Checkout
uses: actions/checkout@v3
with:
Expand Down
2 changes: 1 addition & 1 deletion .node-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
18.15.0
18.17.1
2 changes: 1 addition & 1 deletion centos7-builder.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
FROM centos:7
# Install dependencies for re-building better-sqlite and setting devtoolset-8 as the default compiler
# Install dependencies for re-building better-sqlite and setting devtoolset-8 as the default compiler.
RUN yum -y install centos-release-scl curl python3 make atk-devel atk java-atk-wrapper at-spi2-atk gtk3 libXt libdrm mesa-libgbm Xvfb && yum -y install devtoolset-8-gcc devtoolset-8-gcc-c++
RUN echo >> /etc/profile.d/devtoolset-8.sh 'source scl_source enable devtoolset-8'
RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
Expand Down
7 changes: 7 additions & 0 deletions cli/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,12 @@

_Released 1/30/2024 (PENDING)_

** Dependency Updates:**

- Upgraded `electron` from `25.8.4` to `27.1.3`
- Upgraded bundled Node.js version from `18.15.0` to `18.17.0`
- Upgraded bundled Chromium version from `114.0.5735.289` to `118.0.5993.117`

**Bugfixes:**

- Fixed an issue with capturing assets for Test Replay when service workers are registered in Cypress support files. This issue would cause styles to not render properly in Test Replay. Fixes [#28747](/~https://github.com/cypress-io/cypress/issues/28747).
Expand Down Expand Up @@ -46,6 +52,7 @@ _Released 1/16/2024_
- Improved accessibility of some areas of the Cypress App. Addressed in [#28628](/~https://github.com/cypress-io/cypress/pull/28628).
- Updated some documentation links to go through on.cypress.io. Addressed in [#28623](/~https://github.com/cypress-io/cypress/pull/28623).


## 13.6.2

_Released 12/26/2023_
Expand Down
2 changes: 1 addition & 1 deletion docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ services:
- .:/opt/cypress
ci:
# This should mirror the image used in workflows.yml
image: cypress/browsers-internal:node18.15.0-chrome114-ff115
image: cypress/browsers-internal:node18.17.1-chrome118-ff115
ports:
- 5566:5566
- 5567:5567
Expand Down
6 changes: 6 additions & 0 deletions guides/building-release-artifacts.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,3 +38,9 @@ You can build the Cypress binary locally by running `yarn binary-build`, then pa
If you're on macOS and building locally, you'll need a code-signing certificate in your keychain, which you can get by following the [instructions on Apple's website](https://developer.apple.com/library/archive/documentation/Security/Conceptual/CodeSigningGuide/Procedures/Procedures.html#//apple_ref/doc/uid/TP40005929-CH4-SW30). Also, you'll also most likely want to skip notarization since it requires an Apple Developer Program account - set `SKIP_NOTARIZATION=1` when building locally to do this. [More info about code signing in CI](./code-signing.md).

`yarn binary-zip` can be used to zip the built binary together.

### Tips

If you want to speed up the time it takes to package the binary, set `V8_SNAPSHOT_DISABLE_MINIFY=1`

If you are on an M1, you need to set `RESET_ADHOC_SIGNATURE=1` in order to be able to actually run the binary after packaging it.
5 changes: 3 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
"binary-ensure": "node ./scripts/binary.js ensure",
"binary-purge": "node ./scripts/binary.js purge-version",
"binary-release": "node ./scripts/binary.js release",
"binary-smoke-test": "node ./scripts/binary.js smoke",
"binary-upload": "node ./scripts/binary.js upload",
"binary-zip": "node ./scripts/binary.js zip",
"binary-package": "cross-env NODE_OPTIONS=--max_old_space_size=8192 node ./scripts/binary.js package",
Expand Down Expand Up @@ -145,7 +146,7 @@
"dedent": "^0.7.0",
"del": "3.0.0",
"detect-port": "^1.3.0",
"electron": "25.8.4",
"electron": "27.1.3",
"electron-builder": "^23.6.0",
"enzyme-adapter-react-16": "1.12.1",
"eslint": "7.22.0",
Expand Down Expand Up @@ -211,7 +212,7 @@
"yarn-deduplicate": "3.1.0"
},
"engines": {
"node": ">=18.15.0",
"node": ">=18.17.0",
"yarn": ">=1.17.3"
},
"productName": "Cypress",
Expand Down
2 changes: 1 addition & 1 deletion packages/app/cypress/component/support/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -48,5 +48,5 @@ registerMountFn({ plugins: [() => createRouter(), () => pinia] })

installCustomPercyCommand()

Cypress.on('uncaught:exception', (err) => !err.message.includes('ResizeObserver loop limit exceeded'))
Cypress.on('uncaught:exception', (err) => !err.message.includes('ResizeObserver loop completed with undelivered notifications.'))
Cypress.Commands.add('tabUntil', tabUntil)
4 changes: 2 additions & 2 deletions packages/app/src/components/Slideshow.vue
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<div class="relative">
<!-- leave-to classes are marked absolute to allow the entering component to
animate on top of the leaving component, creating a fading animation with no thrashing -->
<transition
<transition-group
enter-from-class="opacity-0"
enter-active-class="transition duration-300 ease-out"
enter-to-class="opacity-100"
Expand All @@ -18,7 +18,7 @@
:go-forward="increment"
:reset="reset"
/>
</transition>
</transition-group>
</div>
</template>

Expand Down
3 changes: 1 addition & 2 deletions packages/app/src/debug/empty/DebugEmptyStates.cy.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -66,8 +66,7 @@ describe('Debug page empty states', { defaultCommandTimeout: 250 }, () => {

// ensure the promos are done transitioning before clicking on the control
// since 2 buttons could display if both promos are easing in and out
cy.findByTestId('promo-action')
.should('not.have.class', 'ease-in')
cy.findAllByTestId('guide-card', { timeout: 350 }).should('not.have.class', 'ease-in')
.and('not.have.class', 'ease-out')

cy.findByTestId('promo-action-control').click()
Expand Down
3 changes: 3 additions & 0 deletions packages/app/src/debug/guide/DebugGuide.vue
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,17 @@
<GuideCard1
v-if="step === 0"
:action="goForward"
data-cy="guide-card"
/>
<GuideCard2
v-else-if="step === 1"
:action="goForward"
data-cy="guide-card"
/>
<GuideCard3
v-else-if="step === 2"
:action="reset"
data-cy="guide-card"
/>
</template>
</Promo>
Expand Down
Loading
Loading