Description
Subject
guides, examples, mirror setup
Description
The current documentation describes mirroring briefly, and there are a few different options in setting up a mirror. The docs do not give detail on how to do the actual setup of the mirror. It only references how to use a mirror that was hopefully set up correctly.
Relevant links:
The docs reference 3 main approaches:
-
Using
download.cypress.io
(full site)If you choose to mirror the entire Cypress download site,"
It seems that mirroring
download.cypress.io
, we would need to mirror everything, including the query params and redirect behavior. This is not clear how to set up correctly. -
Using
cdn.cypress.io
To install the binary from a download mirror that matches the exact file structure of https://cdn.cypress.io (works for Cypress 9.3.0 or newer):
export CYPRESS_DOWNLOAD_MIRROR=https://cypress-download.local export CYPRESS_DOWNLOAD_PATH_TEMPLATE='${endpoint}/${platform}-${arch}/cypress.zip' # Example of a resulting URL: https://cypress-download.local/desktop/10.11.0/linux-x64/cypress.zip
-
Some custom file structure
To install the binary from a download server with a custom file structure (works for Cypress 10.6.0 or newer):
export CYPRESS_DOWNLOAD_PATH_TEMPLATE='https://software.local/cypress/${platform}/${arch}/${version}/cypress.zip' # Example of a resulting URL: https://software.local/cypress/linux/x64/10.11.0/cypress.zip
Each of these 3 will need to be set up in different ways. Since mirrors could just copy/cache the files, or actually redirect/proxy to the source system, or both, it would be helpful to have more detailed descriptions.
Note: An important part is how to differentiate between installs (Windows, MacOS, Linux), and also how to update the files as new versions are released.
(Also see discussion at cypress-io/cypress#8471 where a mirror issue caused problems, but was not obvious why)