From da34657f8486ed1429b5f228a78dfc277d166a35 Mon Sep 17 00:00:00 2001 From: Andrejs Cunskis Date: Tue, 4 Oct 2022 18:26:05 +0300 Subject: [PATCH] Notify quality slack channel when new version of chrome has been released --- .gitlab/ci/definitions.yml | 1 + Dockerfile.cache-chrome | 1 + scripts/cache-google-chrome | 20 +++++++++++++++++++- 3 files changed, 21 insertions(+), 1 deletion(-) diff --git a/.gitlab/ci/definitions.yml b/.gitlab/ci/definitions.yml index 017f2d7..c985366 100644 --- a/.gitlab/ci/definitions.yml +++ b/.gitlab/ci/definitions.yml @@ -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" \ . diff --git a/Dockerfile.cache-chrome b/Dockerfile.cache-chrome index 5e1d45c..cf03032 100644 --- a/Dockerfile.cache-chrome +++ b/Dockerfile.cache-chrome @@ -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 diff --git a/scripts/cache-google-chrome b/scripts/cache-google-chrome index e08bd4c..45144df 100755 --- a/scripts/cache-google-chrome +++ b/scripts/cache-google-chrome @@ -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