1
1
#! /bin/bash
2
2
3
- # Based on https://github.com/nektos/act-environments/blob/940bf53/images/linux/scripts/installers/google-chrome.sh
3
+ # Based on https://github.com/nektos/act-environments/blob/cc63076/images/linux/scripts/installers/google-chrome.sh and
4
+ # https://github.com/actions/runner-images/blob/845c5ee8/images/ubuntu/scripts/build/install-google-chrome.sh
4
5
5
6
wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
6
7
echo " deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" | sudo tee /etc/apt/sources.list.d/google-chrome.list
@@ -15,24 +16,31 @@ if ! command -v google-chrome; then
15
16
exit 1
16
17
fi
17
18
18
- CHROME_VERSION=$( google-chrome --product-version)
19
- CHROME_VERSION=${CHROME_VERSION% .* }
19
+ FULL_CHROME_VERSION=$( google-chrome --product-version)
20
+ CHROME_VERSION=${FULL_CHROME_VERSION% .* }
21
+
22
+ echo " Installed Chrome version is $CHROME_VERSION "
20
23
21
24
# Determine latest release of chromedriver
22
- # Compatibility of Google Chrome and Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/downloads/version-selection
23
- LATEST_CHROMEDRIVER_VERSION=$( curl --fail " https://chromedriver.storage.googleapis.com/LATEST_RELEASE_$CHROME_VERSION " )
25
+ # Compatibility of Google Chrome and Chromedriver: https://developer.chrome.com/docs/chromedriver/downloads/version-selection
26
+ CHROME_PLATFORM=" linux64"
27
+ CHROME_VERSIONS_URL=" https://googlechromelabs.github.io/chrome-for-testing/latest-patch-versions-per-build-with-downloads.json"
28
+ CHROME_VERSIONS_JSON=$( curl -fsSL " ${CHROME_VERSIONS_URL} " )
29
+
30
+ CHROMEDRIVER_VERSION=$( echo " ${CHROME_VERSIONS_JSON} " | jq -r ' .builds["' " $CHROME_VERSION " ' "].version' )
31
+ CHROMEDRIVER_URL=$( echo " ${CHROME_VERSIONS_JSON} " | jq -r ' .builds["' " $CHROME_VERSION " ' "].downloads.chromedriver[] | select(.platform=="' " ${CHROME_PLATFORM} " ' ").url' )
24
32
25
33
# Download and unpack latest release of chromedriver
26
- echo " Downloading chromedriver v$LATEST_CHROMEDRIVER_VERSION ..."
27
- wget " https://chromedriver.storage.googleapis.com/ $LATEST_CHROMEDRIVER_VERSION /chromedriver_linux64.zip "
28
- unzip chromedriver_linux64 .zip
29
- rm chromedriver_linux64 .zip
34
+ echo " Downloading chromedriver v$CHROMEDRIVER_VERSION ..."
35
+ wget " $CHROMEDRIVER_URL "
36
+ unzip chromedriver-linux64 .zip
37
+ rm chromedriver-linux64 .zip
30
38
31
- CHROMEDRIVER_DIR=" /usr/local/share/chrome_driver "
39
+ CHROMEDRIVER_DIR=" /usr/local/share/chrome-driver "
32
40
CHROMEDRIVER_BIN=" $CHROMEDRIVER_DIR /chromedriver"
33
41
34
42
mkdir -p $CHROMEDRIVER_DIR
35
- mv " chromedriver" $CHROMEDRIVER_BIN
43
+ mv " chromedriver-linux64/chromedriver " $CHROMEDRIVER_BIN
36
44
chmod +x $CHROMEDRIVER_BIN
37
45
ln -s " $CHROMEDRIVER_BIN " /usr/bin/
38
46
echo " CHROMEWEBDRIVER=$CHROMEDRIVER_DIR " | tee -a /etc/environment
0 commit comments