mirror of
https://ops.gitlab.net/gitlab-org/gitlab-build-images.git
synced 2025-12-10 02:22:57 +01:00
65 lines
1.8 KiB
Bash
Executable file
65 lines
1.8 KiB
Bash
Executable file
#!/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
|