diff --git a/.gitlab/ci/e2e.images.yml b/.gitlab/ci/e2e.images.yml index c83cb2d..211b0e8 100644 --- a/.gitlab/ci/e2e.images.yml +++ b/.gitlab/ci/e2e.images.yml @@ -34,7 +34,7 @@ e2e-chrome: matrix: - RUBY: ['3.0', '3.1', '3.2'] BUNDLER: ['2.3', '2.4'] - CHROME: ['110', '113'] + CHROME: ['113', '117'] # Image used for running full e2e test suite e2e-full: diff --git a/.gitlab/ci/gitlab.images.yml b/.gitlab/ci/gitlab.images.yml index 1435778..fd2e89c 100644 --- a/.gitlab/ci/gitlab.images.yml +++ b/.gitlab/ci/gitlab.images.yml @@ -29,7 +29,7 @@ gitlab: GOLANG: ['1.19', '1.20', '1.21'] RUST: ['1.65'] NODE: ['18.17'] - CHROME: ['109', '113'] + CHROME: ['113', '117'] # Used by GitLab's compile-production-assets and compile-test-assets jobs gitlab-assets: diff --git a/scripts/install-chrome b/scripts/install-chrome index cfc3da8..b1734dc 100755 --- a/scripts/install-chrome +++ b/scripts/install-chrome @@ -37,11 +37,21 @@ function build_debian() { echo "Installing webdriver" if [ "${ARCH}" == "amd64" ]; then CHROME_VERSION_BASE=$(echo $CHROME_VERSION | awk -F "." '{print $1 "." $2 "." $3}') - CHROME_DRIVER_VERSION=$(curl -q https://chromedriver.storage.googleapis.com/LATEST_RELEASE_$CHROME_VERSION_BASE) + CHROME_VERSION_MAJOR=$(echo $CHROME_VERSION | awk -F "." '{print $1}') - wget -q https://chromedriver.storage.googleapis.com/$CHROME_DRIVER_VERSION/chromedriver_linux64.zip - unzip chromedriver_linux64.zip -d /usr/local/bin - rm -f chromedriver_linux64.zip + # Chromedriver location has moved starting with v115 + # TODO: Remove once oldest supported version across installs is > 114 + if [ "$CHROME_VERSION_MAJOR" -gt "114" ]; then + CHROME_DRIVER_VERSION=$(curl -q https://googlechromelabs.github.io/chrome-for-testing/LATEST_RELEASE_$CHROME_VERSION_BASE) + WEBDRIVER_URL=https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/$CHROME_DRIVER_VERSION/linux64/chromedriver-linux64.zip + else + CHROME_DRIVER_VERSION=$(curl -q https://chromedriver.storage.googleapis.com/LATEST_RELEASE_$CHROME_VERSION_BASE) + WEBDRIVER_URL=https://chromedriver.storage.googleapis.com/$CHROME_DRIVER_VERSION/chromedriver_linux64.zip + fi + + wget -q -O chromedriver.zip $WEBDRIVER_URL + unzip chromedriver.zip -d /usr/local/bin + rm -f chromedriver.zip else DRIVER_DEB=$(download_deb driver) apt-get install -y "./$DRIVER_DEB" @@ -76,7 +86,7 @@ BUILD_OS=${BUILD_OS:-debian} OS_VERSION=${OS_VERSION:-bullseye} # When using a -slim version, actually use the non-slim OS version. -# +# # See https://gitlab.com/gitlab-org/gitlab-build-images/-/merge_requests/729#note_1564796274 if [[ $OS_VERSION =~ .+-slim ]]; then OS_VERSION=${OS_VERSION%%-slim} diff --git a/scripts/lib/custom-docker-build b/scripts/lib/custom-docker-build index 34b4b09..59f678b 100755 --- a/scripts/lib/custom-docker-build +++ b/scripts/lib/custom-docker-build @@ -77,10 +77,8 @@ function print_rust_args() { printf -- "--build-arg INSTALL_RUST_VERSION=%s " "$INSTALL_RUST_VERSION" } -# If you add a new minor version here, be sure to check that the -# Chrome versions can be found at https://www.ubuntuupdates.org/pm/google-chrome-stable. -# ChromeDriver supports this: https://sites.google.com/chromium.org/driver/downloads -# You may need to bump the version in scripts/install-chrome. +# Check https://gitlab.com/gitlab-org/gitlab-build-images/-/packages to see which versions have been cached +# Chromium version can sometimes lag behind so the versions have to be defined separately function print_chrome_args() { case "$1" in 109|109.0) @@ -99,6 +97,10 @@ function print_chrome_args() { CHROME_VERSION=113.0.5672.126-1 CHROMIUM_VERSION=$CHROME_VERSION ;; + 117|117.0) + CHROME_VERSION=117.0.5938.92-1 + CHROMIUM_VERSION=117.0.5938.62-1 + ;; *) fail "Unknown chrome version $1" ;; esac printf -- "--build-arg CHROME_VERSION=%s " "$CHROME_VERSION"