mirror of
https://github.com/microsoft/playwright.git
synced 2024-09-21 01:17:43 +03:00
devops: rewrite checkout_build_archive_upload with build flavors
This patch establishes the following convention: - scripts `checkout_build_archive_upload.sh` and `upload.sh` now accept build flavor instead of browser name. Build flavor fully defines the build produced / uploaded. - scripts under `//browser_patches/webkit` and `//browser_patches/firefox` produce build that is specific to the host system.
This commit is contained in:
parent
fc9ddb7c3c
commit
9a944db53f
@ -55,7 +55,7 @@ if [[ -n $(git status -s) ]]; then
|
||||
fi
|
||||
|
||||
git pull origin master
|
||||
../checkout_build_archive_upload.sh firefox >/tmp/$(basename $0)-firefox-log.log || true
|
||||
../checkout_build_archive_upload.sh firefox-linux >/tmp/$(basename $0)--firefox-linux.log || true
|
||||
|
||||
git pull origin master
|
||||
../checkout_build_archive_upload.sh webkit >/tmp/$(basename $0)-webkit-log.log || true
|
||||
../checkout_build_archive_upload.sh webkit-gtk >/tmp/$(basename $0)--webkit-gtk.log || true
|
||||
|
@ -61,7 +61,7 @@ if [[ -n $(git status -s) ]]; then
|
||||
fi
|
||||
|
||||
git pull origin master
|
||||
../checkout_build_archive_upload.sh firefox >/tmp/$(basename $0)-firefox-log.log || true
|
||||
../checkout_build_archive_upload.sh firefox-mac >/tmp/$(basename $0)--firefox-mac.log || true
|
||||
|
||||
git pull origin master
|
||||
../checkout_build_archive_upload.sh webkit >/tmp/$(basename $0)-webkit-log.log || true
|
||||
../checkout_build_archive_upload.sh webkit-mac-10.14 >/tmp/$(basename $0)--webkit-mac-10.14.log || true
|
||||
|
@ -62,4 +62,4 @@ if [[ -n $(git status -s) ]]; then
|
||||
fi
|
||||
|
||||
git pull origin master
|
||||
../checkout_build_archive_upload.sh webkit >/tmp/$(basename $0)-webkit-log.log || true
|
||||
../checkout_build_archive_upload.sh webkit-mac-10.15 >/tmp/$(basename $0)--webkit-mac-10.15.log || true
|
||||
|
@ -45,9 +45,9 @@ while true; do
|
||||
iteration=$(( iteration + 1 ))
|
||||
echo "== ITERATION ${iteration} =="
|
||||
git pull origin master
|
||||
../checkout_build_archive_upload.sh webkit || true
|
||||
../checkout_build_archive_upload.sh webkit-win64 || true
|
||||
git pull origin master
|
||||
../checkout_build_archive_upload.sh firefox || true
|
||||
../checkout_build_archive_upload.sh firefox-win32 || true
|
||||
git pull origin master
|
||||
../checkout_build_archive_upload.sh firefox-win64 || true
|
||||
newTimestamp=$(date +%s)
|
||||
|
@ -3,7 +3,7 @@ set -e
|
||||
set +x
|
||||
|
||||
if [[ ($1 == '--help') || ($1 == '-h') ]]; then
|
||||
echo "usage: $(basename $0) [firefox|firefox-win64|webkit] [-f|--force]"
|
||||
echo "usage: $(basename $0) [firefox-linux|firefox-win32|firefox-win64|webkit-gtk|webkit-win64|webkit-mac-10.14|webkit-mac-10.15] [-f|--force]"
|
||||
echo
|
||||
echo "Prepares checkout under browser folder, applies patches, builds, archives, and uploades if build is missing."
|
||||
echo "Script will bail out early if the build for the browser version is already present."
|
||||
@ -15,22 +15,66 @@ if [[ ($1 == '--help') || ($1 == '-h') ]]; then
|
||||
fi
|
||||
|
||||
if [[ $# == 0 ]]; then
|
||||
echo "missing browser: 'firefox' or 'webkit'"
|
||||
echo "missing build flavor!"
|
||||
echo "try './$(basename $0) --help' for more information"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
CURRENT_HOST_OS="$(uname)"
|
||||
CURRENT_HOST_OS_VERSION=""
|
||||
if [[ "$CURRENT_HOST_OS" == "Darwin" ]]; then
|
||||
CURRENT_HOST_OS_VERSION=$(sw_vers -productVersion | grep -o '^\d\+.\d\+')
|
||||
fi
|
||||
|
||||
BROWSER_NAME=""
|
||||
EXTRA_BUILD_ARGS=""
|
||||
if [[ ("$1" == "firefox") || ("$1" == "firefox/") ]]; then
|
||||
BUILD_FLAVOR="$1"
|
||||
EXPECTED_HOST_OS=""
|
||||
EXPECTED_HOST_OS_VERSION=""
|
||||
if [[ "$BUILD_FLAVOR" == "firefox-linux" ]]; then
|
||||
BROWSER_NAME="firefox"
|
||||
elif [[ ("$1" == "firefox-win64") || ("$1" == "firefox-win64/") ]]; then
|
||||
EXPECTED_HOST_OS="Linux"
|
||||
elif [[ "$BUILD_FLAVOR" == "firefox-mac" ]]; then
|
||||
BROWSER_NAME="firefox"
|
||||
EXPECTED_HOST_OS="Darwin"
|
||||
EXPECTED_HOST_OS_VERSION="10.14"
|
||||
elif [[ "$BUILD_FLAVOR" == "firefox-win32" ]]; then
|
||||
BROWSER_NAME="firefox"
|
||||
EXPECTED_HOST_OS="MINGW"
|
||||
elif [[ "$BUILD_FLAVOR" == "firefox-win64" ]]; then
|
||||
BROWSER_NAME="firefox"
|
||||
EXTRA_BUILD_ARGS="--win64"
|
||||
elif [[ ("$1" == "webkit") || ("$1" == "webkit/") ]]; then
|
||||
EXPECTED_HOST_OS="MINGW"
|
||||
elif [[ "$BUILD_FLAVOR" == "webkit-gtk" ]]; then
|
||||
BROWSER_NAME="webkit"
|
||||
EXPECTED_HOST_OS="Linux"
|
||||
elif [[ "$BUILD_FLAVOR" == "webkit-win64" ]]; then
|
||||
BROWSER_NAME="webkit"
|
||||
EXPECTED_HOST_OS="MINGW"
|
||||
elif [[ "$BUILD_FLAVOR" == "webkit-mac-10.14" ]]; then
|
||||
BROWSER_NAME="webkit"
|
||||
EXPECTED_HOST_OS="Darwin"
|
||||
EXPECTED_HOST_OS_VERSION="10.14"
|
||||
elif [[ "$BUILD_FLAVOR" == "webkit-mac-10.15" ]]; then
|
||||
BROWSER_NAME="webkit"
|
||||
EXPECTED_HOST_OS="Darwin"
|
||||
EXPECTED_HOST_OS_VERSION="10.15"
|
||||
else
|
||||
echo ERROR: unknown browser - "$1"
|
||||
echo ERROR: unknown build flavor - "$BUILD_FLAVOR"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ "$CURRENT_HOST_OS" != $EXPECTED_HOST_OS* ]]; then
|
||||
echo "ERROR: cannot build $BUILD_FLAVOR"
|
||||
echo " -- expected OS: $EXPECTED_HOST_OS"
|
||||
echo " -- current OS: $CURRENT_HOST_OS"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ "$CURRENT_HOST_OS_VERSION" != "$EXPECTED_HOST_OS_VERSION" ]]; then
|
||||
echo "ERROR: cannot build $BUILD_FLAVOR"
|
||||
echo " -- expected OS Version: $EXPECTED_HOST_OS_VERSION"
|
||||
echo " -- current OS Version: $CURRENT_HOST_OS_VERSION"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@ -50,7 +94,7 @@ BUILD_NUMBER=$(cat ./$BROWSER_NAME/BUILD_NUMBER)
|
||||
|
||||
# pull from upstream and check if a new build has to be uploaded.
|
||||
if ! [[ ($2 == '-f') || ($2 == '--force') ]]; then
|
||||
if ./upload.sh $1 --check; then
|
||||
if ./upload.sh $BUILD_FLAVOR --check; then
|
||||
echo "Build is already uploaded - no changes."
|
||||
exit 0
|
||||
else
|
||||
@ -69,7 +113,7 @@ cd -
|
||||
|
||||
source ./buildbots/send_telegram_message.sh
|
||||
LAST_COMMIT_MESSAGE=$(git log --format=%s -n 1 HEAD -- ./$BROWSER_NAME/BUILD_NUMBER)
|
||||
BUILD_ALIAS="<b>[[$(./upload.sh $1 --show-alias)]]</b> $LAST_COMMIT_MESSAGE"
|
||||
BUILD_ALIAS="<b>[[$BUILD_FLAVOR r$BUILD_NUMBER]]</b> $LAST_COMMIT_MESSAGE"
|
||||
send_telegram_message "$BUILD_ALIAS -- started ⏳"
|
||||
|
||||
echo "-- preparing checkout"
|
||||
@ -97,7 +141,7 @@ if ! ./$BROWSER_NAME/archive.sh $ZIP_PATH; then
|
||||
fi
|
||||
|
||||
echo "-- uploading"
|
||||
if ! ./upload.sh $1 $ZIP_PATH; then
|
||||
if ! ./upload.sh $BUILD_FLAVOR $ZIP_PATH; then
|
||||
send_telegram_message "$BUILD_ALIAS -- ./upload.sh failed! ❌"
|
||||
exit 1
|
||||
fi
|
||||
|
@ -6,7 +6,7 @@ trap "cd $(pwd -P)" EXIT
|
||||
cd "$(dirname "$0")"
|
||||
|
||||
if [[ ($1 == '--help') || ($1 == '-h') ]]; then
|
||||
echo "usage: $(basename $0) [firefox|firefox-win64|webkit] [--check] [zip-path]"
|
||||
echo "usage: $(basename $0) [firefox-linux|firefox-win32|firefox-win64|webkit-gtk|webkit-win64|webkit-mac-10.14|webkit-mac-10.15] [--check] [zip-path]"
|
||||
echo
|
||||
echo "Upload .zip as a browser build."
|
||||
echo
|
||||
@ -30,65 +30,42 @@ if [[ $# < 1 ]]; then
|
||||
echo "try '$(basename $0) --help' for more information"
|
||||
exit 1
|
||||
fi
|
||||
BROWSER_NAME=""
|
||||
BUILD_NUMBER=""
|
||||
BLOB_NAME=""
|
||||
ALIAS=""
|
||||
|
||||
if [[ ("$1" == "firefox") || ("$1" == "firefox/") ]]; then
|
||||
BUILD_NUMBER=$(cat "$PWD/firefox/BUILD_NUMBER")
|
||||
BUILD_FLAVOR="$1"
|
||||
BROWSER_NAME=""
|
||||
BLOB_NAME=""
|
||||
if [[ "$BUILD_FLAVOR" == "firefox-linux" ]]; then
|
||||
BROWSER_NAME="firefox"
|
||||
if [[ "$(uname)" == "Darwin" ]]; then
|
||||
BLOB_NAME="firefox-mac.zip"
|
||||
ALIAS="firefox-mac r$BUILD_NUMBER"
|
||||
elif [[ "$(uname)" == "Linux" ]]; then
|
||||
BLOB_NAME="firefox-linux.zip"
|
||||
ALIAS="ff-linux r$BUILD_NUMBER"
|
||||
elif [[ "$(uname)" == MINGW* ]]; then
|
||||
BLOB_NAME="firefox-win32.zip"
|
||||
ALIAS="ff-win32 r$BUILD_NUMBER"
|
||||
else
|
||||
echo "ERROR: unsupported platform - $(uname)"
|
||||
exit 1
|
||||
fi
|
||||
elif [[ ("$1" == "firefox-win64") || ("$1" == "firefox-win64/") ]]; then
|
||||
BUILD_NUMBER=$(cat "$PWD/firefox/BUILD_NUMBER")
|
||||
BLOB_NAME="firefox-linux.zip"
|
||||
elif [[ "$BUILD_FLAVOR" == "firefox-mac" ]]; then
|
||||
BROWSER_NAME="firefox"
|
||||
if [[ "$(uname)" == MINGW* ]]; then
|
||||
BLOB_NAME="firefox-win64.zip"
|
||||
ALIAS="ff-win64 r$BUILD_NUMBER"
|
||||
else
|
||||
echo "ERROR: unsupported platform for browser '$1' - $(uname)"
|
||||
exit 1
|
||||
fi
|
||||
elif [[ ("$1" == "webkit") || ("$1" == "webkit/") ]]; then
|
||||
BUILD_NUMBER=$(cat "$PWD/webkit/BUILD_NUMBER")
|
||||
BLOB_NAME="firefox-mac.zip"
|
||||
elif [[ "$BUILD_FLAVOR" == "firefox-win32" ]]; then
|
||||
BROWSER_NAME="firefox"
|
||||
BLOB_NAME="firefox-win32.zip"
|
||||
elif [[ "$BUILD_FLAVOR" == "firefox-win64" ]]; then
|
||||
BROWSER_NAME="firefox"
|
||||
BLOB_NAME="firefox-win64.zip"
|
||||
elif [[ "$BUILD_FLAVOR" == "webkit-gtk" ]]; then
|
||||
BROWSER_NAME="webkit"
|
||||
if [[ "$(uname)" == "Darwin" ]]; then
|
||||
MAC_MAJOR_MINOR_VERSION=$(sw_vers -productVersion | grep -o '^\d\+.\d\+')
|
||||
BLOB_NAME="minibrowser-mac-$MAC_MAJOR_MINOR_VERSION.zip"
|
||||
ALIAS="webkit-mac-$MAC_MAJOR_MINOR_VERSION r$BUILD_NUMBER"
|
||||
elif [[ "$(uname)" == "Linux" ]]; then
|
||||
BLOB_NAME="minibrowser-gtk.zip"
|
||||
ALIAS="webkit-gtk r$BUILD_NUMBER"
|
||||
elif [[ "$(uname)" == MINGW* ]]; then
|
||||
BLOB_NAME="minibrowser-win64.zip"
|
||||
ALIAS="webkit-win64 r$BUILD_NUMBER"
|
||||
else
|
||||
echo "ERROR: unsupported platform - $(uname)"
|
||||
exit 1
|
||||
fi
|
||||
BLOB_NAME="minibrowser-gtk.zip"
|
||||
elif [[ "$BUILD_FLAVOR" == "webkit-win64" ]]; then
|
||||
BROWSER_NAME="webkit"
|
||||
BLOB_NAME="minibrowser-win64.zip"
|
||||
elif [[ "$BUILD_FLAVOR" == "webkit-mac-10.14" ]]; then
|
||||
BROWSER_NAME="webkit"
|
||||
BLOB_NAME="minibrowser-mac-10.14.zip"
|
||||
elif [[ "$BUILD_FLAVOR" == "webkit-mac-10.15" ]]; then
|
||||
BROWSER_NAME="webkit"
|
||||
BLOB_NAME="minibrowser-mac-10.15.zip"
|
||||
else
|
||||
echo ERROR: unknown browser to export - "$1"
|
||||
echo ERROR: unknown build flavor - "$BUILD_FLAVOR"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ ("$2" == '--show-alias') || ("$3" == '--show-alias') ]]; then
|
||||
echo $ALIAS
|
||||
exit 0
|
||||
fi
|
||||
|
||||
BUILD_NUMBER=$(cat ./$BROWSER_NAME/BUILD_NUMBER)
|
||||
BLOB_PATH="$BROWSER_NAME/$BUILD_NUMBER/$BLOB_NAME"
|
||||
|
||||
if [[ ("$2" == '--check') || ("$3" == '--check') ]]; then
|
||||
EXISTS=$(az storage blob exists -c builds --account-key $AZ_ACCOUNT_KEY --account-name $AZ_ACCOUNT_NAME -n "$BLOB_PATH" --query "exists")
|
||||
if [[ $EXISTS == "true" ]]; then
|
||||
@ -103,7 +80,9 @@ if [[ $# < 2 ]]; then
|
||||
echo "try '$(basename $0) --help' for more information"
|
||||
exit 1
|
||||
fi
|
||||
ZIP_PATH=$2
|
||||
|
||||
ZIP_PATH="$2"
|
||||
|
||||
if ! [[ -f $ZIP_PATH ]]; then
|
||||
echo "ERROR: $ZIP_PATH does not exist"
|
||||
exit 1
|
||||
|
Loading…
Reference in New Issue
Block a user