Cache chromium driver version

This commit is contained in:
Andrejs Cunskis 2022-08-22 16:44:36 +03:00
parent 9d5972d125
commit 4ab75d3040
No known key found for this signature in database
GPG key ID: 87CB75083F227241
2 changed files with 66 additions and 65 deletions

View file

@ -8,6 +8,41 @@ set -e
export DEBIAN_FRONTEND=noninteractive
function save-package() {
local PKG=$1
local DEB=$2
local LATEST_VERSION=$3
local SOURCE_DEB=${4:-$DEB}
local URL="${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/${PKG}/${LATEST_VERSION}/${DEB}"
echo "Checking if cache has ${DEB}"
local FILE_CHECK=$(curl --silent --location --head --output /dev/null --write "%{http_code}\\n" "$URL")
if [ "$FILE_CHECK" -eq "200" ]; then
echo "Latest version ${LATEST_VERSION} is already cached!"
else
echo "Downloading latest ${PKG} version (${LATEST_VERSION}) in apt repository..."
cd /tmp
apt-get download $PKG
if ! [ -f "${SOURCE_DEB}" ]; then
echo "Downloaded file didn't have expected name: ${SOURCE_DEB}"
ls
exit 1
fi
if [ "$SOURCE_DEB" != "$DEB" ]; then
mv "$SOURCE_DEB" "$DEB"
fi
echo "Transferring $PKG to GitLab packages"
curl --fail --header "JOB-TOKEN: ${CI_JOB_TOKEN}" \
--upload-file "./{$DEB}" \
"$URL"
fi
}
function cache-chrome() {
PKG=google-chrome-stable
@ -22,71 +57,28 @@ function cache-chrome() {
LATEST_VERSION=$(apt-cache show $PKG | grep Version | sort | tail -1 | sed -e "s/Version: //")
CHROME_DEB="google-chrome-stable_${LATEST_VERSION}_amd64.deb"
CHROME_URL="${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/${PKG}/${LATEST_VERSION}/${CHROME_DEB}"
echo "Checking if cache has $CHROME_DEB"
FILE_CHECK=$(curl --silent --location --head --output /dev/null --write "%{http_code}\\n" "$CHROME_URL")
if [ "$FILE_CHECK" -eq "200" ]; then
echo "Latest version $LATEST_VERSION is already cached!"
else
echo "Downloading latest Chrome version ($LATEST_VERSION) in apt repository..."
cd /tmp
apt-get download $PKG
if ! [ -f "$CHROME_DEB" ]; then
echo "Downloaded file didn't have expected name: $CHROME_DEB"
ls
exit 1
fi
echo "Transferring $CHROME_DEB to GitLab packages"
curl --fail --header "JOB-TOKEN: ${CI_JOB_TOKEN}" \
--upload-file "./{$CHROME_DEB}" \
"$CHROME_URL"
fi
save-package "$PKG" "$CHROME_DEB" "$LATEST_VERSION"
}
function cache-chromium() {
PKG=chromium
PKG_DRIVER=chromium-driver
echo "Checking for latest Chromium version in apt repository..."
LATEST_VERSION=$(apt-cache show $PKG | grep Version | sort | tail -1 | sed -e "s/Version: //")
VERSION_NUMBER=$(echo $LATEST_VERSION | sed -e "s/~deb.*//") # remove debian version part to have chrome and chromium compatible version numbers
CHROMIUM_DEB="chromium_${VERSION_NUMBER}_arm64.deb"
CHROMIUM_URL="${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/${PKG}/${VERSION_NUMBER}/${CHROMIUM_DEB}"
echo "Checking if cache has ${CHROMIUM_DEB}"
FILE_CHECK=$(curl --silent --location --head --output /dev/null --write "%{http_code}\\n" "$CHROMIUM_URL")
if [ "$FILE_CHECK" -eq "200" ]; then
echo "Latest version ${LATEST_VERSION} is already cached!"
else
echo "Downloading latest Chromium version (${LATEST_VERSION}) from apt repository..."
cd /tmp
apt-get download "$PKG"
DEB_FILE="chromium_${LATEST_VERSION}_arm64.deb"
if ! [ -f "$DEB_FILE" ]; then
echo "Downloaded file didn't have expected name: ${DEB_FILE}"
ls
exit 1
fi
mv "$DEB_FILE" "$CHROMIUM_DEB"
echo "Transferring ${CHROMIUM_DEB} to GitLab packages"
curl --fail --header "JOB-TOKEN: ${CI_JOB_TOKEN}" \
--upload-file "./{$CHROMIUM_DEB}" \
"$CHROMIUM_URL"
fi
CHROMIUM_DEB="${PKG}_${VERSION_NUMBER}_arm64.deb"
CHROMIUM_DRIVER_DEB="${PKG_DRIVER}_${VERSION_NUMBER}_arm64.deb"
save-package "$PKG" "$CHROMIUM_DEB" "$VERSION_NUMBER" "${PKG}_${LATEST_VERSION}_arm64.deb"
save-package "$PKG_DRIVER" "$CHROMIUM_DRIVER_DEB" "$VERSION_NUMBER" "${PKG_DRIVER}_${LATEST_VERSION}_arm64.deb"
}
echo "Updating system utils"
apt-get -y -qq update
apt-get -y install apt-utils curl gnupg2 > /dev/null
apt-get -y install apt-utils curl gnupg2 >/dev/null
if [ "$TARGETARCH" == "amd64" ]; then
cache-chrome