cypress-io / cypress-docker-images

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

docs: update contributing image size section #1080

Closed MikeMcC399 closed 4 months ago

MikeMcC399 commented 4 months ago

Issue

The CONTRIBUTING > Minimize image sizes document section is outdated concerning Debian base versions.

The default BASE_IMAGE is determined by the same named property in the factory/.env file.

When cypress/factory was introduced through PR https://github.com/cypress-io/cypress-docker-images/pull/812 in January 2023 BASE_IMAGE was set to debian:bullseye-slim (Debian 11).

Since PR https://github.com/cypress-io/cypress-docker-images/pull/1057 on May 30, 2024 BASE_IMAGE is set to debian:12-slim (codename bookworm).

The prior PR https://github.com/cypress-io/cypress-docker-images/pull/597 from March 2022, introduced bullseye-slim for Node.js 16 and above whilst retaining buster-slim for Node.js 14 and below.

Summary

Node.js 18 is the lowest currently supported version, so all currently supported Cypress Docker images have been generated using a debian:*slim variant.

Descriptions of the process before cypress/factory was introduced are no longer relevant for future contributions.

Change

The section CONTRIBUTING > Minimize image sizes is reworked to give better advice for changes that contributors may need to make.

Obsolete information regarding image generation prior to the introduction of cypress/factory is removed.

A snapshot of current sizes is included:

docker images --format "table {{.Repository}} {{.Tag}} {{.Size}}"
REPOSITORY TAG SIZE
cypress/factory 4.0.0 506MB
cypress/base 20.13.1 640MB
cypress/browsers node-20.13.1-chrome-125.0.6422.60-1-ff-126.0-edge-125.0.2535.51-1 2.14GB
cypress/included 13.10.0 2.86GB
cypress-app-bot commented 4 months ago