cypress-io / cypress-docker-images

Docker images with Cypress dependencies and browsers
https://on.cypress.io/continuous-integration
MIT License
1k stars 376 forks source link

feat: publish set of node.js 18.20.3 images #1098

Closed MikeMcC399 closed 1 month ago

MikeMcC399 commented 1 month ago

Issue

Current Cypress Docker images which include Node.js 18.x are using 18.16.1 which is now almost one year old. The current latest Node.js 18.x version is 18.20.3 released on May 21, 2024.

Change

Refresh Current Cypress Docker images cypress/base, cypress/browsers and cypress/included using the current latest Node.js 18.x version 18.20.3 combined with the latest default values for OS (Debian 12), Yarn (1.22.22), browser and Cypress versions as defined in factory/.env.

Verification

cd factory
docker compose build factory
docker compose build included
cd test-project
set -a && . ../.env && set +a
docker compose run test-factory-all-included
cypress-app-bot commented 1 month ago
MikeMcC399 commented 1 month ago
MikeMcC399 commented 1 month ago

@jennifer-shehane

This is now ready for review & merge, to trigger updated Cypress Docker images for Node.js 18.20.3.

MikeMcC399 commented 1 month ago

After having to revert the CircleCI Ubuntu image back to an older version, there seems to be a higher occurrence of test failures against Firefox, where Cypress fails to connect. I don't know any quick fix for this. It means that CI needs to be re-run to get a successful test.

MikeMcC399 commented 1 month ago

Next failure:

#9 14.81 npm error URL: https://download.cypress.io/desktop/13.11.0?platform=linux&arch=arm64
#9 14.81 npm error Error: Failed downloading the Cypress binary.
#9 14.81 npm error Response code: 502
#9 14.81 npm error Response message: Bad Gateway
AtofStryker commented 1 month ago

images should be released @MikeMcC399

MikeMcC399 commented 1 month ago

@AtofStryker

images should be released @MikeMcC399

Thank you! It mostly produced the desired results, apart from the following, which I unfortunately overlooked:

Perhaps you could take a look at correcting the cypress/included:13.11.0 tag before it causes user issues? Sorry for the inconvenience!

AtofStryker commented 1 month ago

@AtofStryker

images should be released @MikeMcC399

Thank you! It mostly produced the desired results, apart from the following, which I unfortunately overlooked:

Perhaps you could take a look at correcting the cypress/included:13.11.0 tag before it causes user issues? Sorry for the inconvenience!

no worries I can get it bumped

MikeMcC399 commented 1 month ago

Verification of published images

On amd64

Test project

Create a test project:

mkdir cy-18.20.3-test
cd cy-18.20.3-test
npm init -y
npm install cypress --save-dev
npx cypress open

In the Cypress GUI then:

Check that project runs successfully without Docker:

npx cypress run

cypress/base

Execute:

docker run -it --rm -v .:/e2e -w /e2e --entrypoint bash cypress/base:18.20.3
npx cypress install
npx cypress run
exit

Cypress should show Node.js v18.20.3 and all tests should run successfully.

cypress/browsers

docker run -it --rm -v .:/e2e -w /e2e --entrypoint bash cypress/browsers:node-18.20.3-chrome-125.0.6422.141-1-ff-126.0.1-edge-125.0.2535.85-1
npx cypress install
npx cypress info
npx cypress run
npx cypress run -b chrome
npx cypress run -b edge
npx cypress run -b firefox
exit

All tests should be successful. The browser (major) versions reported by Cypress should match the versions in the Docker image tag.

cypress/included

npm uninstall cypress
docker run -it --rm -v .:/e2e -w /e2e --entrypoint cypress cypress/included:cypress-13.11.0-node-18.20.3-chrome-125.0.6422.141-1-ff-126.0.1-edge-125.0.2535.85-1 info
docker run -it --rm -v .:/e2e -w /e2e cypress/included:cypress-13.11.0-node-18.20.3-chrome-125.0.6422.141-1-ff-126.0.1-edge-125.0.2535.85-1
docker run -it --rm -v .:/e2e -w /e2e cypress/included:cypress-13.11.0-node-18.20.3-chrome-125.0.6422.141-1-ff-126.0.1-edge-125.0.2535.85-1 -b chrome
docker run -it --rm -v .:/e2e -w /e2e cypress/included:cypress-13.11.0-node-18.20.3-chrome-125.0.6422.141-1-ff-126.0.1-edge-125.0.2535.85-1 -b edge
docker run -it --rm -v .:/e2e -w /e2e cypress/included:cypress-13.11.0-node-18.20.3-chrome-125.0.6422.141-1-ff-126.0.1-edge-125.0.2535.85-1 -b firefox

All tests should be successful. The browser (major) versions reported by Cypress should match the versions in the Docker image tag.