Merge branch 'chrome-notification' into 'master'

Notify quality slack channel when new version of chrome has been released

Closes gitlab-org/quality/quality-engineering/team-tasks#1328

See merge request https://gitlab.com/gitlab-org/gitlab-build-images/-/merge_requests/587

Merged-by: Stan Hu <stanhu@gmail.com>
Approved-by: Rémy Coutable <remy@rymai.me>
Approved-by: Stan Hu <stanhu@gmail.com>
Co-authored-by: Andrejs Cunskis <acunskis@gitlab.com>
This commit is contained in:
Stan Hu 2022-10-04 18:07:17 +00:00
commit b44e0723c3
3 changed files with 21 additions and 1 deletions

View file

@ -51,6 +51,7 @@
--build-arg CI_API_V4_URL=$CI_API_V4_URL \
--build-arg CI_PROJECT_ID=$CI_PROJECT_ID \
--build-arg CI_JOB_TOKEN=$CI_JOB_TOKEN \
--build-arg CI_SLACK_WEBHOOK_URL=$CI_SLACK_WEBHOOK_URL \
--platform $ARCH \
-f "Dockerfile.cache-chrome" \
.

View file

@ -5,6 +5,7 @@ ARG TARGETARCH
ARG CI_API_V4_URL
ARG CI_PROJECT_ID
ARG CI_JOB_TOKEN
ARG CI_SLACK_WEBHOOK_URL
ADD scripts/cache-google-chrome /cache-google-chrome

View file

@ -41,6 +41,8 @@ function save-package() {
curl --fail --header "JOB-TOKEN: ${CI_JOB_TOKEN}" \
--upload-file "./{$DEB}" \
"$URL"
echo "$LATEST_VERSION" >chrome-version # save latest version to file to indicate a new version has been cached
fi
}
@ -68,12 +70,27 @@ function cache-chromium() {
VERSION_NUMBER=$(echo $LATEST_VERSION | sed -e "s/~deb.*//") # remove debian version part to have chrome and chromium compatible version numbers
CHROMIUM_DEB="${PKG}_${VERSION_NUMBER}_${TARGETARCH}.deb"
CHROMIUM_DRIVER_DEB="${PKG_DRIVER}_${VERSION_NUMBER}_${TARGETARCH}.deb"
# Save both chromium and chromium-driver under the same package
save-package "$PKG" "$CHROMIUM_DEB" "$VERSION_NUMBER" "${PKG}" "${PKG}_${LATEST_VERSION}_${TARGETARCH}.deb"
save-package "$PKG_DRIVER" "$CHROMIUM_DRIVER_DEB" "$VERSION_NUMBER" "${PKG}" "${PKG_DRIVER}_${LATEST_VERSION}_${TARGETARCH}.deb"
}
function notify-chrome-updated() {
[ ! -f chrome-version ] && exit
local chrome_version=$(cat chrome-version)
local msg="New version of chrome has been released: \`${chrome_version}\`!\n"
msg+="Consider updating versions in:\n"
msg+="- https://gitlab.com/gitlab-org/gitlab-build-images\n"
msg+="- https://gitlab.com/gitlab-org/gitlab"
local payload="{\"text\":\"$msg\",\"channel\":\"#quality\",\"icon_emoji\":\":chrome:\",\"username\":\"chrome-update\"}"
echo "Notifying #quality channel of new chrome version release!"
curl -s -X POST -H 'Content-type: application/json' --data "$payload" "$CI_SLACK_WEBHOOK_URL"
}
echo "Updating system utils"
apt-get -y -qq update
apt-get -y install apt-utils curl gnupg2 >/dev/null
@ -81,6 +98,7 @@ apt-get -y install apt-utils curl gnupg2 >/dev/null
if [ "$TARGETARCH" == "amd64" ]; then
cache-chrome
cache-chromium
notify-chrome-updated
else
cache-chromium
fi