From 4ee264359803e94137f452faf47973ed3458d7f4 Mon Sep 17 00:00:00 2001 From: Andrey Lushnikov Date: Fri, 17 Jan 2020 16:26:58 -0800 Subject: [PATCH] devops: combine webkit-wpe and webkit-gtk together --- browser_patches/buildbots/buildbot-linux.sh | 3 +- browser_patches/download.sh | 70 +++++++++++++++++++ browser_patches/upload.sh | 5 +- ...oad_gtk_and_wpe_zip_together_and_upload.sh | 63 +++++++++++++++++ browser_patches/webkit/pw_run.sh | 7 +- 5 files changed, 144 insertions(+), 4 deletions(-) create mode 100755 browser_patches/download.sh create mode 100755 browser_patches/webkit/download_gtk_and_wpe_zip_together_and_upload.sh diff --git a/browser_patches/buildbots/buildbot-linux.sh b/browser_patches/buildbots/buildbot-linux.sh index dffc80b566..c14b0d6c24 100755 --- a/browser_patches/buildbots/buildbot-linux.sh +++ b/browser_patches/buildbots/buildbot-linux.sh @@ -59,6 +59,5 @@ git pull origin master git pull origin master ../checkout_build_archive_upload.sh webkit-gtk >/tmp/$(basename $0)--webkit-gtk.log || true - -git pull origin master ../checkout_build_archive_upload.sh webkit-wpe >/tmp/$(basename $0)--webkit-wpe.log || true +../webkit/download_gtk_and_wpe_zip_together_and_upload.sh >/tmp/$(basename $0)--webkit-gtk-wpe.log || true diff --git a/browser_patches/download.sh b/browser_patches/download.sh new file mode 100755 index 0000000000..c45be6a847 --- /dev/null +++ b/browser_patches/download.sh @@ -0,0 +1,70 @@ +#!/bin/bash +set -e +set +x + +trap "cd $(pwd -P)" EXIT +cd "$(dirname "$0")" + +if [[ ($1 == '--help') || ($1 == '-h') ]]; then + echo "usage: $(basename $0) [webkit-gtk|webkit-wpe] [zip-path]" + echo + echo "Download .zip of a browser build." + echo + echo "NOTE: \$AZ_ACCOUNT_KEY (azure account name) and \$AZ_ACCOUNT_NAME (azure account name)" + echo "env variables are required to download builds from CDN." + exit 0 +fi + +if [[ (-z $AZ_ACCOUNT_KEY) || (-z $AZ_ACCOUNT_NAME) ]]; then + echo "ERROR: Either \$AZ_ACCOUNT_KEY or \$AZ_ACCOUNT_NAME environment variable is missing." + echo " 'Azure Account Name' and 'Azure Account Key' secrets that are required" + echo " to download builds from Azure CDN." + exit 1 +fi + +if [[ $# < 1 ]]; then + echo "missing build flavor" + echo "try '$(basename $0) --help' for more information" + exit 1 +fi + +BUILD_FLAVOR="$1" +BROWSER_NAME="" +BLOB_NAME="" +if [[ "$BUILD_FLAVOR" == "webkit-gtk" ]]; then + BROWSER_NAME="webkit" + BLOB_NAME="minibrowser-gtk.zip" +elif [[ "$BUILD_FLAVOR" == "webkit-wpe" ]]; then + BROWSER_NAME="webkit" + BLOB_NAME="minibrowser-wpe.zip" +else + echo ERROR: unsupported build flavor - "$BUILD_FLAVOR" + exit 1 +fi + +BUILD_NUMBER=$(cat ./$BROWSER_NAME/BUILD_NUMBER) +BLOB_PATH="$BROWSER_NAME/$BUILD_NUMBER/$BLOB_NAME" + +if [[ $# < 2 ]]; then + echo "missing path to zip archive to download to" + echo "try '$(basename $0) --help' for more information" + exit 1 +fi + +ZIP_PATH="$2" + +if [[ -f $ZIP_PATH ]]; then + echo "ERROR: $ZIP_PATH exists" + exit 1 +fi +if ! [[ $ZIP_PATH == *.zip ]]; then + echo "ERROR: $ZIP_PATH is not a zip archive (must have a .zip extension)" + exit 1 +fi +az storage blob download -c builds --account-key $AZ_ACCOUNT_KEY --account-name $AZ_ACCOUNT_NAME -f $ZIP_PATH -n "$BLOB_PATH" + +echo "DOWNLOAD SUCCESSFUL!" +echo "-- SRC: $ZIP_PATH" +echo "-- SIZE: $(du -h "$ZIP_PATH" | awk '{print $1}')" +echo "-- DST: $BLOB_PATH" + diff --git a/browser_patches/upload.sh b/browser_patches/upload.sh index 803a3fbc85..38d54a2ea0 100755 --- a/browser_patches/upload.sh +++ b/browser_patches/upload.sh @@ -6,7 +6,7 @@ trap "cd $(pwd -P)" EXIT cd "$(dirname "$0")" if [[ ($1 == '--help') || ($1 == '-h') ]]; then - echo "usage: $(basename $0) [firefox-linux|firefox-win32|firefox-win64|webkit-gtk|webkit-wpe|webkit-win64|webkit-mac-10.14|webkit-mac-10.15] [--check] [zip-path]" + echo "usage: $(basename $0) [firefox-linux|firefox-win32|firefox-win64|webkit-gtk|webkit-wpe|webkit-gtk-wpe|webkit-win64|webkit-mac-10.14|webkit-mac-10.15] [--check] [zip-path]" echo echo "Upload .zip as a browser build." echo @@ -52,6 +52,9 @@ elif [[ "$BUILD_FLAVOR" == "webkit-gtk" ]]; then elif [[ "$BUILD_FLAVOR" == "webkit-wpe" ]]; then BROWSER_NAME="webkit" BLOB_NAME="minibrowser-wpe.zip" +elif [[ "$BUILD_FLAVOR" == "webkit-gtk-wpe" ]]; then + BROWSER_NAME="webkit" + BLOB_NAME="minibrowser-gtk-wpe.zip" elif [[ "$BUILD_FLAVOR" == "webkit-win64" ]]; then BROWSER_NAME="webkit" BLOB_NAME="minibrowser-win64.zip" diff --git a/browser_patches/webkit/download_gtk_and_wpe_zip_together_and_upload.sh b/browser_patches/webkit/download_gtk_and_wpe_zip_together_and_upload.sh new file mode 100755 index 0000000000..1eae2195a2 --- /dev/null +++ b/browser_patches/webkit/download_gtk_and_wpe_zip_together_and_upload.sh @@ -0,0 +1,63 @@ +#!/bin/bash +set -e +set +x + +if [[ ("$1" == "-h") || ("$1" == "--help") ]]; then + echo "usage: $(basename $0)" + echo + echo "Generate a single .zip archive that contains both gtk and wpe builds" + echo + exit 0 +fi + +if [[ "$(uname)" != "Linux" ]]; then + echo "ERROR: this script works only on linux" + echo + exit 1 +fi + + +trap "cd $(pwd -P)" EXIT +cd "$(dirname "$0")" + +# create a TMP directory to copy all necessary files +TMPDIR=$(mktemp -d -t webkit-deploy-XXXXXXXXXX) +GTK_ZIP_PATH=$(mktemp -t -u minibrowser-gtk-XXXXXX.zip) +WPE_ZIP_PATH=$(mktemp -t -u minibrowser-wpe-XXXXXX.zip) +ZIP_PATH=$(mktemp -t -u minibrowser-gtk-wpe-XXXXXX.zip) +../download.sh webkit-gtk $GTK_ZIP_PATH +../download.sh webkit-wpe $WPE_ZIP_PATH + +# Create directory +mkdir -p $TMPDIR + +# copy runner +cp -t $TMPDIR ./pw_run.sh + +pushd $TMPDIR + +# Copy MiniBrowser-GTK +mkdir minibrowser-gtk +pushd minibrowser-gtk +cp $GTK_ZIP_PATH archive.zip +unzip archive.zip +rm archive.zip +popd + +# Copy MiniBrowser-WPE +mkdir minibrowser-wpe +pushd minibrowser-wpe +cp $WPE_ZIP_PATH archive.zip +unzip archive.zip +rm archive.zip +popd + +zip --symlinks -r $ZIP_PATH ./ +popd + +rm -rf $TMPDIR +rm -rf $WPE_ZIP_PATH +rm -rf $GTK_ZIP_PATH + +../upload.sh webkit-gtk-wpe $ZIP_PATH +rm -rf $ZIP_PATH diff --git a/browser_patches/webkit/pw_run.sh b/browser_patches/webkit/pw_run.sh index 0fd35c99ae..426860ea99 100755 --- a/browser_patches/webkit/pw_run.sh +++ b/browser_patches/webkit/pw_run.sh @@ -19,10 +19,15 @@ function runOSX() { function runLinux() { # if script is run as-is DEPENDENCIES_FOLDER="DependenciesGTK" + MINIBROWSER_FOLDER="minibrowser-gtk"; if [[ "$*" == *--headless* ]]; then DEPENDENCIES_FOLDER="DependenciesWPE"; + MINIBROWSER_FOLDER="minibrowser-wpe"; fi - if [[ -d $SCRIPT_PATH/checkout/WebKitBuild ]]; then + if [[ -d $SCRIPT_PATH/$MINIBROWSER_FOLDER ]]; then + LD_PATH="$SCRIPT_PATH/$MINIBROWSER_FOLDER" + MINIBROWSER="$SCRIPT_PATH/$MINIBROWSER_FOLDER/MiniBrowser" + elif [[ -d $SCRIPT_PATH/checkout/WebKitBuild ]]; then LD_PATH="$SCRIPT_PATH/checkout/WebKitBuild/$DEPENDENCIES_FOLDER/Root/lib:$SCRIPT_PATH/checkout/WebKitBuild/Release/bin" MINIBROWSER="$SCRIPT_PATH/checkout/WebKitBuild/Release/bin/MiniBrowser" elif [[ -f $SCRIPT_PATH/MiniBrowser ]]; then