Skip to content
This repository was archived by the owner on Jun 22, 2024. It is now read-only.

Commit 1b0c38c

Browse files
authored
Merge pull request #70 from seleniumhq-community/4.19.0-release
Sync 4.19.0 release
2 parents d16ae9e + ea220c7 commit 1b0c38c

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+765
-385
lines changed

.circleci/config.yml

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -205,8 +205,6 @@ jobs:
205205
BUILD_ARGS: << parameters.build-args >>
206206
MAKE_TARGETS: << parameters.make-targets >>
207207
DEPLOY_BRANCH: trunk
208-
RELEASE: selenium-4.18.0
209-
SELENIUM_VERSION: 4.18.1
210208
GITHUB_USER: seleniumhq-community
211209
GITHUB_REPO: docker-seleniarm
212210
steps:
@@ -229,11 +227,11 @@ jobs:
229227
- run:
230228
name: "Prepare workflow environment variables"
231229
command: |
232-
#export SELENIUM_VERSION=$(grep selenium-server Base/Dockerfile | sed 's/.*-\([^-]*\)\.jar \\/\1/' | head -n 1)
230+
echo 'export SELENIUM_VERSION=$(grep BASE_VERSION Makefile | sed 's/.*,\([^)]*\))/\1/p' | head -n 1)' >> $BASH_ENV
231+
echo 'export RELEASE=$(grep BASE_RELEASE Makefile | sed 's/.*,\([^)]*\))/\1/p' | head -n 1)' >> $BASH_ENV
233232
echo "Prepare workflow environment variables"
234233
echo 'export BRANCH='$SELENIUM_VERSION >> $BASH_ENV
235234
echo 'export BUILD_DATE=$(date '+%Y%m%d')' >> $BASH_ENV
236-
#echo 'export BUILD_DATE=20230110' >> $BASH_ENV
237235
echo 'export RELEASE_TAG="seleniarm-v`echo $BRANCH`-`echo $BUILD_DATE`"' >> $BASH_ENV
238236
source $BASH_ENV
239237
echo "Workflow environment variables:"
@@ -339,7 +337,7 @@ workflows:
339337
jobs:
340338
- deploy-multi-arch-full-grid:
341339
name: deploy-multi-arch-base
342-
platforms: linux/arm64,linux/amd64
340+
platforms: linux/arm64,linux/amd64,linux/arm/v7
343341
build-args: --push
344342
make-targets: base_multi
345343
machine-type: ubuntu2004arm64large
@@ -350,7 +348,7 @@ workflows:
350348
- deploy-multi-arch-full-grid:
351349
name: deploy-multi-arch-full-grid
352350
requires: [deploy-multi-arch-base]
353-
platforms: linux/arm64,linux/amd64
351+
platforms: linux/arm64,linux/amd64,linux/arm/v7
354352
build-args: --push
355353
make-targets: grid_multi
356354
machine-type: ubuntu2004arm64
@@ -361,7 +359,7 @@ workflows:
361359
- deploy-multi-arch-full-grid:
362360
name: deploy-multi-arch-node-base
363361
requires: [deploy-multi-arch-base]
364-
platforms: linux/arm64,linux/amd64
362+
platforms: linux/arm64,linux/amd64,linux/arm/v7
365363
build-args: --push
366364
make-targets: node_base_multi
367365
machine-type: ubuntu2004arm64large
@@ -372,7 +370,7 @@ workflows:
372370
- deploy-multi-arch-full-grid:
373371
name: deploy-multi-arch-firefox
374372
requires: [deploy-multi-arch-node-base]
375-
platforms: linux/arm64,linux/amd64
373+
platforms: linux/arm64,linux/amd64,linux/arm/v7
376374
build-args: --push
377375
make-targets: firefox_multi
378376
machine-type: ubuntu2004arm64large
@@ -383,7 +381,7 @@ workflows:
383381
- deploy-multi-arch-full-grid:
384382
name: deploy-multi-arch-chromium
385383
requires: [deploy-multi-arch-node-base]
386-
platforms: linux/arm64,linux/amd64
384+
platforms: linux/arm64,linux/amd64,linux/arm/v7
387385
build-args: --push
388386
make-targets: chromium_multi
389387
machine-type: ubuntu2004arm64large
@@ -394,7 +392,7 @@ workflows:
394392
- deploy-multi-arch-full-grid:
395393
name: deploy-multi-arch-release-notes
396394
requires: [deploy-multi-arch-firefox,deploy-multi-arch-chromium]
397-
platforms: linux/arm64,linux/amd64
395+
platforms: linux/arm64,linux/amd64,linux/arm/v7
398396
build-args: --push
399397
make-targets: tag_and_push_multi_arch_browser_images
400398
machine-type: ubuntu2004arm64

.github/ISSUE_TEMPLATE/bug_report.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ body:
5656
attributes:
5757
label: Docker Selenium version (image tag)
5858
description: What version of Docker Selenium are you using?
59-
placeholder: 4.18.1-20240224? Please use the full tag, avoid "latest"
59+
placeholder: 4.19.0-20240328? Please use the full tag, avoid "latest"
6060
validations:
6161
required: true
6262
- type: input

.github/workflows/deploy.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,12 @@ jobs:
8282
timeout_minutes: 20
8383
max_attempts: 3
8484
command: VERSION="${GRID_VERSION}" BUILD_DATE=${BUILD_DATE} PUSH_IMAGE=true make tag_and_push_browser_images
85+
- name: Delete previous nightly tag & release if any
86+
uses: dev-drprasad/delete-tag-and-release@master
87+
with:
88+
tag_name: nightly
89+
github_token: ${{ secrets.GITHUB_TOKEN }}
90+
delete_release: true
8591
- name: Commit files
8692
run: |
8793
git config --local user.email "[email protected]"

.github/workflows/helm-chart-test.yml

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@ on:
1515
description: 'Test parameter for different request timeout'
1616
required: false
1717
default: '370'
18+
max-replicas-count:
19+
description: 'Test parameter for autoscaling to set maxReplicaCount'
20+
required: false
21+
default: '30'
1822
log-level:
1923
description: 'Test parameter for different log level'
2024
required: false
@@ -38,22 +42,22 @@ jobs:
3842
cluster: 'kind'
3943
helm-version: 'v3.10.3'
4044
test-existing-keda: true
41-
- k8s-version: 'v1.26.14'
45+
- k8s-version: 'v1.26.15'
4246
test-strategy: deployment
43-
cluster: 'kind'
47+
cluster: 'minikube'
4448
helm-version: 'v3.11.3'
4549
test-existing-keda: true
46-
- k8s-version: 'v1.27.11'
50+
- k8s-version: 'v1.27.12'
4751
test-strategy: job_https
48-
cluster: 'kind'
52+
cluster: 'minikube'
4953
helm-version: 'v3.12.3'
5054
test-existing-keda: true
51-
- k8s-version: 'v1.28.7'
55+
- k8s-version: 'v1.28.8'
5256
test-strategy: job_hostname
5357
cluster: 'minikube'
5458
helm-version: 'v3.13.3'
5559
test-existing-keda: false
56-
- k8s-version: 'v1.29.2'
60+
- k8s-version: 'v1.29.3'
5761
test-strategy: deployment_https
5862
cluster: 'minikube'
5963
helm-version: 'v3.14.3'
@@ -116,8 +120,11 @@ jobs:
116120
if: (matrix.test-strategy == 'job' || matrix.test-strategy == 'deployment') && (github.event_name == 'schedule' || github.event_name == 'workflow_dispatch')
117121
run: |
118122
echo "AUTOSCALING_POLL_INTERVAL=${AUTOSCALING_POLL_INTERVAL}" >> $GITHUB_ENV
123+
echo "SET_MAX_REPLICAS=${SET_MAX_REPLICAS}" >> $GITHUB_ENV
124+
echo "LOG_LEVEL=${LOG_LEVEL}" >> $GITHUB_ENV
119125
env:
120126
AUTOSCALING_POLL_INTERVAL: ${{ github.event.inputs.request-timeout || '370' }}
127+
SET_MAX_REPLICAS: ${{ github.event.inputs.max-replicas-count || '30' }}
121128
LOG_LEVEL: ${{ github.event.inputs.log-level || 'FINE' }}
122129
- name: Test Selenium Grid on Kubernetes ${{ matrix.k8s-version }} with Autoscaling ${{ matrix.test-strategy }}
123130
uses: nick-invision/retry@master

Base/Dockerfile

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
#FROM ubuntu:jammy-20240227
1+
#FROM ubuntu:jammy
22
FROM debian:bookworm
33
LABEL authors="Selenium <[email protected]>"
44

55
# Arguments to define the version of dependencies to download
66
ARG VERSION
77
ARG RELEASE=selenium-${VERSION}
88
# Default value should be aligned with upstream Selenium (https://github.com/SeleniumHQ/selenium/blob/trunk/java/maven_deps.bzl)
9-
ARG OPENTELEMETRY_VERSION=1.34.1
10-
ARG GRPC_VERSION=1.61.0
9+
ARG OPENTELEMETRY_VERSION=1.35.0
10+
ARG GRPC_VERSION=1.61.1
1111

1212
#Arguments to define the user running Selenium
1313
ARG SEL_USER=seluser
@@ -35,6 +35,7 @@ RUN echo "VERSION is $VERSION" && echo "RELEASE is $RELEASE"
3535
# Miscellaneous packages
3636
# Includes minimal runtime used for executing non GUI Java programs
3737
#========================
38+
ARG JRE_VERSION=17
3839
RUN apt-get -qqy update \
3940
&& apt-get upgrade -yq \
4041
&& apt-get -qqy --no-install-recommends install \
@@ -51,11 +52,12 @@ RUN apt-get -qqy update \
5152
gnupg2 \
5253
libnss3-tools \
5354
&& mkdir -p /etc/apt/keyrings \
54-
&& wget -O - https://packages.adoptium.net/artifactory/api/gpg/key/public | tee /etc/apt/keyrings/adoptium.asc \
55-
&& echo "deb [signed-by=/etc/apt/keyrings/adoptium.asc] https://packages.adoptium.net/artifactory/deb $(awk -F= '/^VERSION_CODENAME/{print$2}' /etc/os-release) main" | tee /etc/apt/sources.list.d/adoptium.list \
56-
&& apt-get update -y \
57-
&& apt-get install temurin-11-jre -y \
58-
&& rm -rf /var/lib/apt/lists/* /var/cache/apt/*
55+
&& apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 843C48A565F8F04B \
56+
&& wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | tee /etc/apt/keyrings/adoptium.asc >dev/null \
57+
&& echo "deb [signed-by=/etc/apt/keyrings/adoptium.asc] https://packages.adoptium.net/artifactory/deb $(awk -F= '/^VERSION_CODENAME/{print$2}' /etc/os-release) main" | tee /etc/apt/sources.list.d/adoptium.list >dev/null \
58+
&& apt-get -qqy update \
59+
&& apt-get -qqy --no-install-recommends install temurin-${JRE_VERSION}-jre -y \
60+
&& rm -rf /var/lib/apt/lists/* /var/cache/apt/*
5961

6062
#===================
6163

@@ -64,7 +66,7 @@ RUN if [ $TARGETARCH = "arm" ] && [ $TARGETVARIANT = "v7" ]; then \
6466
else \
6567
export ARCH=$TARGETARCH ; \
6668
fi \
67-
&& sed -i 's/securerandom\.source=file:\/dev\/random/securerandom\.source=file:\/dev\/urandom/' ./usr/lib/jvm/temurin-11-jre-$ARCH/conf/security/java.security
69+
&& sed -i 's/securerandom\.source=file:\/dev\/random/securerandom\.source=file:\/dev\/urandom/' ./usr/lib/jvm/temurin-${JRE_VERSION}-jre-$ARCH/conf/security/java.security
6870

6971

7072
#===================

Distributor/start-selenium-grid-distributor.sh

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,11 @@ if [ ! -z "$SE_REJECT_UNSUPPORTED_CAPS" ]; then
9393
SE_OPTS="$SE_OPTS --reject-unsupported-caps ${SE_REJECT_UNSUPPORTED_CAPS}"
9494
fi
9595

96+
if [ ! -z "$SE_NEW_SESSION_THREAD_POOL_SIZE" ]; then
97+
echo "Appending Selenium options: --newsession-threadpool-size ${SE_NEW_SESSION_THREAD_POOL_SIZE}"
98+
SE_OPTS="$SE_OPTS --newsession-threadpool-size ${SE_NEW_SESSION_THREAD_POOL_SIZE}"
99+
fi
100+
96101
EXTRA_LIBS=""
97102

98103
if [ "$SE_ENABLE_TRACING" = "true" ]; then

Hub/start-selenium-grid-hub.sh

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,11 @@ if [ ! -z "$SE_REJECT_UNSUPPORTED_CAPS" ]; then
6666
SE_OPTS="$SE_OPTS --reject-unsupported-caps ${SE_REJECT_UNSUPPORTED_CAPS}"
6767
fi
6868

69+
if [ ! -z "$SE_NEW_SESSION_THREAD_POOL_SIZE" ]; then
70+
echo "Appending Selenium options: --newsession-threadpool-size ${SE_NEW_SESSION_THREAD_POOL_SIZE}"
71+
SE_OPTS="$SE_OPTS --newsession-threadpool-size ${SE_NEW_SESSION_THREAD_POOL_SIZE}"
72+
fi
73+
6974
EXTRA_LIBS=""
7075

7176
if [ "$SE_ENABLE_TRACING" = "true" ]; then

Makefile

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
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-
BASE_RELEASE := $(or $(BASE_RELEASE),$(BASE_RELEASE),selenium-4.18.0)
5-
BASE_VERSION := $(or $(BASE_VERSION),$(BASE_VERSION),4.18.1)
4+
BASE_RELEASE := $(or $(BASE_RELEASE),$(BASE_RELEASE),selenium-4.19.0)
5+
BASE_VERSION := $(or $(BASE_VERSION),$(BASE_VERSION),4.19.0)
66
BASE_RELEASE_NIGHTLY := $(or $(BASE_RELEASE_NIGHTLY),$(BASE_RELEASE_NIGHTLY),nightly)
7-
BASE_VERSION_NIGHTLY := $(or $(BASE_VERSION_NIGHTLY),$(BASE_VERSION_NIGHTLY),4.19.0-SNAPSHOT)
8-
VERSION := $(or $(VERSION),$(VERSION),4.18.1)
7+
BASE_VERSION_NIGHTLY := $(or $(BASE_VERSION_NIGHTLY),$(BASE_VERSION_NIGHTLY),4.20.0-SNAPSHOT)
8+
VERSION := $(or $(VERSION),$(VERSION),4.19.0)
99
TAG_VERSION := $(VERSION)-$(BUILD_DATE)
1010
CHART_VERSION_NIGHTLY := $(or $(CHART_VERSION_NIGHTLY),$(CHART_VERSION_NIGHTLY),1.0.0-nightly)
1111
NAMESPACE := $(or $(NAMESPACE),$(NAMESPACE),$(NAME))

NodeBase/Dockerfile

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,14 @@ ARG AUTHORS
44
FROM ${NAMESPACE}/base:${VERSION}
55
LABEL authors=${AUTHORS}
66

7-
ARG NOVNC_VERSION="1.4.0"
8-
ARG WEBSOCKIFY_VERSION="0.11.0"
7+
# Inputs: heads, tags
8+
ARG NOVNC_SOURCE="heads"
9+
# Inputs: master, "v1.4.0"
10+
ARG NOVNC_VERSION="master"
11+
# Inputs: heads, tags
12+
ARG WEBSOCKIFY_SOURCE="heads"
13+
# Inputs: master, "v0.11.0"
14+
ARG WEBSOCKIFY_VERSION="master"
915

1016
USER root
1117

@@ -97,13 +103,13 @@ RUN apt-get -qqy update \
97103
# noVNC exposes VNC through a web page #
98104
########################################
99105
RUN wget -nv -O noVNC.zip \
100-
"https://github.com/novnc/noVNC/archive/refs/tags/v${NOVNC_VERSION}.zip" \
106+
"https://github.com/novnc/noVNC/archive/refs/${NOVNC_SOURCE}/${NOVNC_VERSION}.zip" \
101107
&& unzip -x noVNC.zip \
102108
&& mv noVNC-${NOVNC_VERSION} /opt/bin/noVNC \
103109
&& cp /opt/bin/noVNC/vnc.html /opt/bin/noVNC/index.html \
104110
&& rm noVNC.zip \
105111
&& wget -nv -O websockify.zip \
106-
"https://github.com/novnc/websockify/archive/refs/tags/v${WEBSOCKIFY_VERSION}.zip" \
112+
"https://github.com/novnc/websockify/archive/refs/${WEBSOCKIFY_SOURCE}/${WEBSOCKIFY_VERSION}.zip" \
107113
&& unzip -x websockify.zip \
108114
&& rm websockify.zip \
109115
&& mv websockify-${WEBSOCKIFY_VERSION} /opt/bin/noVNC/utils/websockify \
@@ -133,6 +139,14 @@ RUN chmod -R 775 ${HOME} /tmp/.X11-unix \
133139
&& chgrp -R 0 ${HOME} /tmp/.X11-unix \
134140
&& chmod -R g=u ${HOME} /tmp/.X11-unix
135141

142+
#============================================
143+
# Shared cleanup script environment variables
144+
#============================================
145+
ENV SE_ENABLE_BROWSER_LEFTOVERS_CLEANUP false
146+
ENV SE_BROWSER_LEFTOVERS_INTERVAL_SECS 3600
147+
ENV SE_BROWSER_LEFTOVERS_PROCESSES_SECS 7200
148+
ENV SE_BROWSER_LEFTOVERS_TEMPFILES_DAYS 1
149+
136150
#===================================================
137151
# Run the following commands as non-privileged user
138152
#===================================================

NodeChrome/Dockerfile

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,12 @@ RUN if [ ! -z "$CHROME_DRIVER_VERSION" ]; \
5353
&& chmod 755 /opt/selenium/chromedriver-$CHROME_DRIVER_VERSION \
5454
&& ln -fs /opt/selenium/chromedriver-$CHROME_DRIVER_VERSION /usr/bin/chromedriver
5555

56+
#============================================
57+
# Chrome cleanup script and supervisord file
58+
#============================================
59+
COPY chrome-cleanup.sh /opt/bin/chrome-cleanup.sh
60+
COPY chrome-cleanup.conf /etc/supervisor/conf.d/chrome-cleanup.conf
61+
5662
USER ${SEL_UID}
5763

5864
#============================================

0 commit comments

Comments
 (0)