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

Update internal cypress image to use Debian Bookworm #1223

Closed
AtofStryker opened this issue Oct 3, 2024 · 9 comments · Fixed by #1226
Closed

Update internal cypress image to use Debian Bookworm #1223

AtofStryker opened this issue Oct 3, 2024 · 9 comments · Fixed by #1226

Comments

@AtofStryker
Copy link
Contributor

The Cypress app team would like to use Debian bookworm as its default base for internal images over Bullseye. There is currently a hurdle with this as it requires cypress to update playwright-webkit from 1.24.2 to at least 1.47.2.

@AtofStryker AtofStryker self-assigned this Oct 3, 2024
@MikeMcC399
Copy link
Collaborator

@AtofStryker

The Cypress app team would like to use Debian bookworm as its default base for internal images over Bullseye.

Does that require a change in this repo? I don't see bullseye being used here anymore, but maybe I have overlooked something?

There is currently a hurdle with this as it requires cypress to update playwright-webkit from 1.24.2 to at least 1.47.2.

@jennifer-shehane
Copy link
Member

@MikeMcC399 Yes, we want to add a base-internal image with bookworm.

@MikeMcC399
Copy link
Collaborator

@jennifer-shehane

Yes, we want to add a base-internal image with bookworm.

That is what I don't understand, because such cypress/base-internal images already exist, although they use an older version of Debian bookworm (12.1) not the latest (12.7).

$ docker run --rm --entrypoint cat cypress/base-internal:18.17.1-bookworm /etc/debian_version
12.1

I don't know where this image came from though, as I can't find it under https://github.com/cypress-io/cypress-docker-images/tree/master/base-internal/releases/node-18, nor in any PR.

Similarly cypress/base-internal:18.17.1-yarn-berry is also based on Debian 12.1 bookworm.

Maybe this is a request for a new cypress/base-internal image with a higher version of Node.js if it is part of the Cypress 14 work?

@jennifer-shehane
Copy link
Member

@MikeMcC399 Yah this is part of 14 work. It's intention is to build the binary on a distro that would support glibc 2.28, which is the same glibc version Node.js is using in LTS.

@MikeMcC399
Copy link
Collaborator

@jennifer-shehane

Yah this is part of 14 work. It's intention is to build the binary on a distro that would support glibc 2.28, which is the same glibc version Node.js is using in LTS.

For Cypress 14 it would probably mean producing an image similar to the existing cypress/base-internal:18.17.1-bookworm fitting to whatever Electron version you go with. For example cypress/base-internal:20.17.0-bookworm for Electron v32.1.2.

Each of the following operating system versions meets the requirement of glibc >= 2.28 on Linux systems. It's not constrained to Debian 12 (bookworm), although of course this choice would fit:

OS version GLIBC version
Ubuntu 20.04.6 LTS ldd (Ubuntu GLIBC 2.31-0ubuntu9.16) 2.31
Ubuntu 22.04.5 LTS ldd (Ubuntu GLIBC 2.35-0ubuntu3.8) 2.35
Ubuntu 24.04.1 LTS ldd (Ubuntu GLIBC 2.39-0ubuntu8.3) 2.39
Debian 11.11 ldd (Debian GLIBC 2.31-13+deb11u11) 2.31
Debian 12.7 ldd (Debian GLIBC 2.36-9+deb12u8) 2.36

@mschile mschile assigned mschile and unassigned AtofStryker and mschile Oct 8, 2024
@mschile mschile removed the Cypress 14 label Oct 9, 2024
@MikeMcC399
Copy link
Collaborator

@mschile

@MikeMcC399
Copy link
Collaborator

@mschile

@mschile
Copy link
Contributor

mschile commented Oct 10, 2024

Has this issue been resolved through #1226 from @ryanthemanuel?

Yeah, I'm considering closing this issue based on that PR.

I was puzzled by cypress-io/cypress#30382. Was that deliberate or is it a typo?

Debian buster (version 10 - oldoldstable) reached end-of-life on June 30, 2024 already. See Debian LTS for overview. Debian bookworm (version 12 - stable) on the other hand is supported until June 2028.

The reference to buster is deliberate. We need to build better-sqlite3 with glibc 2.28 so we are going to use buster.

@mschile mschile linked a pull request Oct 10, 2024 that will close this issue
@mschile
Copy link
Contributor

mschile commented Oct 10, 2024

Closing as completed with #1226.

Opened a new issue in the cypress repo to update the internal images being used.

@mschile mschile closed this as completed Oct 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants