Skip to content

Commit a0a0787

Browse files
authored
Using CfT to download ChromeDriver (#1908)
1 parent 3b9c2e2 commit a0a0787

File tree

2 files changed

+15
-13
lines changed

2 files changed

+15
-13
lines changed

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
NAME := $(or $(NAME),$(NAME),selenium)
22
CURRENT_DATE := $(shell date '+%Y%m%d')
33
BUILD_DATE := $(or $(BUILD_DATE),$(BUILD_DATE),$(CURRENT_DATE))
4-
VERSION := $(or $(VERSION),$(VERSION),4.1.0)
4+
VERSION := $(or $(VERSION),$(VERSION),4.11.0)
55
TAG_VERSION := $(VERSION)-$(BUILD_DATE)
66
NAMESPACE := $(or $(NAMESPACE),$(NAMESPACE),$(NAME))
77
AUTHORS := $(or $(AUTHORS),$(AUTHORS),SeleniumHQ)

NodeChrome/Dockerfile

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -40,25 +40,27 @@ USER 1200
4040
# Latest released version will be used by default
4141
#============================================
4242
ARG CHROME_DRIVER_VERSION
43-
RUN if [ -z "$CHROME_DRIVER_VERSION" ]; \
44-
then CHROME_MAJOR_VERSION=$(google-chrome --version | sed -E "s/.* ([0-9]+)(\.[0-9]+){3}.*/\1/") \
45-
&& NO_SUCH_KEY=$(curl -ls https://chromedriver.storage.googleapis.com/LATEST_RELEASE_${CHROME_MAJOR_VERSION} | head -n 1 | grep -oe NoSuchKey) ; \
46-
if [ -n "$NO_SUCH_KEY" ]; then \
47-
echo "No Chromedriver for version $CHROME_MAJOR_VERSION. Use previous major version instead" \
48-
&& CHROME_MAJOR_VERSION=$(expr $CHROME_MAJOR_VERSION - 1); \
49-
fi ; \
50-
CHROME_DRIVER_VERSION=$(wget --no-verbose -O - "https://chromedriver.storage.googleapis.com/LATEST_RELEASE_${CHROME_MAJOR_VERSION}"); \
43+
RUN if [ ! -z "$CHROME_DRIVER_VERSION" ]; \
44+
then CHROME_DRIVER_URL=https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/$CHROME_DRIVER_VERSION/linux64/chrome-linux64.zip ; \
45+
else echo "Geting ChromeDriver binary from https://googlechromelabs.github.io/chrome-for-testing/last-known-good-versions-with-downloads.json" \
46+
&& CFT_URL=https://googlechromelabs.github.io/chrome-for-testing/last-known-good-versions-with-downloads.json \
47+
&& CFT_CHANNEL="Stable" \
48+
&& if [[ $CHROME_VERSION == *"beta"* ]]; then CFT_CHANNEL="Beta"; fi \
49+
&& if [[ $CHROME_VERSION == *"unstable"* ]]; then CFT_CHANNEL="Dev"; fi \
50+
&& CTF_VALUES=$(curl -sSL $CFT_URL | jq -r --arg CFT_CHANNEL "$CFT_CHANNEL" '.channels[] | select (.channel==$CFT_CHANNEL)') \
51+
&& CHROME_DRIVER_VERSION=$(echo $CTF_VALUES | jq -r '.version' ) \
52+
&& CHROME_DRIVER_URL=$(echo $CTF_VALUES | jq -r '.downloads.chromedriver[] | select(.platform=="linux64") | .url' ) ; \
5153
fi \
52-
&& echo "Using chromedriver version: "$CHROME_DRIVER_VERSION \
53-
&& wget --no-verbose -O /tmp/chromedriver_linux64.zip https://chromedriver.storage.googleapis.com/$CHROME_DRIVER_VERSION/chromedriver_linux64.zip \
54+
&& echo "Using ChromeDriver from: "$CHROME_DRIVER_URL \
55+
&& echo "Using ChromeDriver version: "$CHROME_DRIVER_VERSION \
56+
&& wget --no-verbose -O /tmp/chromedriver_linux64.zip $CHROME_DRIVER_URL \
5457
&& rm -rf /opt/selenium/chromedriver \
5558
&& sudo unzip /tmp/chromedriver_linux64.zip -d /opt/selenium \
5659
&& rm /tmp/chromedriver_linux64.zip \
57-
&& sudo mv /opt/selenium/chromedriver /opt/selenium/chromedriver-$CHROME_DRIVER_VERSION \
60+
&& sudo mv /opt/selenium/chromedriver-linux64/chromedriver /opt/selenium/chromedriver-$CHROME_DRIVER_VERSION \
5861
&& sudo chmod 755 /opt/selenium/chromedriver-$CHROME_DRIVER_VERSION \
5962
&& sudo ln -fs /opt/selenium/chromedriver-$CHROME_DRIVER_VERSION /usr/bin/chromedriver
6063

61-
6264
#============================================
6365
# Dumping Browser name and version for config
6466
#============================================

0 commit comments

Comments
 (0)