devops: fix reporting for chromium-with-symbols (#7159)

Chromium-with-symbols is the first time we produce a second set of
builds for the same browser.

This patch adds support for this usecase to report build progress
appropriately.
This commit is contained in:
Andrey Lushnikov 2021-06-15 16:01:11 -07:00 committed by GitHub
parent b625a04adc
commit 312fd3ed4e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 34 additions and 46 deletions

View File

@ -1,41 +0,0 @@
#!/bin/bash
set -e
set +x
if [[ ($1 == '--help') || ($1 == '-h') ]]; then
echo "usage: $(basename $0) [firefox|webkit|chromium|ffmpeg] [--full-history] [--has-all-builds]"
echo
echo "List CDN status for browser"
echo
exit 0
fi
if [[ $# == 0 ]]; then
echo "missing browser: 'firefox', 'webkit', 'chromium' or 'ffmpeg'"
echo "try './$(basename $0) --help' for more information"
exit 1
fi
trap "cd $(pwd -P)" EXIT
cd "$(dirname "$0")"
HOST="https://playwright2.blob.core.windows.net/builds"
BROWSER_NAME="$1"
if [[ (! -f "./${BROWSER_NAME}/BUILD_NUMBER") || (! -f "./${BROWSER_NAME}/EXPECTED_BUILDS") ]]; then
echo ERROR: unknown application - "$1"
exit 1
fi
REVISION=$(head -1 "./${BROWSER_NAME}/BUILD_NUMBER")
BUILD_NAMES="./${BROWSER_NAME}/EXPECTED_BUILDS"
for i in $(cat "${BUILD_NAMES}"); do
URL="${HOST}/${BROWSER_NAME}/${REVISION}/$i"
if ! [[ $(curl -s -L -I $URL | head -1 | cut -f2 -d' ') == 200 ]]; then
echo "${BROWSER_NAME} r${REVISION} is missing build: $i"
exit 1
fi
done;
echo "All expected builds are uploaded."

View File

@ -32,6 +32,7 @@ elif [[ "$CURRENT_HOST_OS" == "Linux" ]]; then
fi
BROWSER_NAME=""
BROWSER_DISPLAY_NAME=""
EXTRA_BUILD_ARGS=""
EXTRA_ARCHIVE_ARGS=""
BUILD_FLAVOR="$1"
@ -39,6 +40,7 @@ BUILD_BLOB_NAME=""
EXPECTED_HOST_OS=""
EXPECTED_HOST_OS_VERSION=""
EXPECTED_ARCH="x86_64"
BUILDS_LIST="EXPECTED_BUILDS"
# ===========================
# WINLDD COMPILATION
@ -119,37 +121,47 @@ elif [[ "$BUILD_FLAVOR" == "chromium-linux" ]]; then
# ===========================
elif [[ "$BUILD_FLAVOR" == "chromium-with-symbols-win32" ]]; then
BROWSER_NAME="chromium"
BROWSER_DISPLAY_NAME="chromium-with-symbols"
EXTRA_BUILD_ARGS="--compile-win32 --symbols"
EXTRA_ARCHIVE_ARGS="--compile-win32"
EXPECTED_HOST_OS="MINGW"
BUILD_BLOB_NAME="chromium-with-symbols-win32.zip"
BUILDS_LIST="EXPECTED_BUILDS_WITH_SYMBOLS"
elif [[ "$BUILD_FLAVOR" == "chromium-with-symbols-win64" ]]; then
BROWSER_NAME="chromium"
BROWSER_DISPLAY_NAME="chromium-with-symbols"
EXTRA_BUILD_ARGS="--compile-win64 --symbols"
EXTRA_ARCHIVE_ARGS="--compile-win64"
EXPECTED_HOST_OS="MINGW"
BUILD_BLOB_NAME="chromium-with-symbols-win64.zip"
BUILDS_LIST="EXPECTED_BUILDS_WITH_SYMBOLS"
elif [[ "$BUILD_FLAVOR" == "chromium-with-symbols-mac" ]]; then
BROWSER_NAME="chromium"
BROWSER_DISPLAY_NAME="chromium-with-symbols"
EXTRA_BUILD_ARGS="--compile-mac --symbols"
EXTRA_ARCHIVE_ARGS="--compile-mac"
EXPECTED_HOST_OS="Darwin"
EXPECTED_HOST_OS_VERSION="10.15"
BUILD_BLOB_NAME="chromium-with-symbols-mac.zip"
BUILDS_LIST="EXPECTED_BUILDS_WITH_SYMBOLS"
elif [[ "$BUILD_FLAVOR" == "chromium-with-symbols-mac-arm64" ]]; then
BROWSER_NAME="chromium"
BROWSER_DISPLAY_NAME="chromium-with-symbols"
EXTRA_BUILD_ARGS="--compile-mac-arm64 --symbols"
EXTRA_ARCHIVE_ARGS="--compile-mac-arm64"
EXPECTED_HOST_OS="Darwin"
EXPECTED_HOST_OS_VERSION="10.15"
BUILD_BLOB_NAME="chromium-with-symbols-mac-arm64.zip"
BUILDS_LIST="EXPECTED_BUILDS_WITH_SYMBOLS"
elif [[ "$BUILD_FLAVOR" == "chromium-with-symbols-linux" ]]; then
BROWSER_NAME="chromium"
BROWSER_DISPLAY_NAME="chromium-with-symbols"
EXTRA_BUILD_ARGS="--compile-linux --symbols"
EXTRA_ARCHIVE_ARGS="--compile-linux"
EXPECTED_HOST_OS="Ubuntu"
EXPECTED_HOST_OS_VERSION="18.04"
BUILD_BLOB_NAME="chromium-with-symbols-linux.zip"
BUILDS_LIST="EXPECTED_BUILDS_WITH_SYMBOLS"
# ===========================
@ -314,6 +326,10 @@ else
exit 1
fi
if [[ -z "$BROWSER_DISPLAY_NAME" ]]; then
BROWSER_DISPLAY_NAME="${BROWSER_NAME}"
fi
if [[ "$CURRENT_ARCH" != "$EXPECTED_ARCH" ]]; then
echo "ERROR: cannot build $BUILD_FLAVOR"
echo " -- expected arch: $EXPECTED_ARCH"
@ -397,7 +413,7 @@ BUILD_ALIAS="$BUILD_FLAVOR r$BUILD_NUMBER"
send_telegram_message "$BUILD_ALIAS -- started"
if generate_and_upload_browser_build 2>&1 | ./sanitize_and_compress_log.js $LOG_PATH; then
# Report successful build. Note: we don't know how to get zip size on MINGW.
# Report successful build. Note: MINGW might not have `du` command.
UPLOAD_SIZE=""
if command -v du >/dev/null && command -v awk >/dev/null; then
UPLOAD_SIZE="$(du -h "$ZIP_PATH" | awk '{print $1}') "
@ -405,10 +421,18 @@ if generate_and_upload_browser_build 2>&1 | ./sanitize_and_compress_log.js $LOG_
send_telegram_message "$BUILD_ALIAS -- ${UPLOAD_SIZE}uploaded"
# Check if we uploaded the last build.
if ./check_cdn.sh $BROWSER_NAME > /dev/null; then
LAST_COMMIT_MESSAGE=$(git log --format=%s -n 1 HEAD -- ./$BROWSER_NAME/BUILD_NUMBER)
send_telegram_message "<b>$BROWSER_NAME r${BUILD_NUMBER} COMPLETE! ✅</b> $LAST_COMMIT_MESSAGE"
fi
(
for i in $(cat "${BROWSER_NAME}/${BUILDS_LIST}"); do
URL="${HOST}/${BROWSER_NAME}/${BUILD_NUMBER}/$i"
if ! [[ $(curl -s -L -I $URL | head -1 | cut -f2 -d' ') == 200 ]]; then
# Exit subshell
echo "Missing build at ${URL}"
exit
fi
done;
LAST_COMMIT_MESSAGE=$(git log --format=%s -n 1 HEAD -- "./${BROWSER_NAME}/BUILD_NUMBER")
send_telegram_message "<b>${BROWSER_DISPLAY_NAME} r${BUILD_NUMBER} COMPLETE! ✅</b> ${LAST_COMMIT_MESSAGE}"
)
else
RESULT_CODE="$?"
if (( RESULT_CODE == 10 )); then

View File

@ -0,0 +1,5 @@
chromium-with-symbols-mac.zip
chromium-with-symbols-mac-arm64.zip
chromium-with-symbols-linux.zip
chromium-with-symbols-win32.zip
chromium-with-symbols-win64.zip