-
Notifications
You must be signed in to change notification settings - Fork 3.7k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
devops: add old-fashioned scripts to run Mac M1 buildbot (#4649)
Even though we're undergoing migration to GitHub self-hosted runners, they don't currently support running natively under Arm. The resulting build ends up to be x86_64. See actions/runner#805
- Loading branch information
1 parent
93c362d
commit c36af73
Showing
1 changed file
with
65 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
#!/bin/bash | ||
set -e | ||
set +x | ||
|
||
if [[ "$(uname)" != "Darwin" ]]; then | ||
echo "ERROR: this script is designed to be run on OSX. Can't run on $(uname)" | ||
exit 1 | ||
fi | ||
|
||
MAC_MAJOR_MINOR_VERSION=$(sw_vers -productVersion | grep -o '^\d\+.\d\+') | ||
if [[ $MAC_MAJOR_MINOR_VERSION != "11.0" ]]; then | ||
echo "ERROR: this script is designed to be run on OSX 10.15. Can't run on OSX $MAC_MAJOR_MINOR_VERSION" | ||
exit 1 | ||
fi | ||
|
||
|
||
if [[ ($1 == '--help') || ($1 == '-h') ]]; then | ||
echo "usage: $(basename $0)" | ||
echo | ||
echo "Pull from upstream & run checkout_build_archive_upload.sh" | ||
echo "in a safe way so that multiple instances of the script cannot be run" | ||
echo | ||
echo "This script is designed to be run as a cronjob" | ||
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 upload builds ot Azure CDN." | ||
exit 1 | ||
fi | ||
|
||
if ! command -v az >/dev/null; then | ||
echo "ERROR: az is not found in PATH" | ||
exit 1 | ||
fi | ||
|
||
# Setup a LOCKDIR so that we don't run the same script multiple times. | ||
LOCKDIR="/tmp/$(basename $0).lock" | ||
if [[ -d ${LOCKDIR} ]]; then | ||
echo "Already running (lockdir $LOCKDIR exists. Remove it manually if running)" | ||
exit 0 | ||
fi | ||
|
||
mkdir -p $LOCKDIR | ||
# make sure the lockfile is removed when we exit and then claim it | ||
trap "rm -rf ${LOCKDIR}; cd $(pwd -P); exit" INT TERM EXIT | ||
cd "$(dirname "$0")" | ||
|
||
IS_FIRST_RUN_FILE="/tmp/pw-buildbot-first-run.txt"; | ||
if ! [[ -f $IS_FIRST_RUN_FILE ]]; then | ||
source ./send_telegram_message.sh | ||
send_telegram_message '**Mac 10.15 Buildbot Is Active**' | ||
fi | ||
touch "$IS_FIRST_RUN_FILE" | ||
|
||
# Check if git repo is dirty. | ||
if [[ -n $(git status -s) ]]; then | ||
echo "ERROR: dirty GIT state - commit everything and re-run the script." | ||
exit 1 | ||
fi | ||
|
||
git pull origin master | ||
../checkout_build_archive_upload.sh webkit-mac-11.0-arm64 >/tmp/$(basename $0)--webkit-mac-11.0-arm64.log || true |