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

Merge upstream #52

Closed
wants to merge 42 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
980f915
Bump docker images to 4.13.0 (#1951)
luisfcorreia Sep 26, 2023
1872925
Update tag in docs and files [skip ci]
selenium-ci Sep 26, 2023
a1af630
Bumping Chart version
diemol Sep 26, 2023
51eafbe
Bump nick-invision/retry from 2.8.3 to 2.9.0 (#1952)
dependabot[bot] Sep 28, 2023
773c0dc
fix(obsolescence): bumped up packages (#1961)
amardeep2006 Oct 3, 2023
889b7f5
fix: update base image to use focal 20230801 (#1962)
imtheish97 Oct 3, 2023
410ca81
Add missing Ingress namespace field (#1966)
IronMage Oct 4, 2023
306b8fc
feat(keda): bumped up keda 2.12.0 (#1960)
amardeep2006 Oct 4, 2023
0049db7
Update tag in docs and files [skip ci]
selenium-ci Oct 4, 2023
69d9349
Bumping Chart version
diemol Oct 4, 2023
cefee2a
Bump images to 4.14.1 (#1970)
luisfcorreia Oct 16, 2023
37fb389
Update tag in docs and files [skip ci]
selenium-ci Oct 16, 2023
eea48b3
fix issue #1887: affinity rules for helm charts (again) (#1973)
sehaas Oct 16, 2023
a6bf003
Bump ad-m/github-push-action from 0.6.0 to 0.8.0 (#1971)
dependabot[bot] Oct 17, 2023
cf442bf
Bump actions/setup-python from 4.7.0 to 4.7.1 (#1965)
dependabot[bot] Oct 17, 2023
32ec173
Adds possibility to set node stereotype in standalone mode (#1967)
philippe-granet Oct 17, 2023
5c177a7
Update Dockerfile ubuntu version (#1980)
mtcolman Oct 20, 2023
3a03f97
Update tag in docs and files [skip ci]
selenium-ci Oct 20, 2023
01648f3
feat: video recording with pluggable upload container (#1881)
msvticket Oct 25, 2023
60ad27e
Update Video/Dockerfile with based image ffmpeg:6.0-alpine (#1981)
VietND96 Oct 25, 2023
9b4acaa
Update tag in docs and files [skip ci]
selenium-ci Oct 25, 2023
020ded4
Bumping chart version
diemol Oct 25, 2023
0f7367e
Fix minor issues after PR #1881 and #1981 (#1983)
VietND96 Oct 27, 2023
fe80aba
Improve default value for videoRecorder in chart (#1984)
VietND96 Oct 27, 2023
4f725b7
Improve chart templates in the section videoRecorder (#1987)
VietND96 Oct 30, 2023
b1c358c
Update to Selenium 4.15.0 (#1990)
luisfcorreia Nov 2, 2023
cef5534
Update tag in docs and files [skip ci]
selenium-ci Nov 2, 2023
599c704
feat(autoscaling): Unified parameters to set scaled options for brows…
VietND96 Nov 6, 2023
009d47c
Add chart parameter ingress.paths to configure custom paths (#1994)
VietND96 Nov 6, 2023
87c0cf6
Bump helm/chart-releaser-action from 1.5.0 to 1.6.0 (#1993)
dependabot[bot] Nov 6, 2023
fe17f6d
feat: Adding port to nodes service (#1996)
VietND96 Nov 8, 2023
e071a31
Update Dockerfile external jar versions (#1998)
mtcolman Nov 8, 2023
6b7356b
Update tag in docs and files [skip ci]
selenium-ci Nov 8, 2023
f5f90dd
Switching to Jammy (#1923)
diemol Nov 10, 2023
f291b8e
Update tag in docs and files [skip ci]
selenium-ci Nov 10, 2023
6f9708e
Update start-xvfb.sh
diemol Nov 10, 2023
f038e69
Bump dessant/lock-threads from 4.0.1 to 5.0.0 (#2012)
dependabot[bot] Nov 14, 2023
35a044a
feat(helm-test): Added helm test and linting (#2003)
amardeep2006 Nov 14, 2023
eec5ecc
Bug: Error setting name in helm release #2006 #2007 (#2009)
VietND96 Nov 14, 2023
373c3c3
corrected typo in selenium grid charts (#2010)
Thab310 Nov 14, 2023
d6086a8
Merge remote-tracking branch 'origin/trunk' into merge-upstream
diemol Nov 17, 2023
2028b45
Bumping firefox
diemol Nov 17, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,6 @@ body:
attributes:
label: Docker Selenium version (tag)
description: What version of Docker Selenium are you using?
placeholder: 4.12.1-20230920? Please use the full tag, avoid "latest"
placeholder: 4.15.0-20231110? Please use the full tag, avoid "latest"
validations:
required: true
2 changes: 1 addition & 1 deletion .github/workflows/build-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
- name: Output Docker info
run: docker info
- name: Set up Python 3.8
uses: actions/[email protected].0
uses: actions/[email protected].1
with:
python-version: 3.8
- name: Get branch name (only for push to branch)
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,25 +51,25 @@ jobs:
DOCKER_USERNAME: ${{secrets.DOCKER_USERNAME}}
DOCKER_PASSWORD: ${{secrets.DOCKER_PASSWORD}}
- name: Deploy new images
uses: nick-invision/retry@943e742917ac94714d2f408a0e8320f2d1fcafcd # v2
uses: nick-invision/retry@14672906e672a08bd6eeb15720e9ed3ce869cdd4 # v2
with:
timeout_minutes: 20
max_attempts: 3
command: VERSION="${GRID_VERSION}" BUILD_DATE=${BUILD_DATE} make release
- name: Tag images as latest
uses: nick-invision/retry@943e742917ac94714d2f408a0e8320f2d1fcafcd # v2
uses: nick-invision/retry@14672906e672a08bd6eeb15720e9ed3ce869cdd4 # v2
with:
timeout_minutes: 20
max_attempts: 3
command: VERSION="${GRID_VERSION}" BUILD_DATE=${BUILD_DATE} make tag_latest
- name: Deploy latest tag
uses: nick-invision/retry@943e742917ac94714d2f408a0e8320f2d1fcafcd # v2
uses: nick-invision/retry@14672906e672a08bd6eeb15720e9ed3ce869cdd4 # v2
with:
timeout_minutes: 20
max_attempts: 3
command: VERSION="${GRID_VERSION}" BUILD_DATE=${BUILD_DATE} make release_latest
- name: Tag browser images
uses: nick-invision/retry@943e742917ac94714d2f408a0e8320f2d1fcafcd # v2
uses: nick-invision/retry@14672906e672a08bd6eeb15720e9ed3ce869cdd4 # v2
with:
timeout_minutes: 20
max_attempts: 3
Expand All @@ -80,7 +80,7 @@ jobs:
git config --local user.name "Selenium CI Bot"
git commit -m "Update tag in docs and files [skip ci]" -a
- name: Push changes
uses: ad-m/github-push-action@40bf560936a8022e68a3c00e7d2abefaf01305a6 # master
uses: ad-m/github-push-action@d91a481090679876dfc4178fef17f286781251df # master
with:
github_token: ${{ secrets.SELENIUM_CI_TOKEN }}
branch: trunk
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/helm-chart-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,6 @@ jobs:
git config user.email "[email protected]"

- name: Run chart-releaser
uses: helm/chart-releaser-action@v1.5.0
uses: helm/chart-releaser-action@v1.6.0
env:
CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
50 changes: 50 additions & 0 deletions .github/workflows/helm-chart-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: Lint and Test Helm Charts

on:
push:
paths:
- 'charts/selenium-grid/**'
pull_request:
paths:
- 'charts/selenium-grid/**'
workflow_dispatch:

jobs:
lint-test:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Set up Helm
uses: azure/setup-helm@v3
with:
version: v3.13.2

- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.10'
check-latest: true

- name: Set up chart-testing
uses: helm/[email protected]

- name: Run chart-testing (list-changed)
id: list-changed
run: |
changed=$(ct list-changed --config tests/chart-test.yaml)
if [[ -n "$changed" ]]; then
echo "{changed}={true}" >> $GITHUB_OUTPUT
fi

- name: Run chart-testing (lint)
run: ct lint --config tests/chart-test.yaml

- name: Create kind cluster
uses: helm/[email protected]

- name: Run chart-testing (install)
run: ct install --all --config tests/chart-test.yaml
2 changes: 1 addition & 1 deletion .github/workflows/lock.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
action:
runs-on: ubuntu-latest
steps:
- uses: dessant/lock-threads@be8aa5be94131386884a6da4189effda9b14aa21 # v3
- uses: dessant/lock-threads@d42e5f49803f3c4e14ffee0378e31481265dda22 # v3
with:
process-only: 'issues'
issue-lock-inactive-days: '30'
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test-video.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
- name: Output Docker info
run: docker info
- name: Set up Python 3.8
uses: actions/[email protected].0
uses: actions/[email protected].1
with:
python-version: 3.8
- name: Get branch name (only for push to branch)
Expand Down
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -147,4 +147,5 @@ ENV/

# End of https://www.gitignore.io/api/python
.DS_Store

/charts/*/charts
/charts/*/**.lock
10 changes: 4 additions & 6 deletions Base/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# FROM ubuntu:focal-20210416
#FROM ubuntu:focal-20210416
#FROM ubuntu:focal-20210827
#FROM ubuntu:focal-20211006
#FROM ubuntu:focal-20220302
Expand Down Expand Up @@ -42,7 +42,7 @@ RUN apt-get -qqy update \
curl \
supervisor \
gnupg2 \
&& rm -rf /var/lib/apt/lists/* /var/cache/apt/*
&& rm -rf /var/lib/apt/lists/* /var/cache/apt/*

#===================

Expand Down Expand Up @@ -93,10 +93,8 @@ COPY supervisord.conf /etc
RUN mkdir -p /opt/selenium /opt/selenium/assets /var/run/supervisor /var/log/supervisor \
&& touch /opt/selenium/config.toml \
&& chmod -R 777 /opt/selenium /opt/selenium/assets /var/run/supervisor /var/log/supervisor /etc/passwd \
&& wget --no-verbose https://github.com/SeleniumHQ/selenium/releases/download/selenium-4.10.0/selenium-server-4.10.0.jar \
&& wget --no-verbose https://github.com/SeleniumHQ/selenium/releases/download/selenium-4.15.0/selenium-server-4.15.0.jar \
-O /opt/selenium/selenium-server.jar \
&& wget --no-verbose https://repo1.maven.org/maven2/org/seleniumhq/selenium/selenium-http-jdk-client/4.10.0/selenium-http-jdk-client-4.10.0.jar \
-O /opt/selenium/selenium-http-jdk-client.jar \
&& chgrp -R 0 /opt/selenium ${HOME} /opt/selenium/assets /var/run/supervisor /var/log/supervisor \
&& chmod -R g=u /opt/selenium ${HOME} /opt/selenium/assets /var/run/supervisor /var/log/supervisor \
&& setfacl -Rm u:seluser:rwx /opt /opt/selenium ${HOME} /opt/selenium/assets /var/run/supervisor /var/log/supervisor
Expand All @@ -115,7 +113,7 @@ RUN if [ `arch` = "aarch64" ]; then \
fi

RUN if [ -f "/tmp/cs" ]; then \
/tmp/cs fetch --classpath --cache /external_jars io.opentelemetry:opentelemetry-exporter-otlp:1.28.0 io.opentelemetry:opentelemetry-exporter-jaeger:1.28.0 io.grpc:grpc-netty:1.57.1 > /external_jars/.classpath.txt ; \
/tmp/cs fetch --classpath --cache /external_jars io.opentelemetry:opentelemetry-exporter-otlp:1.31.0 io.opentelemetry:opentelemetry-exporter-jaeger:1.31.0 io.grpc:grpc-netty:1.59.0 > /external_jars/.classpath.txt ; \
fi

RUN if [ -f "/tmp/cs" ]; then chmod 664 /external_jars/.classpath.txt ; fi
Expand Down
8 changes: 4 additions & 4 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ BUILD_ARGS := $(BUILD_ARGS)
MAJOR := $(word 1,$(subst ., ,$(TAG_VERSION)))
MINOR := $(word 2,$(subst ., ,$(TAG_VERSION)))
MAJOR_MINOR_PATCH := $(word 1,$(subst -, ,$(TAG_VERSION)))
FFMPEG_TAG_VERSION := $(or $(FFMPEG_TAG_VERSION),$(FFMPEG_TAG_VERSION),ffmpeg-4.3.1)
FFMPEG_TAG_VERSION := $(or $(FFMPEG_TAG_VERSION),$(FFMPEG_TAG_VERSION),ffmpeg-6.0)
PLATFORMS := $(or $(PLATFORMS),$(PLATFORMS),linux/arm64)

all: hub \
Expand Down Expand Up @@ -498,9 +498,9 @@ test_video: video hub chrome firefox edge
done
# Using ffmpeg to verify file integrity
# https://superuser.com/questions/100288/how-can-i-check-the-integrity-of-a-video-file-avi-mpeg-mp4
docker run -v $$(pwd):$$(pwd) -w $$(pwd) jrottenberg/ffmpeg:4.3.1-ubuntu2004 -v error -i ./tests/videos/chrome_video.mp4 -f null - 2>error.log
docker run -v $$(pwd):$$(pwd) -w $$(pwd) jrottenberg/ffmpeg:4.3.1-ubuntu2004 -v error -i ./tests/videos/firefox_video.mp4 -f null - 2>error.log
docker run -v $$(pwd):$$(pwd) -w $$(pwd) jrottenberg/ffmpeg:4.3.1-ubuntu2004 -v error -i ./tests/videos/edge_video.mp4 -f null - 2>error.log
docker run -v $$(pwd):$$(pwd) -w $$(pwd) jrottenberg/ffmpeg:6.0-alpine -v error -i ./tests/videos/chrome_video.mp4 -f null - 2>error.log
docker run -v $$(pwd):$$(pwd) -w $$(pwd) jrottenberg/ffmpeg:6.0-alpine -v error -i ./tests/videos/firefox_video.mp4 -f null - 2>error.log
docker run -v $$(pwd):$$(pwd) -w $$(pwd) jrottenberg/ffmpeg:6.0-alpine -v error -i ./tests/videos/edge_video.mp4 -f null - 2>error.log

.PHONY: \
all \
Expand Down
6 changes: 3 additions & 3 deletions NodeBase/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -139,9 +139,9 @@ RUN mkdir -p ${HOME}/.vnc \
&& x11vnc -storepasswd secret ${HOME}/.vnc/passwd

# Added to avoid the following sudo error while running multi-arch builds:
# "sudo: effective uid is not 0, is /usr/bin/sudo on a file system with
# "sudo: effective uid is not 0, is /usr/bin/sudo on a file system with
# the 'nosuid' option set or an NFS file system without root privileges?"
USER root
USER root

#==========
# Relaxing permissions for OpenShift and other non-sudo environments
Expand Down Expand Up @@ -179,7 +179,7 @@ ENV DISPLAY_NUM 99
# Path to the Configfile
ENV CONFIG_FILE=/opt/selenium/config.toml
ENV GENERATE_CONFIG true
# Drain the Node after N sessions.
# Drain the Node after N sessions.
# A value higher than zero enables the feature
ENV SE_DRAIN_AFTER_SESSION_COUNT 0
# Setting Selenium Manager to work offline
Expand Down
2 changes: 1 addition & 1 deletion NodeBase/start-xvfb.sh
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,5 @@ if [ "${START_XVFB:-$SE_START_XVFB}" = true ] ; then
--server-args="-screen 0 ${GEOMETRY} -fbdir /var/tmp -dpi ${SCREEN_DPI} -listen tcp -noreset -ac +extension RANDR" \
/usr/bin/fluxbox -display ${DISPLAY}
else
echo "Xvfb and Fluxbox won't start. Chrome/Firefox/Node can only run in headless mode. Remember to set the 'headless' flag in your test."
echo "Xvfb and Fluxbox won't start. Chrome/Firefox/Edge can only run in headless mode. Remember to set the 'headless' flag in your test."
fi
8 changes: 4 additions & 4 deletions NodeDocker/config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
# Configs have a mapping between the Docker image to use and the capabilities that need to be matched to
# start a container with the given image.
configs = [
"selenium/standalone-firefox:4.12.1-20230920", '{"browserName": "firefox", "platformName": "linux"}',
"selenium/standalone-chrome:4.12.1-20230920", '{"browserName": "chrome", "platformName": "linux"}',
"selenium/standalone-edge:4.12.1-20230920", '{"browserName": "MicrosoftEdge", "platformName": "linux"}'
"selenium/standalone-firefox:4.15.0-20231110", '{"browserName": "firefox", "platformName": "linux"}',
"selenium/standalone-chrome:4.15.0-20231110", '{"browserName": "chrome", "platformName": "linux"}',
"selenium/standalone-edge:4.15.0-20231110", '{"browserName": "MicrosoftEdge", "platformName": "linux"}'
]

# URL for connecting to the docker daemon
Expand All @@ -14,7 +14,7 @@ configs = [
# socat -4 TCP-LISTEN:2375,fork UNIX-CONNECT:/var/run/docker.sock
url = "http://127.0.0.1:2375"
# Docker image used for video recording
video-image = "selenium/video:ffmpeg-4.3.1-20230920"
video-image = "selenium/video:ffmpeg-6.0-20231110"

# Uncomment the following section if you are running the node on a separate VM
# Fill out the placeholders with appropriate values
Expand Down
1 change: 1 addition & 0 deletions NodeFirefox/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ ARG FIREFOX_VERSION=latest
RUN FIREFOX_DOWNLOAD_URL=$(if [ $FIREFOX_VERSION = "latest" ] || [ $FIREFOX_VERSION = "beta-latest" ] || [ $FIREFOX_VERSION = "nightly-latest" ] || [ $FIREFOX_VERSION = "devedition-latest" ] || [ $FIREFOX_VERSION = "esr-latest" ]; then echo "https://download.mozilla.org/?product=firefox-$FIREFOX_VERSION-ssl&os=linux64&lang=en-US"; else echo "https://download-installer.cdn.mozilla.net/pub/firefox/releases/$FIREFOX_VERSION/linux-x86_64/en-US/firefox-$FIREFOX_VERSION.tar.bz2"; fi) \
&& apt-get update -qqy \
&& apt-get -qqy --no-install-recommends install firefox libavcodec-extra \
libgtk-3-dev libdbus-glib-1-dev \
&& rm -rf /var/lib/apt/lists/* /var/cache/apt/* \
&& wget --no-verbose -O /tmp/firefox.tar.bz2 $FIREFOX_DOWNLOAD_URL \
&& apt-get -y purge firefox \
Expand Down
4 changes: 2 additions & 2 deletions NodeFirefox/Dockerfile.multi-arch
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ USER root
RUN echo "deb http://deb.debian.org/debian/ sid main" >> /etc/apt/sources.list \
&& apt-get update -qqy \
&& apt-get install libavcodec-extra -y \
&& wget https://snapshot.debian.org/archive/debian/20230924T210045Z/pool/main/f/firefox/firefox_117.0.1-1_`dpkg --print-architecture`.deb -O firefox.deb \
&& wget https://snapshot.debian.org/archive/debian/20231117T085632Z/pool/main/f/firefox/firefox_119.0.1-1_`dpkg --print-architecture`.deb -O firefox.deb \
&& apt install ./firefox.deb -y \
&& rm -rf /var/lib/apt/lists/* /var/cache/apt/* ./firefox.deb

Expand All @@ -40,7 +40,7 @@ RUN if [ $TARGETARCH = "arm" ] && [ $TARGETVARIANT = "v7" ]; then \
echo "*** BUILD ERROR: \$TARGETARCH must be arm64, amd64, or arm with \$TARGETVARIANT set to v7... exiting..." ; \
exit 1 ; \
fi ; \
if [ "$ARCH" = "arm64" ]; then \
if [ "$ARCH" = "arm64" ]; then \
wget --no-verbose -O /tmp/geckodriver.tar.gz https://github.com/mozilla/geckodriver/releases/download/v$GECKODRIVER_VERSION/geckodriver-v$GECKODRIVER_VERSION-linux-aarch64.tar.gz ; \
elif [ "$ARCH" = "armhf" ]; then \
wget --no-verbose -O /tmp/geckodriver.tar.gz https://github.com/jamesmortensen/geckodriver-arm-binaries/releases/download/v$GECKODRIVER_VERSION/geckodriver-v$GECKODRIVER_VERSION-linux-armv7l.tar.gz ; \
Expand Down
Loading