#!/bin/bash set -xeuo pipefail IFS=$'\n\t' function download_deb() { component=$1 if [ "${component}" == "browser" ]; then local DEB="${PKG}_${CHROME_VERSION}_${ARCH}.deb" else local DEB="${PKG}-${component}_${CHROME_VERSION}_${ARCH}.deb" fi curl --silent --show-error --fail -O "${DOWNLOAD_URL_BASE}/${CHROME_VERSION}/$DEB" echo "${DEB}" } function build_debian() { echo "Installing browser" BROWSER_DEB="$(download_deb browser)" if [ "${ARCH}" == "arm64" ]; then COMMON_DEB=$(download_deb common) apt install -y "$PWD/${COMMON_DEB}" "$PWD/${BROWSER_DEB}" rm -rf "$COMMON_DEB" else apt install -y "$PWD/${BROWSER_DEB}" fi rm -f "$BROWSER_DEB" 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) 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 else DRIVER_DEB=$(download_deb driver) apt install -y "$PWD/$DRIVER_DEB" rm -f "$DRIVER_DEB" fi apt-get autoremove -yq apt-get clean -yqq rm -rf /var/lib/apt/lists/* rm -rf /etc/apt/sources.list.d/google*.list } BUILD_OS=${BUILD_OS:-debian} CHROME_VERSION=${1:-107.0.5304.87-1} ARCH=${TARGETARCH:-amd64} if [ "${ARCH}" == "amd64" ]; then PKG=google-chrome-stable else PKG=chromium fi DOWNLOAD_URL_BASE="https://gitlab.com/api/v4/projects/1075790/packages/generic/${PKG}" if [[ $BUILD_OS =~ debian ]]; then build_debian "$@" elif [[ $BUILD_OS =~ ubi ]]; then build_ubi "$@" fi