devops: combine webkit-wpe and webkit-gtk together

This commit is contained in:
Andrey Lushnikov 2020-01-17 16:26:58 -08:00
parent 44cbe00643
commit 4ee2643598
5 changed files with 144 additions and 4 deletions

View file

@ -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

70
browser_patches/download.sh Executable file
View file

@ -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"

View file

@ -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"

View file

@ -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

View file

@ -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