Skip to content

Commit 8df5822

Browse files
committed
allow build om arm64
1 parent d84b3a4 commit 8df5822

File tree

8 files changed

+61
-41
lines changed

8 files changed

+61
-41
lines changed

.github/workflows/update-dev-beta-browser-images.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ jobs:
7474
export BROWSER_VERSION_COMMAND="firefox -version"
7575
elif [ "$BROWSER" = "chrome" ]; then
7676
export DRIVER_VERSION_COMMAND="/usr/bin/chromedriver -version"
77-
export BROWSER_VERSION_COMMAND="google-chrome -version"
77+
export BROWSER_VERSION_COMMAND="chromium -version"
7878
elif [ "$BROWSER" = "edge" ]; then
7979
export DRIVER_VERSION_COMMAND="/usr/bin/msedgedriver -version"
8080
export BROWSER_VERSION_COMMAND="microsoft-edge -version"

Base/Dockerfile

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,10 @@
11
FROM ubuntu:jammy-20231004
22
LABEL authors="Selenium <[email protected]>"
33

4+
ARG TARGETARCH
5+
ARG TARGETVARIANT
46
ARG VERSION
57
ARG RELEASE=selenium-${VERSION}
6-
#================================================
7-
# Customize sources for apt-get
8-
#================================================
9-
RUN echo "deb http://archive.ubuntu.com/ubuntu jammy main universe\n" > /etc/apt/sources.list \
10-
&& echo "deb http://archive.ubuntu.com/ubuntu jammy-updates main universe\n" >> /etc/apt/sources.list \
11-
&& echo "deb http://security.ubuntu.com/ubuntu jammy-security main universe\n" >> /etc/apt/sources.list
128

139
# No interactive frontend during docker build
1410
ENV DEBIAN_FRONTEND=noninteractive \
@@ -33,8 +29,16 @@ RUN apt-get -qqy update \
3329
curl \
3430
supervisor \
3531
gnupg2 \
36-
&& rm -rf /var/lib/apt/lists/* /var/cache/apt/* \
37-
&& sed -i 's/securerandom\.source=file:\/dev\/random/securerandom\.source=file:\/dev\/urandom/' ./usr/lib/jvm/java-11-openjdk-amd64/conf/security/java.security
32+
&& rm -rf /var/lib/apt/lists/* /var/cache/apt/*
33+
34+
#===================
35+
36+
RUN if [ $TARGETARCH = "arm" ] && [ $TARGETVARIANT = "v7" ]; then \
37+
export ARCH=armhf ; \
38+
else \
39+
export ARCH=$TARGETARCH ; \
40+
fi \
41+
&& sed -i 's/securerandom\.source=file:\/dev\/random/securerandom\.source=file:\/dev\/urandom/' ./usr/lib/jvm/java-11-openjdk-$ARCH/conf/security/java.security
3842

3943
#===================
4044
# Timezone settings

Makefile

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,9 @@ all: hub \
2424
sessionqueue \
2525
event_bus \
2626
chrome \
27-
edge \
2827
firefox \
2928
docker \
3029
standalone_chrome \
31-
standalone_edge \
3230
standalone_firefox \
3331
standalone_docker \
3432
video

NodeChrome/Dockerfile

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -7,20 +7,24 @@ LABEL authors=${AUTHORS}
77
USER root
88

99
#============================================
10-
# Google Chrome
10+
# Chromium from Debian
1111
#============================================
12-
# can specify versions by CHROME_VERSION;
13-
# e.g. google-chrome-stable
14-
# google-chrome-beta
15-
# google-chrome-unstable
16-
#============================================
17-
ARG CHROME_VERSION="google-chrome-stable"
18-
RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | gpg --dearmor | tee /etc/apt/trusted.gpg.d/google.gpg >/dev/null \
19-
&& echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list \
20-
&& apt-get update -qqy \
21-
&& apt-get -qqy install \
22-
${CHROME_VERSION:-google-chrome-stable} \
23-
&& rm /etc/apt/sources.list.d/google-chrome.list \
12+
ARG DEBIAN_VERSION=bullseye
13+
RUN echo "deb [signed-by=/usr/share/keyrings/debian-${DEBIAN_VERSION}.gpg] http://deb.debian.org/debian ${DEBIAN_VERSION} main" > /etc/apt/sources.list.d/debian.list \
14+
&& echo "deb [signed-by=/usr/share/keyrings/debian-${DEBIAN_VERSION}-updates.gpg] http://deb.debian.org/debian ${DEBIAN_VERSION}-updates main" >> /etc/apt/sources.list.d/debian.list \
15+
&& echo "deb [signed-by=/usr/share/keyrings/debian-security-${DEBIAN_VERSION}.gpg] http://deb.debian.org/debian-security ${DEBIAN_VERSION}-security main contrib non-free" >> /etc/apt/sources.list.d/debian.list \
16+
&& apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 0E98404D386FA1D9 \
17+
&& apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 6ED0E7B82643E131 \
18+
&& apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 112695A0E562B32A \
19+
&& apt-key export 386FA1D9 | sudo gpg --dearmour -o /usr/share/keyrings/debian-${DEBIAN_VERSION}.gpg \
20+
&& apt-key export 2643E131 | sudo gpg --dearmour -o /usr/share/keyrings/debian-${DEBIAN_VERSION}-updates.gpg \
21+
&& apt-key export E562B32A | sudo gpg --dearmour -o /usr/share/keyrings/debian-security-${DEBIAN_VERSION}.gpg
22+
23+
COPY chromium.pref /etc/apt/preferences.d/chromium.pref
24+
25+
RUN apt-get update -qqy \
26+
&& apt-get -qqy install chromium \
27+
&& rm /etc/apt/sources.list.d/debian.list \
2428
&& rm -rf /var/lib/apt/lists/* /var/cache/apt/*
2529

2630
#=================================
@@ -41,7 +45,7 @@ ARG CHROME_DRIVER_VERSION
4145
RUN if [ ! -z "$CHROME_DRIVER_VERSION" ]; \
4246
then CHROME_DRIVER_URL=https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/$CHROME_DRIVER_VERSION/linux64/chromedriver-linux64.zip ; \
4347
else echo "Geting ChromeDriver latest version from https://googlechromelabs.github.io/chrome-for-testing/LATEST_RELEASE_" \
44-
&& CHROME_MAJOR_VERSION=$(google-chrome --version | sed -E "s/.* ([0-9]+)(\.[0-9]+){3}.*/\1/") \
48+
&& CHROME_MAJOR_VERSION=$(chromium --version | sed -E "s/.* ([0-9]+)(\.[0-9]+){3}.*/\1/") \
4549
&& CHROME_DRIVER_VERSION=$(wget -qO- https://googlechromelabs.github.io/chrome-for-testing/LATEST_RELEASE_${CHROME_MAJOR_VERSION} | sed 's/\r$//') \
4650
&& CHROME_DRIVER_URL=https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/$CHROME_DRIVER_VERSION/linux64/chromedriver-linux64.zip ; \
4751
fi \
@@ -59,5 +63,5 @@ RUN if [ ! -z "$CHROME_DRIVER_VERSION" ]; \
5963
# Dumping Browser information for config
6064
#============================================
6165
RUN echo "chrome" > /opt/selenium/browser_name
62-
RUN google-chrome --version | awk '{print $3}' > /opt/selenium/browser_version
63-
RUN echo "\"goog:chromeOptions\": {\"binary\": \"/usr/bin/google-chrome\"}" > /opt/selenium/browser_binary_location
66+
RUN chromium --version | awk '{print $3}' > /opt/selenium/browser_version
67+
RUN echo "\"goog:chromeOptions\": {\"binary\": \"/usr/bin/chromium\"}" > /opt/selenium/browser_binary_location

NodeChrome/chromium.pref

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# Note: 2 blank lines are required between entries
2+
Package: *
3+
Pin: release a=eoan
4+
Pin-Priority: 500
5+
6+
Package: *
7+
Pin: origin "deb.debian.org"
8+
Pin-Priority: 300
9+
10+
# Pattern includes 'chromium', 'chromium-browser' and similarly
11+
# named dependencies:
12+
Package: chromium*
13+
Pin: origin "deb.debian.org"
14+
Pin-Priority: 700

NodeChrome/wrap_chrome_binary

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/bin/bash
22

3-
WRAPPER_PATH=$(readlink -f /usr/bin/google-chrome)
3+
WRAPPER_PATH=$(readlink -f /usr/bin/chromium)
44
BASE_PATH="$WRAPPER_PATH-base"
55
mv "$WRAPPER_PATH" "$BASE_PATH"
66

generate_release_notes.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ echo "" >> release_notes.md
1111
echo "### Changelog" > release_notes.md
1212
git --no-pager log "${LATEST_TAG}...${HEAD_BRANCH}" --pretty=format:"* [\`%h\`](http://github.com/seleniumhq/docker-selenium/commit/%H) - %s :: %an" --reverse >> release_notes.md
1313

14-
CHROME_VERSION=$(docker run --rm selenium/node-chrome:${TAG_VERSION} google-chrome --version | awk '{print $3}')
14+
CHROME_VERSION=$(docker run --rm selenium/node-chrome:${TAG_VERSION} chromium --version | awk '{print $3}')
1515
EDGE_VERSION=$(docker run --rm selenium/node-edge:${TAG_VERSION} microsoft-edge --version | awk '{print $3}')
1616
CHROMEDRIVER_VERSION=$(docker run --rm selenium/node-chrome:${TAG_VERSION} chromedriver --version | awk '{print $2}')
1717
EDGEDRIVER_VERSION=$(docker run --rm selenium/node-edge:${TAG_VERSION} msedgedriver --version | awk '{print $4}')

tag_and_push_browser_images.sh

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ echo "Tagging images for browser ${BROWSER}, version ${VERSION}, build date ${BU
2020
case "${BROWSER}" in
2121

2222
chrome)
23-
CHROME_VERSION=$(docker run --rm selenium/node-chrome:${TAG_VERSION} google-chrome --version | awk '{print $3}')
23+
CHROME_VERSION=$(docker run --rm selenium/node-chrome:${TAG_VERSION} chromium --version | awk '{print $3}')
2424
echo "Chrome version -> "${CHROME_VERSION}
2525
CHROME_SHORT_VERSION="$(short_version ${CHROME_VERSION})"
2626
echo "Short Chrome version -> "${CHROME_SHORT_VERSION}
@@ -35,21 +35,21 @@ chrome)
3535
# Browser version and browser driver version plus build date
3636
${CHROME_VERSION}-chromedriver-${CHROMEDRIVER_VERSION}-${BUILD_DATE}
3737
# Browser version and browser driver version
38-
${CHROME_VERSION}-chromedriver-${CHROMEDRIVER_VERSION}
38+
${CHROME_VERSION}-chromedriver-${CHROMEDRIVER_VERSION}
3939
# Browser version and build date
4040
${CHROME_VERSION}-${BUILD_DATE}
4141
# Browser version
42-
${CHROME_VERSION}
42+
${CHROME_VERSION}
4343
## Short versions
4444
${CHROME_SHORT_VERSION}-chromedriver-${CHROMEDRIVER_SHORT_VERSION}-grid-${TAG_VERSION}
4545
# Browser version and browser driver version plus build date
4646
${CHROME_SHORT_VERSION}-chromedriver-${CHROMEDRIVER_SHORT_VERSION}-${BUILD_DATE}
4747
# Browser version and browser driver version
48-
${CHROME_SHORT_VERSION}-chromedriver-${CHROMEDRIVER_SHORT_VERSION}
48+
${CHROME_SHORT_VERSION}-chromedriver-${CHROMEDRIVER_SHORT_VERSION}
4949
# Browser version and build date
5050
${CHROME_SHORT_VERSION}-${BUILD_DATE}
5151
# Browser version
52-
${CHROME_SHORT_VERSION}
52+
${CHROME_SHORT_VERSION}
5353
)
5454

5555
for chrome_tag in "${CHROME_TAGS[@]}"
@@ -83,17 +83,17 @@ edge)
8383
# Browser version and build date
8484
${EDGE_VERSION}-${BUILD_DATE}
8585
# Browser version
86-
${EDGE_VERSION}
86+
${EDGE_VERSION}
8787
## Short versions
8888
${EDGE_SHORT_VERSION}-edgedriver-${EDGEDRIVER_SHORT_VERSION}-grid-${TAG_VERSION}
8989
# Browser version and browser driver version plus build date
9090
${EDGE_SHORT_VERSION}-edgedriver-${EDGEDRIVER_SHORT_VERSION}-${BUILD_DATE}
9191
# Browser version and browser driver version
92-
${EDGE_SHORT_VERSION}-edgedriver-${EDGEDRIVER_SHORT_VERSION}
92+
${EDGE_SHORT_VERSION}-edgedriver-${EDGEDRIVER_SHORT_VERSION}
9393
# Browser version and build date
9494
${EDGE_SHORT_VERSION}-${BUILD_DATE}
9595
# Browser version
96-
${EDGE_SHORT_VERSION}
96+
${EDGE_SHORT_VERSION}
9797
)
9898

9999
for edge_tag in "${EDGE_TAGS[@]}"
@@ -122,21 +122,21 @@ firefox)
122122
# Browser version and browser driver version plus build date
123123
${FIREFOX_VERSION}-geckodriver-${GECKODRIVER_VERSION}-${BUILD_DATE}
124124
# Browser version and browser driver version
125-
${FIREFOX_VERSION}-geckodriver-${GECKODRIVER_VERSION}
125+
${FIREFOX_VERSION}-geckodriver-${GECKODRIVER_VERSION}
126126
# Browser version and build date
127127
${FIREFOX_VERSION}-${BUILD_DATE}
128128
# Browser version
129-
${FIREFOX_VERSION}
129+
${FIREFOX_VERSION}
130130
## Short versions
131131
${FIREFOX_SHORT_VERSION}-geckodriver-${GECKODRIVER_SHORT_VERSION}-grid-${TAG_VERSION}
132132
# Browser version and browser driver version plus build date
133133
${FIREFOX_SHORT_VERSION}-geckodriver-${GECKODRIVER_SHORT_VERSION}-${BUILD_DATE}
134134
# Browser version and browser driver version
135-
${FIREFOX_SHORT_VERSION}-geckodriver-${GECKODRIVER_SHORT_VERSION}
135+
${FIREFOX_SHORT_VERSION}-geckodriver-${GECKODRIVER_SHORT_VERSION}
136136
# Browser version and build date
137137
${FIREFOX_SHORT_VERSION}-${BUILD_DATE}
138138
# Browser version
139-
${FIREFOX_SHORT_VERSION}
139+
${FIREFOX_SHORT_VERSION}
140140
)
141141

142142
for firefox_tag in "${FIREFOX_TAGS[@]}"

0 commit comments

Comments
 (0)