From c950845f67b28678d4059853f137a29c16735f19 Mon Sep 17 00:00:00 2001 From: Mike McCready <66998419+MikeMcC399@users.noreply.github.com> Date: Sun, 24 Nov 2024 15:54:25 +0100 Subject: [PATCH 1/3] feat: add BROWSERS_IMAGE_SHORT_TAG --- CONTRIBUTING.md | 2 +- factory/.env | 5 ++++- factory/docker-compose.yml | 1 + 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 49dfc34350..450aa6a6d7 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -79,7 +79,7 @@ If you need to release alternate versions that do not qualify to be primary vers 1. Create a feature branch in the form `-node--publish`, for example `13.11.0-node-18.20.3-publish`, branched from the `master` branch. If you are not a member of the Cypress org, make a request via a new issue to create a feature branch. 2. Modify [factory/.env](./factory/.env) with the desired versions. Do not modify the `FACTORY_VERSION`. No new `cypress/factory` image should be published with this process. -3. Modify [factory/docker-compose.yml](./factory/docker-compose.yml) to comment out the creation of `latest` tags. Comment out the `cypress/included` `INCLUDED_IMAGE_SHORT_TAG` to also prevent this tag from being created. This step is essential to avoid the related tags of any existing released images being moved to point to non-primary images. +3. Modify [factory/docker-compose.yml](./factory/docker-compose.yml) to comment out the creation of `latest` tags. Comment out the `cypress/browsers` `BROWSERS_IMAGE_SHORT_TAG` and `cypress/included` `INCLUDED_IMAGE_SHORT_TAG` to also prevent these tags from being created. This step is essential to avoid the related tags of any existing released images being moved to point to non-primary images. 4. Modify [circle.yml](circle.yml) to push releases from the feature branch. 5. Open a PR which targets the feature branch. 6. After PR merge, check Docker Hub and the associated new image(s). diff --git a/factory/.env b/factory/.env index b9f9b04621..e2e9690d48 100644 --- a/factory/.env +++ b/factory/.env @@ -40,9 +40,12 @@ YARN_VERSION='1.22.22' # TODO: Globally installed webkit currently isn't found, see issue https://github.com/cypress-io/cypress/issues/25344 # WEBKIT_VERSION='1.29.0' -# Tags used for the Docker images generated from cypress/factory. Keep in mind the Docker images will only release if these versions change. +# Tags used for the Docker images generated from cypress/factory. +# A change to BASE_IMAGE_TAG, BROWSERS_IMAGE_TAG or INCLUDED_IMAGE_TAG causes a corresponding new image to be deployed. +# The short-form convenience tags, BROWSERS_IMAGE_SHORT_TAG and INCLUDED_IMAGE_SHORT_TAG, are not used in determining whether to deploy a new image. BASE_IMAGE_TAG="${NODE_VERSION}" +BROWSERS_IMAGE_SHORT_TAG="${NODE_VERSION}" BROWSERS_IMAGE_TAG="node-${NODE_VERSION}-chrome-${CHROME_VERSION}-ff-${FIREFOX_VERSION}-edge-${EDGE_VERSION}" INCLUDED_IMAGE_SHORT_TAG="${CYPRESS_VERSION}" diff --git a/factory/docker-compose.yml b/factory/docker-compose.yml index a29658ce39..8aece83027 100644 --- a/factory/docker-compose.yml +++ b/factory/docker-compose.yml @@ -55,6 +55,7 @@ services: EDGE_VERSION: ${EDGE_VERSION} tags: - ${REPO_PREFIX-}cypress/browsers:latest # comment out for release of alternate version + - ${REPO_PREFIX-}cypress/browsers:${BROWSERS_IMAGE_SHORT_TAG} # comment out for release of alternate version - ${REPO_PREFIX-}cypress/browsers:${BROWSERS_IMAGE_TAG} command: node -v From b0c0841aefb76b0787071203b22749f76962ff60 Mon Sep 17 00:00:00 2001 From: Mike McCready <66998419+MikeMcC399@users.noreply.github.com> Date: Mon, 25 Nov 2024 18:01:50 +0100 Subject: [PATCH 2/3] BROWSERS_IMAGE_SHORT_TAG usable for alternate versions --- CONTRIBUTING.md | 2 +- factory/docker-compose.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 450aa6a6d7..49dfc34350 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -79,7 +79,7 @@ If you need to release alternate versions that do not qualify to be primary vers 1. Create a feature branch in the form `-node--publish`, for example `13.11.0-node-18.20.3-publish`, branched from the `master` branch. If you are not a member of the Cypress org, make a request via a new issue to create a feature branch. 2. Modify [factory/.env](./factory/.env) with the desired versions. Do not modify the `FACTORY_VERSION`. No new `cypress/factory` image should be published with this process. -3. Modify [factory/docker-compose.yml](./factory/docker-compose.yml) to comment out the creation of `latest` tags. Comment out the `cypress/browsers` `BROWSERS_IMAGE_SHORT_TAG` and `cypress/included` `INCLUDED_IMAGE_SHORT_TAG` to also prevent these tags from being created. This step is essential to avoid the related tags of any existing released images being moved to point to non-primary images. +3. Modify [factory/docker-compose.yml](./factory/docker-compose.yml) to comment out the creation of `latest` tags. Comment out the `cypress/included` `INCLUDED_IMAGE_SHORT_TAG` to also prevent this tag from being created. This step is essential to avoid the related tags of any existing released images being moved to point to non-primary images. 4. Modify [circle.yml](circle.yml) to push releases from the feature branch. 5. Open a PR which targets the feature branch. 6. After PR merge, check Docker Hub and the associated new image(s). diff --git a/factory/docker-compose.yml b/factory/docker-compose.yml index 8aece83027..4f73a2a101 100644 --- a/factory/docker-compose.yml +++ b/factory/docker-compose.yml @@ -55,7 +55,7 @@ services: EDGE_VERSION: ${EDGE_VERSION} tags: - ${REPO_PREFIX-}cypress/browsers:latest # comment out for release of alternate version - - ${REPO_PREFIX-}cypress/browsers:${BROWSERS_IMAGE_SHORT_TAG} # comment out for release of alternate version + - ${REPO_PREFIX-}cypress/browsers:${BROWSERS_IMAGE_SHORT_TAG} - ${REPO_PREFIX-}cypress/browsers:${BROWSERS_IMAGE_TAG} command: node -v From c19ce1476c024a5667fee0cc2a1ddeb7c387f738 Mon Sep 17 00:00:00 2001 From: Mike McCready <66998419+MikeMcC399@users.noreply.github.com> Date: Tue, 26 Nov 2024 09:37:45 +0100 Subject: [PATCH 3/3] chore: minor chrome and edge version update Update - CHROME_VERSION to 131.0.6778.85-1 - EDGE_VERSION to 131.0.2903.70-1 --- factory/.env | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/factory/.env b/factory/.env index e2e9690d48..cbbf55e373 100644 --- a/factory/.env +++ b/factory/.env @@ -21,13 +21,13 @@ NODE_VERSION="${FACTORY_DEFAULT_NODE_VERSION}" FACTORY_VERSION='5.1.0' # Chrome versions: https://www.ubuntuupdates.org/package/google_chrome/stable/main/base/google-chrome-stable -CHROME_VERSION='131.0.6778.69-1' +CHROME_VERSION='131.0.6778.85-1' # Cypress versions: https://www.npmjs.com/package/cypress CYPRESS_VERSION='13.16.0' # Edge versions: https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-stable/ -EDGE_VERSION='131.0.2903.51-1' +EDGE_VERSION='131.0.2903.70-1' # Firefox versions: https://download-installer.cdn.mozilla.net/pub/firefox/releases/ FIREFOX_VERSION='132.0.2'