From a822ecbda8ce73b4513cbec40d95585616b6ec35 Mon Sep 17 00:00:00 2001 From: Mike McCready <66998419+MikeMcC399@users.noreply.github.com> Date: Thu, 8 Aug 2024 14:59:00 +0200 Subject: [PATCH 1/2] build: add default BASE_IMAGE to factory.Dockerfile (#1187) --- factory/factory.Dockerfile | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/factory/factory.Dockerfile b/factory/factory.Dockerfile index 6ebe126819..e01f8caad3 100644 --- a/factory/factory.Dockerfile +++ b/factory/factory.Dockerfile @@ -1,5 +1,7 @@ -# Set base image arg to allow easy testing of other debian versions. -ARG BASE_IMAGE +# BASE_IMAGE is expected to be overridden +# Regular builds, using docker compose, take the value from +# the .env file in the same directory as this file +ARG BASE_IMAGE='debian:12-slim' FROM ${BASE_IMAGE} AS factory From 57c8c1ca5aa551d3525cb93af1ac2023012d76fa Mon Sep 17 00:00:00 2001 From: Mike McCready <66998419+MikeMcC399@users.noreply.github.com> Date: Mon, 12 Aug 2024 16:25:58 +0200 Subject: [PATCH 2/2] docs: add browser section to readme (#1192) --- README.md | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 9267dc3d26..35b669a52e 100644 --- a/README.md +++ b/README.md @@ -17,12 +17,34 @@ We build four images: click on the image name to see the available tags and vers Cypress Docker images are Linux based, using the Docker image [debian:12-slim](https://hub.docker.com/_/debian) as the default base image. Each of the above listed Cypress Docker images is published with [multi-architecture](https://docs.docker.com/contribute/style/terminology/#multi-architecture--multi-arch) support for `Linux/amd64` and `Linux/arm64` platforms. -Note that `Linux/arm64` variants of [cypress/browsers](./browsers/) and [cypress/included](./included/) images do **not** contain additional browsers (see related Enhancement Request [#695](https://github.com/cypress-io/cypress-docker-images/issues/695)). - Cypress Docker images can be run as containers on Continuous Integration (CI) systems which support Docker. Cypress Docker images can also be run locally under [Docker Desktop](https://docs.docker.com/desktop/) for Mac, Linux or Windows environments. In the case of Windows environments, see [Docker Desktop for Windows](https://docs.docker.com/desktop/install/windows-install/) and Cypress documentation [Windows Subsystem for Linux](https://on.cypress.io/guides/references/advanced-installation#Windows-Subsystem-for-Linux) for additional information regarding Microsoft's `WSL2` and `WSLg` subsystems. The documentation and scripts in this repository assume that Docker Desktop for Windows runs in a virtual Linux environment. +## Browsers + +Cypress Docker images [cypress/browsers](./browsers/) include browsers for the `Linux/amd64` platform. Availability is pending for the `Linux/arm64` platform. + +| Browser | `Linux/amd64` | `Linux/arm64` | +| -------------------------- | :----------------: | :--------------------------------------------------------------------------- | +| [Google Chrome][Chrome] | :white_check_mark: | see [#1188](https://github.com/cypress-io/cypress-docker-images/issues/1188) | +| [Mozilla Firefox][Firefox] | :white_check_mark: | see [#1190](https://github.com/cypress-io/cypress-docker-images/issues/1190) | +| [Microsoft Edge][Edge] | :white_check_mark: | see [#1189](https://github.com/cypress-io/cypress-docker-images/issues/1189) | + +On POSIX-based systems, or with [Git for Windows](https://gitforwindows.org/) at a Git Bash prompt, execute `uname -m` to display your system's architecture. ([x86_64](https://en.wikipedia.org/wiki/X86-64) is equivalent to `amd64`.) + + + +[Chrome]: https://developer.chrome.com/ +[Firefox]: https://www.mozilla.org/firefox +[Edge]: https://developer.microsoft.com/microsoft-edge/ + +[cypress/included](./included/) images, which are built on top of [cypress/browsers](./browsers/), contain the same set of browsers. + +[Tags](#tag-selection) for [cypress/browsers](./browsers/) and [cypress/included](./included/) images show which versions of the browsers are loaded into the respective image. (Disregard the browser version tags for current `Linux/arm64` images however.) + +Building a custom image with [cypress/factory](./factory/) allows selection of individual browsers from the above list. + ## Tag Selection If no tag is specified, for example `cypress/included`, then the tag `latest` is used by default: `cypress/included:latest`. It is however recommended to use a specific image tag to avoid breaking changes when new images are released, especially when they include new major versions of Node.js or Cypress.