| 
									
										
										
										
											2019-11-21 15:25:46 -08:00
										 |  |  | #!/bin/bash
 | 
					
						
							|  |  |  | set -e | 
					
						
							|  |  |  | set +x | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | if [[ ($1 == '--help') || ($1 == '-h') ]]; then | 
					
						
							|  |  |  |   echo "usage: $(basename $0) [firefox|webkit] [-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." | 
					
						
							|  |  |  |   echo | 
					
						
							|  |  |  |   echo "Pass -f to upload anyway." | 
					
						
							|  |  |  |   echo | 
					
						
							|  |  |  |   echo "NOTE: This script is safe to run in a cronjob - it aquires a lock so that it does not run twice." | 
					
						
							|  |  |  |   exit 0 | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | if [[ $# == 0 ]]; then | 
					
						
							|  |  |  |   echo "missing browser: 'firefox' or 'webkit'" | 
					
						
							|  |  |  |   echo "try './$(basename $0) --help' for more information" | 
					
						
							|  |  |  |   exit 1 | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | BROWSER_NAME="" | 
					
						
							| 
									
										
										
										
											2019-11-22 20:49:40 -08:00
										 |  |  | FFOX_WIN64="" | 
					
						
							| 
									
										
										
										
											2019-11-21 15:25:46 -08:00
										 |  |  | if [[ ("$1" == "firefox") || ("$1" == "firefox/") ]]; then | 
					
						
							|  |  |  |   BROWSER_NAME="firefox" | 
					
						
							| 
									
										
										
										
											2019-11-22 20:49:40 -08:00
										 |  |  |   if [[ ("$2" == "--win64") || ("$3" == "--win64") ]]; then | 
					
						
							|  |  |  |     FFOX_WIN64="--win64" | 
					
						
							|  |  |  |   fi | 
					
						
							| 
									
										
										
										
											2019-11-21 15:25:46 -08:00
										 |  |  | elif [[ ("$1" == "webkit") || ("$1" == "webkit/") ]]; then | 
					
						
							|  |  |  |   BROWSER_NAME="webkit" | 
					
						
							|  |  |  | else | 
					
						
							|  |  |  |   echo ERROR: unknown browser - "$1" | 
					
						
							|  |  |  |   exit 1 | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-11-22 17:16:47 -08:00
										 |  |  | if [[ $(uname) == MINGW* ]]; then | 
					
						
							|  |  |  |   ZIP_PATH="$PWD/archive-$BROWSER_NAME.zip" | 
					
						
							|  |  |  | else | 
					
						
							|  |  |  |   ZIP_PATH="/tmp/archive-$BROWSER_NAME.zip" | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-11-21 15:25:46 -08:00
										 |  |  | if [[ -f $ZIP_PATH ]]; then | 
					
						
							|  |  |  |   echo "Archive $ZIP_PATH already exists - remove and re-run the script." | 
					
						
							|  |  |  |   exit 1 | 
					
						
							|  |  |  | fi | 
					
						
							| 
									
										
										
										
											2019-12-11 14:19:55 -08:00
										 |  |  | trap "rm -rf ${ZIP_PATH}; cd $(pwd -P);" INT TERM EXIT | 
					
						
							| 
									
										
										
										
											2019-11-21 15:25:46 -08:00
										 |  |  | cd "$(dirname "$0")" | 
					
						
							| 
									
										
										
										
											2019-12-10 17:43:53 -08:00
										 |  |  | BUILD_NUMBER=$(cat ./$BROWSER_NAME/BUILD_NUMBER) | 
					
						
							| 
									
										
										
										
											2019-11-21 15:25:46 -08:00
										 |  |  | 
 | 
					
						
							|  |  |  | # pull from upstream and check if a new build has to be uploaded. | 
					
						
							|  |  |  | if ! [[ ($2 == '-f') || ($2 == '--force') ]]; then | 
					
						
							| 
									
										
										
										
											2019-11-25 14:01:30 -08:00
										 |  |  |   if ./upload.sh $BROWSER_NAME --check $FFOX_WIN64; then | 
					
						
							| 
									
										
										
										
											2019-11-21 15:25:46 -08:00
										 |  |  |     echo "Build is already uploaded - no changes." | 
					
						
							|  |  |  |     exit 0 | 
					
						
							|  |  |  |   else | 
					
						
							|  |  |  |     echo "Build is missing - rebuilding" | 
					
						
							|  |  |  |   fi | 
					
						
							|  |  |  | else | 
					
						
							|  |  |  |   echo "Force-rebuilding the build." | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-12-11 14:19:55 -08:00
										 |  |  | cd ./$BROWSER_NAME/checkout | 
					
						
							|  |  |  | if ! [[ $(git rev-parse --abbrev-ref HEAD) == "playwright-build" ]]; then | 
					
						
							|  |  |  |   echo "ERROR: Default branch is not playwright-build!" | 
					
						
							|  |  |  |   exit 1 | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | cd - | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-12-10 17:43:53 -08:00
										 |  |  | source ./buildbots/send_telegram_message.sh | 
					
						
							| 
									
										
										
										
											2020-01-08 15:43:57 +00:00
										 |  |  | LAST_COMMIT_MESSAGE=$(git log --format=%B -n 1 HEAD) | 
					
						
							|  |  |  | BUILD_ALIAS="<b>[[$(./upload.sh $BROWSER_NAME --show-alias $FFOX_WIN64)]]</b> $LAST_COMMIT_MESSAGE" | 
					
						
							|  |  |  | send_telegram_message "$BUILD_ALIAS -- started ⏳" | 
					
						
							| 
									
										
										
										
											2019-12-10 17:43:53 -08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-11-21 15:25:46 -08:00
										 |  |  | echo "-- preparing checkout" | 
					
						
							| 
									
										
										
										
											2019-12-11 14:19:55 -08:00
										 |  |  | if ! ./prepare_checkout.sh $BROWSER_NAME; then | 
					
						
							| 
									
										
										
										
											2020-01-08 15:43:57 +00:00
										 |  |  |   send_telegram_message "$BUILD_ALIAS -- ./prepare_checkout.sh failed! ❌" | 
					
						
							| 
									
										
										
										
											2019-12-09 14:38:23 -08:00
										 |  |  |   exit 1 | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-11-22 19:07:39 -08:00
										 |  |  | echo "-- cleaning" | 
					
						
							| 
									
										
										
										
											2019-12-11 14:19:55 -08:00
										 |  |  | if ! ./$BROWSER_NAME/clean.sh; then | 
					
						
							| 
									
										
										
										
											2020-01-08 15:43:57 +00:00
										 |  |  |   send_telegram_message "$BUILD_ALIAS -- ./clean.sh failed! ❌" | 
					
						
							| 
									
										
										
										
											2019-12-11 14:19:55 -08:00
										 |  |  |   exit 1 | 
					
						
							|  |  |  | fi | 
					
						
							| 
									
										
										
										
											2019-11-22 20:49:40 -08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-11-21 15:25:46 -08:00
										 |  |  | echo "-- building" | 
					
						
							| 
									
										
										
										
											2019-12-10 18:23:32 -08:00
										 |  |  | if ! ./$BROWSER_NAME/build.sh $FFOX_WIN64; then | 
					
						
							| 
									
										
										
										
											2020-01-08 15:43:57 +00:00
										 |  |  |   send_telegram_message "$BUILD_ALIAS -- ./build.sh failed! ❌" | 
					
						
							| 
									
										
										
										
											2019-12-10 17:43:53 -08:00
										 |  |  |   exit 1 | 
					
						
							| 
									
										
										
										
											2019-11-22 20:49:40 -08:00
										 |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-11-21 15:25:46 -08:00
										 |  |  | echo "-- archiving to $ZIP_PATH" | 
					
						
							| 
									
										
										
										
											2019-12-11 14:19:55 -08:00
										 |  |  | if ! ./$BROWSER_NAME/archive.sh $ZIP_PATH; then | 
					
						
							| 
									
										
										
										
											2020-01-08 15:43:57 +00:00
										 |  |  |   send_telegram_message "$BUILD_ALIAS -- ./archive.sh failed! ❌" | 
					
						
							| 
									
										
										
										
											2019-12-11 14:19:55 -08:00
										 |  |  |   exit 1 | 
					
						
							|  |  |  | fi | 
					
						
							| 
									
										
										
										
											2019-11-22 20:49:40 -08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-11-21 15:25:46 -08:00
										 |  |  | echo "-- uploading" | 
					
						
							| 
									
										
										
										
											2019-12-11 14:19:55 -08:00
										 |  |  | if ! ./upload.sh $BROWSER_NAME $ZIP_PATH $FFOX_WIN64; then | 
					
						
							| 
									
										
										
										
											2020-01-08 15:43:57 +00:00
										 |  |  |   send_telegram_message "$BUILD_ALIAS -- ./upload.sh failed! ❌" | 
					
						
							| 
									
										
										
										
											2019-12-11 14:19:55 -08:00
										 |  |  |   exit 1 | 
					
						
							|  |  |  | fi | 
					
						
							| 
									
										
										
										
											2020-01-08 15:43:57 +00:00
										 |  |  | send_telegram_message "$BUILD_ALIAS -- uploaded ✅" |