mirror of
https://github.com/actions/runner-images.git
synced 2025-12-26 19:38:57 +08:00
* [macos] homebrew: use hardcoded condition for jq installation we cannot use "jq" if we are asked to install "jq" * [macos] always use "brew install" * [macos] add retries to "get_github_package_download_url" helper * [macos] add retries to chrome install script * [macos] add retries to OpenJDK install script * [macos] add retries to miniconda installer * Update images/macos/provision/core/openjdk.sh Co-authored-by: Vasilii Polikarpov <126792224+vpolikarpov-akvelon@users.noreply.github.com> * fix copy-paste error * Update images/macos/provision/core/openjdk.sh Co-authored-by: Vasilii Polikarpov <126792224+vpolikarpov-akvelon@users.noreply.github.com> * Update images/macos/provision/core/openjdk.sh Co-authored-by: Vasilii Polikarpov <126792224+vpolikarpov-akvelon@users.noreply.github.com> --------- Co-authored-by: Vasilii Polikarpov <126792224+vpolikarpov-akvelon@users.noreply.github.com>
51 lines
2.5 KiB
Bash
51 lines
2.5 KiB
Bash
#!/bin/bash -e -o pipefail
|
|
source ~/utils/utils.sh
|
|
arch=$(get_arch)
|
|
|
|
echo "Installing Google Chrome..."
|
|
brew install --cask google-chrome
|
|
|
|
# Parse Google Chrome version
|
|
FULL_CHROME_VERSION=$("/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" --version)
|
|
FULL_CHROME_VERSION=${FULL_CHROME_VERSION#Google Chrome }
|
|
CHROME_VERSION=${FULL_CHROME_VERSION%.*}
|
|
echo "Google Chrome version is $FULL_CHROME_VERSION"
|
|
|
|
# Get Google Chrome versions information
|
|
CHROME_PLATFORM="mac-$arch"
|
|
CHROME_VERSIONS_URL="https://googlechromelabs.github.io/chrome-for-testing/latest-patch-versions-per-build-with-downloads.json"
|
|
download_with_retries "$CHROME_VERSIONS_URL" "/tmp" "latest-patch-versions-per-build-with-downloads.json"
|
|
CHROME_VERSIONS_JSON=$(cat /tmp/latest-patch-versions-per-build-with-downloads.json)
|
|
|
|
# Download and unpack the latest release of Chrome Driver
|
|
CHROMEDRIVER_VERSION=$(echo "${CHROME_VERSIONS_JSON}" | jq -r '.builds["'"$CHROME_VERSION"'"].version')
|
|
echo "Installing Chrome Driver version $CHROMEDRIVER_VERSION"
|
|
|
|
CHROMEDRIVER_URL=$(echo "${CHROME_VERSIONS_JSON}" | jq -r '.builds["'"$CHROME_VERSION"'"].downloads.chromedriver[] | select(.platform=="'"${CHROME_PLATFORM}"'").url')
|
|
CHROMEDRIVER_ARCHIVE="chromedriver-${CHROME_PLATFORM}.zip"
|
|
CHROMEDRIVER_DIR="/usr/local/share/chromedriver-${CHROME_PLATFORM}"
|
|
CHROMEDRIVER_BIN="$CHROMEDRIVER_DIR/chromedriver"
|
|
|
|
download_with_retries "$CHROMEDRIVER_URL" "/tmp" "$CHROMEDRIVER_ARCHIVE"
|
|
unzip -qq /tmp/$CHROMEDRIVER_ARCHIVE -d /tmp/
|
|
sudo mv "/tmp/chromedriver-${CHROME_PLATFORM}" "$CHROMEDRIVER_DIR"
|
|
ln -s "$CHROMEDRIVER_BIN" /usr/local/bin/chromedriver
|
|
echo "export CHROMEWEBDRIVER=$CHROMEDRIVER_DIR" >> "${HOME}/.bashrc"
|
|
|
|
# Download and unpack the latest release of Google Chrome for Testing
|
|
CHROME_FOR_TESTING_VERSION=$(echo "${CHROME_VERSIONS_JSON}" | jq -r '.builds["'"$CHROME_VERSION"'"].version')
|
|
echo "Installing Google Chrome for Testing version $CHROME_FOR_TESTING_VERSION"
|
|
|
|
CHROME_FOR_TESTING_URL=$(echo "${CHROME_VERSIONS_JSON}" | jq -r '.builds["'"$CHROME_VERSION"'"].downloads.chrome[] | select(.platform=="'"${CHROME_PLATFORM}"'").url')
|
|
CHROME_FOR_TESTING_ARCHIVE="chrome-${CHROME_PLATFORM}.zip"
|
|
CHROME_FOR_TESTING_APP="Google Chrome for Testing.app"
|
|
|
|
download_with_retries $CHROME_FOR_TESTING_URL "/tmp" $CHROME_FOR_TESTING_ARCHIVE
|
|
unzip -qq /tmp/$CHROME_FOR_TESTING_ARCHIVE -d /tmp/
|
|
mv "/tmp/chrome-${CHROME_PLATFORM}/${CHROME_FOR_TESTING_APP}" "/Applications/${CHROME_FOR_TESTING_APP}"
|
|
|
|
echo "Installing Selenium"
|
|
brew_smart_install "selenium-server"
|
|
|
|
invoke_tests "Browsers" "Chrome"
|