From 980f9150abab75b02177654c96b4b13fdfd89e7d Mon Sep 17 00:00:00 2001 From: Luis Correia Date: Tue, 26 Sep 2023 10:18:01 +0100 Subject: [PATCH 01/84] Bump docker images to 4.13.0 (#1951) * Update Dockerfile road to 4.13.0 * Update bootstrap.sh Road to 4.13.0 [deploy] --- Base/Dockerfile | 4 ++-- tests/bootstrap.sh | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Base/Dockerfile b/Base/Dockerfile index 740121167..21132e7dc 100644 --- a/Base/Dockerfile +++ b/Base/Dockerfile @@ -73,9 +73,9 @@ 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.12.0/selenium-server-4.12.1.jar \ + && wget --no-verbose https://github.com/SeleniumHQ/selenium/releases/download/selenium-4.13.0/selenium-server-4.13.0.jar \ -O /opt/selenium/selenium-server.jar \ - && wget --no-verbose https://repo1.maven.org/maven2/org/seleniumhq/selenium/selenium-http-jdk-client/4.12.1/selenium-http-jdk-client-4.12.1.jar \ + && wget --no-verbose https://repo1.maven.org/maven2/org/seleniumhq/selenium/selenium-http-jdk-client/4.13.0/selenium-http-jdk-client-4.13.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 \ diff --git a/tests/bootstrap.sh b/tests/bootstrap.sh index cb2ca62dc..48faecfd7 100755 --- a/tests/bootstrap.sh +++ b/tests/bootstrap.sh @@ -7,7 +7,7 @@ if [ "${CI:-false}" = "false" ]; then source docker-selenium-tests/bin/activate fi -python -m pip install selenium==4.11.2 \ +python -m pip install selenium==4.13.0 \ docker===6.1.3 \ | grep -v 'Requirement already satisfied' From 18729252272d0466176fc12abb0b630a6bd3dd06 Mon Sep 17 00:00:00 2001 From: Selenium CI Bot Date: Tue, 26 Sep 2023 09:29:58 +0000 Subject: [PATCH 02/84] Update tag in docs and files [skip ci] --- .github/ISSUE_TEMPLATE/bug_report.yml | 2 +- NodeDocker/config.toml | 8 +- README.md | 134 ++++++++++++------------ charts/selenium-grid/CHANGELOG.md | 2 +- charts/selenium-grid/README.md | 10 +- charts/selenium-grid/values.yaml | 22 ++-- docker-compose-v2-tracing.yml | 8 +- docker-compose-v2.yml | 8 +- docker-compose-v3-basicauth.yml | 8 +- docker-compose-v3-dev.yml | 8 +- docker-compose-v3-dynamic-grid.yml | 4 +- docker-compose-v3-full-grid-dev.yml | 16 +-- docker-compose-v3-full-grid-swarm.yml | 8 +- docker-compose-v3-full-grid-tracing.yml | 16 +-- docker-compose-v3-full-grid.yml | 16 +-- docker-compose-v3-swarm.yml | 8 +- docker-compose-v3-tracing.yml | 8 +- docker-compose-v3-video.yml | 14 +-- docker-compose-v3.yml | 8 +- 19 files changed, 154 insertions(+), 154 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 88d78879e..5ddfa5139 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -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.13.0-20230926? Please use the full tag, avoid "latest" validations: required: true \ No newline at end of file diff --git a/NodeDocker/config.toml b/NodeDocker/config.toml index e15b1e5e6..e6513cdda 100644 --- a/NodeDocker/config.toml +++ b/NodeDocker/config.toml @@ -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.13.0-20230926", '{"browserName": "firefox", "platformName": "linux"}', + "selenium/standalone-chrome:4.13.0-20230926", '{"browserName": "chrome", "platformName": "linux"}', + "selenium/standalone-edge:4.13.0-20230926", '{"browserName": "MicrosoftEdge", "platformName": "linux"}' ] # URL for connecting to the docker daemon @@ -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-4.3.1-20230926" # Uncomment the following section if you are running the node on a separate VM # Fill out the placeholders with appropriate values diff --git a/README.md b/README.md index f28db1e85..7a5b7d047 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ The project is made possible by volunteer contributors who have put in thousands and made the source code freely available under the [Apache License 2.0](LICENSE.md). These Docker images come with a handful of tags to simplify its usage, have a look at them in one of -our [releases](https://github.com/SeleniumHQ/docker-selenium/releases/tag/4.12.1-20230920). +our [releases](https://github.com/SeleniumHQ/docker-selenium/releases/tag/4.13.0-20230926). To get notifications of new releases, add yourself as a "Releases only" watcher. @@ -64,7 +64,7 @@ Talk to us at https://www.selenium.dev/support/ 1. Start a Docker container with Firefox ```bash -docker run -d -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-firefox:4.12.1-20230920 +docker run -d -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-firefox:4.13.0-20230926 ``` 2. Point your WebDriver tests to http://localhost:4444 @@ -251,17 +251,17 @@ For more information on the Dev and Beta channel container images, see the blog ![Firefox](https://raw.githubusercontent.com/alrra/browser-logos/main/src/firefox/firefox_24x24.png) Firefox ```bash -docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-firefox:4.12.1-20230920 +docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-firefox:4.13.0-20230926 ``` ![Chrome](https://raw.githubusercontent.com/alrra/browser-logos/main/src/chrome/chrome_24x24.png) Chrome ```bash -docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-chrome:4.12.1-20230920 +docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-chrome:4.13.0-20230926 ``` ![Edge](https://raw.githubusercontent.com/alrra/browser-logos/main/src/edge/edge_24x24.png) Edge ```bash -docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-edge:4.12.1-20230920 +docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-edge:4.13.0-20230926 ``` _Note: Only one Standalone container can run on port_ `4444` _at the same time._ @@ -280,44 +280,44 @@ A Docker [network](https://docs.docker.com/engine/reference/commandline/network_ ```bash $ docker network create grid -$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.12.1-20230920 +$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.13.0-20230926 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-chrome:4.12.1-20230920 + selenium/node-chrome:4.13.0-20230926 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-edge:4.12.1-20230920 + selenium/node-edge:4.13.0-20230926 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-firefox:4.12.1-20230920 + selenium/node-firefox:4.13.0-20230926 ``` ##### Windows PowerShell ```powershell $ docker network create grid -$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.12.1-20230920 +$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.13.0-20230926 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub ` --shm-size="2g" ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` - selenium/node-chrome:4.12.1-20230920 + selenium/node-chrome:4.13.0-20230926 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub ` --shm-size="2g" ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` - selenium/node-edge:4.12.1-20230920 + selenium/node-edge:4.13.0-20230926 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub ` --shm-size="2g" ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` - selenium/node-firefox:4.12.1-20230920 + selenium/node-firefox:4.13.0-20230926 ``` When you are done using the Grid, and the containers have exited, the network can be removed with the following command: @@ -334,7 +334,7 @@ configured to expose different ports. ##### Hub - Machine/VM 1 ```bash -$ docker run -d -p 4442-4444:4442-4444 --name selenium-hub selenium/hub:4.12.1-20230920 +$ docker run -d -p 4442-4444:4442-4444 --name selenium-hub selenium/hub:4.13.0-20230926 ``` ##### Node Chrome - Machine/VM 2 @@ -348,7 +348,7 @@ $ docker run -d -p 5555:5555 \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ -e SE_NODE_HOST= \ - selenium/node-chrome:4.12.1-20230920 + selenium/node-chrome:4.13.0-20230926 ``` ###### Windows PowerShell @@ -360,7 +360,7 @@ $ docker run -d -p 5555:5555 ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` -e SE_NODE_HOST= ` - selenium/node-chrome:4.12.1-20230920 + selenium/node-chrome:4.13.0-20230926 ``` @@ -375,7 +375,7 @@ $ docker run -d -p 5555:5555 \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ -e SE_NODE_HOST= \ - selenium/node-edge:4.12.1-20230920 + selenium/node-edge:4.13.0-20230926 ``` ###### Windows PowerShell @@ -387,7 +387,7 @@ $ docker run -d -p 5555:5555 ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` -e SE_NODE_HOST= ` - selenium/node-edge:4.12.1-20230920 + selenium/node-edge:4.13.0-20230926 ``` ##### Node Firefox - Machine/VM 4 @@ -401,7 +401,7 @@ $ docker run -d -p 5555:5555 \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ -e SE_NODE_HOST= \ - selenium/node-firefox:4.12.1-20230920 + selenium/node-firefox:4.13.0-20230926 ``` ###### Windows PowerShell @@ -413,7 +413,7 @@ $ docker run -d -p 5555:5555 ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` -e SE_NODE_HOST= ` - selenium/node-firefox:4.12.1-20230920 + selenium/node-firefox:4.13.0-20230926 ``` ##### Node Chrome - Machine/VM 4 @@ -428,7 +428,7 @@ $ docker run -d -p 5556:5556 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ -e SE_NODE_HOST= \ -e SE_NODE_PORT=5556 \ - selenium/node-chrome:4.12.1-20230920 + selenium/node-chrome:4.13.0-20230926 ``` ###### Windows PowerShell @@ -441,7 +441,7 @@ $ docker run -d -p 5556:5556 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` -e SE_NODE_HOST= ` -e SE_NODE_PORT=5556 ` - selenium/node-chrome:4.12.1-20230920 + selenium/node-chrome:4.13.0-20230926 ``` #### Docker Compose @@ -473,7 +473,7 @@ ___ ## Video recording -Tests execution can be recorded by using the `selenium/video:ffmpeg-4.3.1-20230920` +Tests execution can be recorded by using the `selenium/video:ffmpeg-4.3.1-20230926` Docker image. One container is needed per each container where a browser is running. This means if you are running 5 Nodes/Standalone containers, you will need 5 video containers, the mapping is 1-1. @@ -499,8 +499,8 @@ This example shows how to start the containers manually: ``` bash $ docker network create grid -$ docker run -d -p 4444:4444 -p 6900:5900 --net grid --name selenium --shm-size="2g" selenium/standalone-chrome:4.12.1-20230920 -$ docker run -d --net grid --name video -v /tmp/videos:/videos selenium/video:ffmpeg-4.3.1-20230920 +$ docker run -d -p 4444:4444 -p 6900:5900 --net grid --name selenium --shm-size="2g" selenium/standalone-chrome:4.13.0-20230926 +$ docker run -d --net grid --name video -v /tmp/videos:/videos selenium/video:ffmpeg-4.3.1-20230926 # Run your tests $ docker stop video && docker rm video $ docker stop selenium && docker rm selenium @@ -532,9 +532,9 @@ You can save this file locally and name it, for example, `config.toml`. # 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"}', - "selenium/standalone-chrome:4.12.1-20230920", '{"browserName": "chrome"}', - "selenium/standalone-edge:4.12.1-20230920", '{"browserName": "MicrosoftEdge"}' + "selenium/standalone-firefox:4.13.0-20230926", '{"browserName": "firefox"}', + "selenium/standalone-chrome:4.13.0-20230926", '{"browserName": "chrome"}', + "selenium/standalone-edge:4.13.0-20230926", '{"browserName": "MicrosoftEdge"}' ] # URL for connecting to the docker daemon @@ -547,7 +547,7 @@ configs = [ # Linux: varies from machine to machine, please mount /var/run/docker.sock. If this does not work, please create an issue. 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-4.3.1-20230926" # Uncomment the following section if you are running the node on a separate VM # Fill out the placeholders with appropriate values @@ -566,28 +566,28 @@ virtual machines. ```bash $ docker network create grid -$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.12.1-20230920 +$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.13.0-20230926 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ -v ${PWD}/config.toml:/opt/bin/config.toml \ -v ${PWD}/assets:/opt/selenium/assets \ -v /var/run/docker.sock:/var/run/docker.sock \ - selenium/node-docker:4.12.1-20230920 + selenium/node-docker:4.13.0-20230926 ``` #### Windows PowerShell ```powershell $ docker network create grid -$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.12.1-20230920 +$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.13.0-20230926 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` -v ${PWD}/config.toml:/opt/bin/config.toml ` -v ${PWD}/assets:/opt/selenium/assets ` -v /var/run/docker.sock:/var/run/docker.sock ` - selenium/node-docker:4.12.1-20230920 + selenium/node-docker:4.13.0-20230926 ``` To have the assets saved on your host, please mount your host path to `/opt/selenium/assets`. @@ -608,7 +608,7 @@ docker run --rm --name selenium-docker -p 4444:4444 \ -v ${PWD}/config.toml:/opt/bin/config.toml \ -v ${PWD}/assets:/opt/selenium/assets \ -v /var/run/docker.sock:/var/run/docker.sock \ - selenium/standalone-docker:4.12.1-20230920 + selenium/standalone-docker:4.13.0-20230926 ``` #### Windows PowerShell @@ -618,7 +618,7 @@ docker run --rm --name selenium-docker -p 4444:4444 ` -v ${PWD}/config.toml:/opt/bin/config.toml ` -v ${PWD}/assets:/opt/selenium/assets ` -v /var/run/docker.sock:/var/run/docker.sock ` - selenium/standalone-docker:4.12.1-20230920 + selenium/standalone-docker:4.13.0-20230926 ``` ### Using Dynamic Grid in different machines/VMs @@ -626,7 +626,7 @@ docker run --rm --name selenium-docker -p 4444:4444 ` #### Hub - Machine/VM 1 ```bash -$ docker run -d -p 4442-4444:4442-4444 --name selenium-hub selenium/hub:4.12.1-20230920 +$ docker run -d -p 4442-4444:4442-4444 --name selenium-hub selenium/hub:4.13.0-20230926 ``` #### Node Chrome - Machine/VM 2 @@ -641,7 +641,7 @@ $ docker run -d -p 5555:5555 \ -v ${PWD}/config.toml:/opt/bin/config.toml \ -v ${PWD}/assets:/opt/selenium/assets \ -v /var/run/docker.sock:/var/run/docker.sock \ - selenium/node-docker:4.12.1-20230920 + selenium/node-docker:4.13.0-20230926 ``` #### Windows PowerShell @@ -654,7 +654,7 @@ $ docker run -d -p 5555:5555 ` -v ${PWD}/config.toml:/opt/bin/config.toml ` -v ${PWD}/assets:/opt/selenium/assets ` -v /var/run/docker.sock:/var/run/docker.sock ` - selenium/node-docker:4.12.1-20230920 + selenium/node-docker:4.13.0-20230926 ``` Complete the `[server]` section in the `config.toml` file. @@ -663,9 +663,9 @@ Complete the `[server]` section in the `config.toml` file. # 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\"}", - "selenium/standalone-chrome:4.12.1-20230920", "{\"browserName\": \"chrome\"}", - "selenium/standalone-edge:4.12.1-20230920", "{\"browserName\": \"MicrosoftEdge\"}" + "selenium/standalone-firefox:4.13.0-20230926", "{\"browserName\": \"firefox\"}", + "selenium/standalone-chrome:4.13.0-20230926", "{\"browserName\": \"chrome\"}", + "selenium/standalone-edge:4.13.0-20230926", "{\"browserName\": \"MicrosoftEdge\"}" ] # URL for connecting to the docker daemon @@ -678,7 +678,7 @@ configs = [ # Linux: varies from machine to machine, please mount /var/run/docker.sock. If this does not work, please create an issue. 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-4.3.1-20230926" # Uncomment the following section if you are running the node on a separate VM # Fill out the placeholders with appropriate values @@ -712,7 +712,7 @@ docker run --rm --name selenium-docker -p 4444:4444 \ -v ${PWD}/config.toml:/opt/bin/config.toml \ -v ${PWD}/assets:/opt/selenium/assets \ -v /var/run/docker.sock:/var/run/docker.sock \ - selenium/standalone-docker:4.12.1-20230920 + selenium/standalone-docker:4.13.0-20230926 ``` #### Windows PowerShell @@ -723,7 +723,7 @@ docker run --rm --name selenium-docker -p 4444:4444 ` -v ${PWD}/config.toml:/opt/bin/config.toml ` -v ${PWD}/assets:/opt/selenium/assets ` -v /var/run/docker.sock:/var/run/docker.sock ` - selenium/standalone-docker:4.12.1-20230920 + selenium/standalone-docker:4.13.0-20230926 ``` @@ -761,7 +761,7 @@ ___ You can pass `SE_OPTS` variable with additional command line parameters for starting a hub or a node. ``` bash -$ docker run -d -p 4444:4444 -e SE_OPTS="--log-level FINE" --name selenium-hub selenium/hub:4.12.1-20230920 +$ docker run -d -p 4444:4444 -e SE_OPTS="--log-level FINE" --name selenium-hub selenium/hub:4.13.0-20230926 ``` ### SE_JAVA_OPTS Java Environment Options @@ -769,7 +769,7 @@ $ docker run -d -p 4444:4444 -e SE_OPTS="--log-level FINE" --name selenium-hub s You can pass `SE_JAVA_OPTS` environment variable to the Java process. ``` bash -$ docker run -d -p 4444:4444 -e SE_JAVA_OPTS=-Xmx512m --name selenium-hub selenium/hub:4.12.1-20230920 +$ docker run -d -p 4444:4444 -e SE_JAVA_OPTS=-Xmx512m --name selenium-hub selenium/hub:4.13.0-20230926 ``` ### Node configuration options @@ -791,7 +791,7 @@ $ docker run -d \ -e SE_EVENT_BUS_HOST= \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 -e SE_NODE_STEREOTYPE="{\"browserName\":\"${SE_NODE_BROWSER_NAME}\",\"browserVersion\":\"${SE_NODE_BROWSER_VERSION}\",\"platformName\": \"Linux\"}" \ - --shm-size="2g" selenium/node-chrome:4.12.1-20230920 + --shm-size="2g" selenium/node-chrome:4.13.0-20230926 ``` ### Setting Sub Path @@ -810,7 +810,7 @@ These settings can be adjusted by specifying `SE_SCREEN_WIDTH`, `SE_SCREEN_HEIGH environmental variables when starting the container. ``` bash -docker run -d -e SE_SCREEN_WIDTH=1366 -e SE_SCREEN_HEIGHT=768 -e SE_SCREEN_DEPTH=24 -e SE_SCREEN_DPI=74 selenium/standalone-firefox:4.12.1-20230920 +docker run -d -e SE_SCREEN_WIDTH=1366 -e SE_SCREEN_HEIGHT=768 -e SE_SCREEN_DEPTH=24 -e SE_SCREEN_DPI=74 selenium/standalone-firefox:4.13.0-20230926 ``` ### Grid Url and Session Timeout @@ -860,7 +860,7 @@ To avoid starting the server you can set the `START_XVFB` environment variable t ``` bash $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ - -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 -e START_XVFB=false --shm-size="2g" selenium/node-chrome:4.12.1-20230920 + -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 -e START_XVFB=false --shm-size="2g" selenium/node-chrome:4.13.0-20230926 ``` For more information, see this GitHub [issue](https://github.com/SeleniumHQ/docker-selenium/issues/567). @@ -873,7 +873,7 @@ pod and then scale a new one after N sessions. Set the environment variable `SE_ a value higher than zero to enable this behaviour. ``` bash -$ docker run -e SE_DRAIN_AFTER_SESSION_COUNT=5 --shm-size="2g" selenium/standalone-firefox:4.12.1-20230920 +$ docker run -e SE_DRAIN_AFTER_SESSION_COUNT=5 --shm-size="2g" selenium/standalone-firefox:4.13.0-20230926 ``` With the previous command, the Standalone container will shut down after 5 sessions have been executed. @@ -965,22 +965,22 @@ $ docker network create grid $ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub \ --health-cmd='/opt/bin/check-grid.sh --host 0.0.0.0 --port 4444' \ --health-interval=15s --health-timeout=30s --health-retries=5 \ - selenium/hub:4.12.1-20230920 + selenium/hub:4.13.0-20230926 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-chrome:4.12.1-20230920 + selenium/node-chrome:4.13.0-20230926 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-edge:4.12.1-20230920 + selenium/node-edge:4.13.0-20230926 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-firefox:4.12.1-20230920 + selenium/node-firefox:4.13.0-20230926 ``` **Note:** The `\` line delimiter won't work on Windows-based terminals, try either `^` or a backtick. @@ -1113,7 +1113,7 @@ RUN mkdir -p -m755 /seluser/.pki/nssdb \ && chown -R 1200:1201 /seluser # Start from Selenium image and add relevant files from build image -FROM selenium/node-chrome:4.12.1-20230920 +FROM selenium/node-chrome:4.13.0-20230926 USER root COPY --from=build /seluser/ /home/seluser/ USER seluser @@ -1128,7 +1128,7 @@ RUN mkdir -p "/distribution" "/certs" && \ echo '{ "policies": { "Certificates": { "Install": ["/opt/firefox-latest/YOUR_CA.pem"] }} }' >"/distribution/policies.json" # Start from Selenium image and add relevant files from build image -FROM selenium/node-firefox:4.12.1-20230920 +FROM selenium/node-firefox:4.13.0-20230926 USER root COPY --from=build /certs /opt/firefox-latest COPY --from=build /distribution /opt/firefox-latest/distribution @@ -1151,9 +1151,9 @@ You can override it with the `SE_VNC_PORT` environment variable in case you want Here is an example with the standalone images, the same concept applies to the node images. ``` bash -$ docker run -d -p 4444:4444 -p 5900:5900 --shm-size="2g" selenium/standalone-chrome:4.12.1-20230920 -$ docker run -d -p 4445:4444 -p 5901:5900 --shm-size="2g" selenium/standalone-edge:4.12.1-20230920 -$ docker run -d -p 4446:4444 -p 5902:5900 --shm-size="2g" selenium/standalone-firefox:4.12.1-20230920 +$ docker run -d -p 4444:4444 -p 5900:5900 --shm-size="2g" selenium/standalone-chrome:4.13.0-20230926 +$ docker run -d -p 4445:4444 -p 5901:5900 --shm-size="2g" selenium/standalone-edge:4.13.0-20230926 +$ docker run -d -p 4446:4444 -p 5902:5900 --shm-size="2g" selenium/standalone-firefox:4.13.0-20230926 ``` Then, you would use in your VNC client: @@ -1179,9 +1179,9 @@ You can also override it with the `SE_NO_VNC_PORT` environment variable in case Here is an example with the standalone images, the same concept applies to the node images. ``` bash -$ docker run -d -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-chrome:4.12.1-20230920 -$ docker run -d -p 4445:4444 -p 7901:7900 --shm-size="2g" selenium/standalone-edge:4.12.1-20230920 -$ docker run -d -p 4446:4444 -p 7902:7900 --shm-size="2g" selenium/standalone-firefox:4.12.1-20230920 +$ docker run -d -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-chrome:4.13.0-20230926 +$ docker run -d -p 4445:4444 -p 7901:7900 --shm-size="2g" selenium/standalone-edge:4.13.0-20230926 +$ docker run -d -p 4446:4444 -p 7902:7900 --shm-size="2g" selenium/standalone-firefox:4.13.0-20230926 ``` Then, you would use in your browser: @@ -1206,28 +1206,28 @@ In order to enable tracing in the Selenium Grid container, the following command ```bash docker network create grid docker run -d -p 16686:16686 -p 14250:14250 --net grid --name jaeger jaegertracing/all-in-one:1.17 -docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.12.1-20230920 +docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.13.0-20230926 docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_ENABLE_TRACING=true \ -e JAVA_OPTS="-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-hub" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-chrome:4.12.1-20230920 + selenium/node-chrome:4.13.0-20230926 docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_ENABLE_TRACING=true \ -e JAVA_OPTS="-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-edge" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-edge:4.12.1-20230920 + selenium/node-edge:4.13.0-20230926 docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_ENABLE_TRACING=true \ -e JAVA_OPTS="-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-firefox" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-firefox:4.12.1-20230920 + selenium/node-firefox:4.13.0-20230926 ``` You can also refer to the below docker-compose yaml files to be able to start a simple grid (or) a dynamic grid. @@ -1287,7 +1287,7 @@ container in the following way: ```bash docker run -d -p 4444:4444 --shm-size="2g" \ -v /home/ubuntu/files:/home/seluser/files \ - selenium/standalone-chrome:4.12.1-20230920 + selenium/standalone-chrome:4.13.0-20230926 ``` That will mount the host `/home/ubuntu/files` directory diff --git a/charts/selenium-grid/CHANGELOG.md b/charts/selenium-grid/CHANGELOG.md index 32a81cbfb..c90c85ff8 100644 --- a/charts/selenium-grid/CHANGELOG.md +++ b/charts/selenium-grid/CHANGELOG.md @@ -5,7 +5,7 @@ All notable changes to this helm chart will be documented in this file. ## :heavy_check_mark: 0.21.2 ### Changed -- Update image tag to 4.12.1-20230920 +- Update image tag to 4.13.0-20230926 ## :heavy_check_mark: 0.21.1 diff --git a/charts/selenium-grid/README.md b/charts/selenium-grid/README.md index 2d77ce9fa..ecd4d0575 100644 --- a/charts/selenium-grid/README.md +++ b/charts/selenium-grid/README.md @@ -83,8 +83,8 @@ For now, global configuration supported is: | Parameter | Default | Description | |---------------------------------------|-------------------|---------------------------------------| -| `global.seleniumGrid.imageTag` | `4.12.1-20230920` | Image tag for all selenium components | -| `global.seleniumGrid.nodesImageTag` | `4.12.1-20230920` | Image tag for browser's nodes | +| `global.seleniumGrid.imageTag` | `4.13.0-20230926` | Image tag for all selenium components | +| `global.seleniumGrid.nodesImageTag` | `4.13.0-20230926` | Image tag for browser's nodes | | `global.seleniumGrid.imagePullSecret` | `""` | Pull secret to be used for all images | | `global.seleniumGrid.imagePullSecret` | `""` | Pull secret to be used for all images | | `global.seleniumGrid.affinity` | `{}` | Affinity assigned globally | @@ -116,7 +116,7 @@ This table contains the configuration parameters of the chart and their default | `chromeNode.deploymentEnabled` | `true` | Enable creation of Deployment for chrome nodes | | `chromeNode.replicas` | `1` | Number of chrome nodes. Disabled if autoscaling is enabled. | | `chromeNode.imageName` | `selenium/node-chrome` | Image of chrome nodes | -| `chromeNode.imageTag` | `4.12.1-20230920` | Image of chrome nodes | +| `chromeNode.imageTag` | `4.13.0-20230926` | Image of chrome nodes | | `chromeNode.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | | `chromeNode.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | | `chromeNode.ports` | `[5555]` | Port list to enable on container | @@ -152,7 +152,7 @@ This table contains the configuration parameters of the chart and their default | `firefoxNode.deploymentEnabled` | `true` | Enable creation of Deployment for firefox nodes | | `firefoxNode.replicas` | `1` | Number of firefox nodes. Disabled if autoscaling is enabled. | | `firefoxNode.imageName` | `selenium/node-firefox` | Image of firefox nodes | -| `firefoxNode.imageTag` | `4.12.1-20230920` | Image of firefox nodes | +| `firefoxNode.imageTag` | `4.13.0-20230926` | Image of firefox nodes | | `firefoxNode.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | | `firefoxNode.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | | `firefoxNode.ports` | `[5555]` | Port list to enable on container | @@ -188,7 +188,7 @@ This table contains the configuration parameters of the chart and their default | `edgeNode.deploymentEnabled` | `true` | Enable creation of Deployment for edge nodes | | `edgeNode.replicas` | `1` | Number of edge nodes. Disabled if autoscaling is enabled. | | `edgeNode.imageName` | `selenium/node-edge` | Image of edge nodes | -| `edgeNode.imageTag` | `4.12.1-20230920` | Image of edge nodes | +| `edgeNode.imageTag` | `4.13.0-20230926` | Image of edge nodes | | `edgeNode.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | | `edgeNode.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | | `edgeNode.ports` | `[5555]` | Port list to enable on container | diff --git a/charts/selenium-grid/values.yaml b/charts/selenium-grid/values.yaml index a29c27865..23f22de79 100644 --- a/charts/selenium-grid/values.yaml +++ b/charts/selenium-grid/values.yaml @@ -1,9 +1,9 @@ global: seleniumGrid: # Image tag for all selenium components - imageTag: 4.12.1-20230920 + imageTag: 4.13.0-20230926 # Image tag for browser's nodes - nodesImageTag: 4.12.1-20230920 + nodesImageTag: 4.13.0-20230926 # Pull secret for all components, can be overridden individually imagePullSecret: "" @@ -61,7 +61,7 @@ components: # Router image name imageName: selenium/router # Router image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.12.1-20230920 + # imageTag: 4.13.0-20230926 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent @@ -112,7 +112,7 @@ components: # Distributor image name imageName: selenium/distributor # Distributor image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.12.1-20230920 + # imageTag: 4.13.0-20230926 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent @@ -143,7 +143,7 @@ components: # Event Bus image name imageName: selenium/event-bus # Event Bus image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.12.1-20230920 + # imageTag: 4.13.0-20230926 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent @@ -178,7 +178,7 @@ components: # Session Map image name imageName: selenium/sessions # Session Map image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.12.1-20230920 + # imageTag: 4.13.0-20230926 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent @@ -208,7 +208,7 @@ components: # Session Queue image name imageName: selenium/session-queue # Session Queue image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.12.1-20230920 + # imageTag: 4.13.0-20230926 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent @@ -258,7 +258,7 @@ hub: # Selenium Hub image name imageName: selenium/hub # Selenium Hub image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.12.1-20230920 + # imageTag: 4.13.0-20230926 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent # Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) @@ -378,7 +378,7 @@ chromeNode: # Image of chrome nodes imageName: selenium/node-chrome # Image of chrome nodes (this overwrites global.seleniumGrid.nodesImageTag) - # imageTag: 4.12.1-20230920 + # imageTag: 4.13.0-20230926 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent # Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) @@ -501,7 +501,7 @@ firefoxNode: # Image of firefox nodes imageName: selenium/node-firefox # Image of firefox nodes (this overwrites global.seleniumGrid.nodesImageTag) - # imageTag: 4.12.1-20230920 + # imageTag: 4.13.0-20230926 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent # Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) @@ -620,7 +620,7 @@ edgeNode: # Image of edge nodes imageName: selenium/node-edge # Image of edge nodes (this overwrites global.seleniumGrid.nodesImageTag) - # imageTag: 4.12.1-20230920 + # imageTag: 4.13.0-20230926 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent # Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) diff --git a/docker-compose-v2-tracing.yml b/docker-compose-v2-tracing.yml index 9e64e2204..26e0cfbb7 100644 --- a/docker-compose-v2-tracing.yml +++ b/docker-compose-v2-tracing.yml @@ -9,7 +9,7 @@ services: - "16686:16686" - "14250:14250" chrome: - image: selenium/node-chrome:4.12.1-20230920 + image: selenium/node-chrome:4.13.0-20230926 shm_size: 2gb depends_on: - selenium-hub @@ -23,7 +23,7 @@ services: - "6900:5900" edge: - image: selenium/node-edge:4.12.1-20230920 + image: selenium/node-edge:4.13.0-20230926 shm_size: 2gb depends_on: - selenium-hub @@ -37,7 +37,7 @@ services: - "6901:5900" firefox: - image: selenium/node-firefox:4.12.1-20230920 + image: selenium/node-firefox:4.13.0-20230926 shm_size: 2gb depends_on: - selenium-hub @@ -51,7 +51,7 @@ services: - "6902:5900" selenium-hub: - image: selenium/hub:4.12.1-20230920 + image: selenium/hub:4.13.0-20230926 ports: - "4442:4442" - "4443:4443" diff --git a/docker-compose-v2.yml b/docker-compose-v2.yml index ef92434e4..ed626c7b6 100644 --- a/docker-compose-v2.yml +++ b/docker-compose-v2.yml @@ -4,7 +4,7 @@ version: '2' services: chrome: - image: selenium/node-chrome:4.12.1-20230920 + image: selenium/node-chrome:4.13.0-20230926 shm_size: 2gb depends_on: - selenium-hub @@ -16,7 +16,7 @@ services: - "6900:5900" edge: - image: selenium/node-edge:4.12.1-20230920 + image: selenium/node-edge:4.13.0-20230926 shm_size: 2gb depends_on: - selenium-hub @@ -28,7 +28,7 @@ services: - "6901:5900" firefox: - image: selenium/node-firefox:4.12.1-20230920 + image: selenium/node-firefox:4.13.0-20230926 shm_size: 2gb depends_on: - selenium-hub @@ -40,7 +40,7 @@ services: - "6902:5900" selenium-hub: - image: selenium/hub:4.12.1-20230920 + image: selenium/hub:4.13.0-20230926 ports: - "4442:4442" - "4443:4443" diff --git a/docker-compose-v3-basicauth.yml b/docker-compose-v3-basicauth.yml index 64937694c..b867d232d 100644 --- a/docker-compose-v3-basicauth.yml +++ b/docker-compose-v3-basicauth.yml @@ -4,7 +4,7 @@ version: "3" services: chrome: - image: selenium/node-chrome:4.12.1-20230920 + image: selenium/node-chrome:4.13.0-20230926 shm_size: 2gb depends_on: - selenium-hub @@ -14,7 +14,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.12.1-20230920 + image: selenium/node-edge:4.13.0-20230926 shm_size: 2gb depends_on: - selenium-hub @@ -24,7 +24,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.12.1-20230920 + image: selenium/node-firefox:4.13.0-20230926 shm_size: 2gb depends_on: - selenium-hub @@ -34,7 +34,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-hub: - image: selenium/hub:4.12.1-20230920 + image: selenium/hub:4.13.0-20230926 container_name: selenium-hub ports: - "4442:4442" diff --git a/docker-compose-v3-dev.yml b/docker-compose-v3-dev.yml index 6cbae1478..edc40a184 100644 --- a/docker-compose-v3-dev.yml +++ b/docker-compose-v3-dev.yml @@ -4,7 +4,7 @@ version: "3" services: chrome: - image: selenium/node-chrome:4.12.1-20230920 + image: selenium/node-chrome:4.13.0-20230926 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar @@ -16,7 +16,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.12.1-20230920 + image: selenium/node-edge:4.13.0-20230926 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar @@ -28,7 +28,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.12.1-20230920 + image: selenium/node-firefox:4.13.0-20230926 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar @@ -40,7 +40,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-hub: - image: selenium/hub:4.12.1-20230920 + image: selenium/hub:4.13.0-20230926 container_name: selenium-hub volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar diff --git a/docker-compose-v3-dynamic-grid.yml b/docker-compose-v3-dynamic-grid.yml index a091c6a5d..afbdb7268 100644 --- a/docker-compose-v3-dynamic-grid.yml +++ b/docker-compose-v3-dynamic-grid.yml @@ -4,7 +4,7 @@ version: "3" services: node-docker: - image: selenium/node-docker:4.12.1-20230920 + image: selenium/node-docker:4.13.0-20230926 volumes: - ./assets:/opt/selenium/assets - ./NodeDocker/config.toml:/opt/bin/config.toml @@ -17,7 +17,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-hub: - image: selenium/hub:4.12.1-20230920 + image: selenium/hub:4.13.0-20230926 container_name: selenium-hub ports: - "4442:4442" diff --git a/docker-compose-v3-full-grid-dev.yml b/docker-compose-v3-full-grid-dev.yml index d4345a711..999b63d4f 100644 --- a/docker-compose-v3-full-grid-dev.yml +++ b/docker-compose-v3-full-grid-dev.yml @@ -4,7 +4,7 @@ version: "3" services: selenium-event-bus: - image: selenium/event-bus:4.12.1-20230920 + image: selenium/event-bus:4.13.0-20230926 volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar container_name: selenium-event-bus @@ -14,7 +14,7 @@ services: - "5557:5557" selenium-sessions: - image: selenium/sessions:4.12.1-20230920 + image: selenium/sessions:4.13.0-20230926 volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar container_name: selenium-sessions @@ -28,7 +28,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-session-queue: - image: selenium/session-queue:4.12.1-20230920 + image: selenium/session-queue:4.13.0-20230926 volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar container_name: selenium-session-queue @@ -36,7 +36,7 @@ services: - "5559:5559" selenium-distributor: - image: selenium/distributor:4.12.1-20230920 + image: selenium/distributor:4.13.0-20230926 volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar container_name: selenium-distributor @@ -56,7 +56,7 @@ services: - SE_SESSION_QUEUE_PORT=5559 selenium-router: - image: selenium/router:4.12.1-20230920 + image: selenium/router:4.13.0-20230926 volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar container_name: selenium-router @@ -75,7 +75,7 @@ services: - SE_SESSION_QUEUE_PORT=5559 chrome: - image: selenium/node-chrome:4.12.1-20230920 + image: selenium/node-chrome:4.13.0-20230926 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar @@ -87,7 +87,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.12.1-20230920 + image: selenium/node-edge:4.13.0-20230926 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar @@ -99,7 +99,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.12.1-20230920 + image: selenium/node-firefox:4.13.0-20230926 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar diff --git a/docker-compose-v3-full-grid-swarm.yml b/docker-compose-v3-full-grid-swarm.yml index 2f0ca79a3..d9c135ee7 100644 --- a/docker-compose-v3-full-grid-swarm.yml +++ b/docker-compose-v3-full-grid-swarm.yml @@ -7,7 +7,7 @@ version: '3.7' services: chrome: - image: selenium/node-chrome:4.12.1-20230920 + image: selenium/node-chrome:4.13.0-20230926 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -18,7 +18,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' edge: - image: selenium/node-edge:4.12.1-20230920 + image: selenium/node-edge:4.13.0-20230926 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -29,7 +29,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' firefox: - image: selenium/node-firefox:4.12.1-20230920 + image: selenium/node-firefox:4.13.0-20230926 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -40,7 +40,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' selenium-hub: - image: selenium/hub:4.12.1-20230920 + image: selenium/hub:4.13.0-20230926 ports: - "4442:4442" - "4443:4443" diff --git a/docker-compose-v3-full-grid-tracing.yml b/docker-compose-v3-full-grid-tracing.yml index d650ad0fc..4c13a315d 100644 --- a/docker-compose-v3-full-grid-tracing.yml +++ b/docker-compose-v3-full-grid-tracing.yml @@ -9,7 +9,7 @@ services: - "16686:16686" - "14250:14250" selenium-event-bus: - image: selenium/event-bus:4.12.1-20230920 + image: selenium/event-bus:4.13.0-20230926 container_name: selenium-event-bus ports: - "4442:4442" @@ -21,7 +21,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-event-bus selenium-sessions: - image: selenium/sessions:4.12.1-20230920 + image: selenium/sessions:4.13.0-20230926 container_name: selenium-sessions ports: - "5556:5556" @@ -34,7 +34,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-sessions selenium-session-queue: - image: selenium/session-queue:4.12.1-20230920 + image: selenium/session-queue:4.13.0-20230926 container_name: selenium-session-queue ports: - "5559:5559" @@ -42,7 +42,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-session-queue selenium-distributor: - image: selenium/distributor:4.12.1-20230920 + image: selenium/distributor:4.13.0-20230926 container_name: selenium-distributor ports: - "5553:5553" @@ -61,7 +61,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-distributor selenium-router: - image: selenium/router:4.12.1-20230920 + image: selenium/router:4.13.0-20230926 container_name: selenium-router ports: - "4444:4444" @@ -79,7 +79,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-router chrome: - image: selenium/node-chrome:4.12.1-20230920 + image: selenium/node-chrome:4.13.0-20230926 shm_size: 2gb depends_on: - selenium-event-bus @@ -90,7 +90,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-chrome edge: - image: selenium/node-edge:4.12.1-20230920 + image: selenium/node-edge:4.13.0-20230926 shm_size: 2gb depends_on: - selenium-event-bus @@ -101,7 +101,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-edge firefox: - image: selenium/node-firefox:4.12.1-20230920 + image: selenium/node-firefox:4.13.0-20230926 shm_size: 2gb depends_on: - selenium-event-bus diff --git a/docker-compose-v3-full-grid.yml b/docker-compose-v3-full-grid.yml index d97cacc4d..3986da3d7 100644 --- a/docker-compose-v3-full-grid.yml +++ b/docker-compose-v3-full-grid.yml @@ -4,7 +4,7 @@ version: "3" services: selenium-event-bus: - image: selenium/event-bus:4.12.1-20230920 + image: selenium/event-bus:4.13.0-20230926 container_name: selenium-event-bus ports: - "4442:4442" @@ -12,7 +12,7 @@ services: - "5557:5557" selenium-sessions: - image: selenium/sessions:4.12.1-20230920 + image: selenium/sessions:4.13.0-20230926 container_name: selenium-sessions ports: - "5556:5556" @@ -24,13 +24,13 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-session-queue: - image: selenium/session-queue:4.12.1-20230920 + image: selenium/session-queue:4.13.0-20230926 container_name: selenium-session-queue ports: - "5559:5559" selenium-distributor: - image: selenium/distributor:4.12.1-20230920 + image: selenium/distributor:4.13.0-20230926 container_name: selenium-distributor ports: - "5553:5553" @@ -48,7 +48,7 @@ services: - SE_SESSION_QUEUE_PORT=5559 selenium-router: - image: selenium/router:4.12.1-20230920 + image: selenium/router:4.13.0-20230926 container_name: selenium-router ports: - "4444:4444" @@ -65,7 +65,7 @@ services: - SE_SESSION_QUEUE_PORT=5559 chrome: - image: selenium/node-chrome:4.12.1-20230920 + image: selenium/node-chrome:4.13.0-20230926 shm_size: 2gb depends_on: - selenium-event-bus @@ -75,7 +75,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.12.1-20230920 + image: selenium/node-edge:4.13.0-20230926 shm_size: 2gb depends_on: - selenium-event-bus @@ -85,7 +85,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.12.1-20230920 + image: selenium/node-firefox:4.13.0-20230926 shm_size: 2gb depends_on: - selenium-event-bus diff --git a/docker-compose-v3-swarm.yml b/docker-compose-v3-swarm.yml index 2f0ca79a3..d9c135ee7 100644 --- a/docker-compose-v3-swarm.yml +++ b/docker-compose-v3-swarm.yml @@ -7,7 +7,7 @@ version: '3.7' services: chrome: - image: selenium/node-chrome:4.12.1-20230920 + image: selenium/node-chrome:4.13.0-20230926 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -18,7 +18,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' edge: - image: selenium/node-edge:4.12.1-20230920 + image: selenium/node-edge:4.13.0-20230926 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -29,7 +29,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' firefox: - image: selenium/node-firefox:4.12.1-20230920 + image: selenium/node-firefox:4.13.0-20230926 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -40,7 +40,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' selenium-hub: - image: selenium/hub:4.12.1-20230920 + image: selenium/hub:4.13.0-20230926 ports: - "4442:4442" - "4443:4443" diff --git a/docker-compose-v3-tracing.yml b/docker-compose-v3-tracing.yml index f9611c3ef..8279b1089 100644 --- a/docker-compose-v3-tracing.yml +++ b/docker-compose-v3-tracing.yml @@ -9,7 +9,7 @@ services: - "16686:16686" - "14250:14250" chrome: - image: selenium/node-chrome:4.12.1-20230920 + image: selenium/node-chrome:4.13.0-20230926 shm_size: 2gb depends_on: - selenium-hub @@ -21,7 +21,7 @@ services: - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-chrome edge: - image: selenium/node-edge:4.12.1-20230920 + image: selenium/node-edge:4.13.0-20230926 shm_size: 2gb depends_on: - selenium-hub @@ -33,7 +33,7 @@ services: - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-edge firefox: - image: selenium/node-firefox:4.12.1-20230920 + image: selenium/node-firefox:4.13.0-20230926 shm_size: 2gb depends_on: - selenium-hub @@ -45,7 +45,7 @@ services: - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-firefox selenium-hub: - image: selenium/hub:4.12.1-20230920 + image: selenium/hub:4.13.0-20230926 container_name: selenium-hub ports: - "4442:4442" diff --git a/docker-compose-v3-video.yml b/docker-compose-v3-video.yml index 3fbfab199..cd7640d52 100644 --- a/docker-compose-v3-video.yml +++ b/docker-compose-v3-video.yml @@ -4,7 +4,7 @@ version: "3" services: chrome: - image: selenium/node-chrome:4.12.1-20230920 + image: selenium/node-chrome:4.13.0-20230926 shm_size: 2gb depends_on: - selenium-hub @@ -14,7 +14,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.12.1-20230920 + image: selenium/node-edge:4.13.0-20230926 shm_size: 2gb depends_on: - selenium-hub @@ -24,7 +24,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.12.1-20230920 + image: selenium/node-firefox:4.13.0-20230926 shm_size: 2gb depends_on: - selenium-hub @@ -34,7 +34,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 chrome_video: - image: selenium/video:ffmpeg-4.3.1-20230920 + image: selenium/video:ffmpeg-4.3.1-20230926 volumes: - /tmp/videos:/videos depends_on: @@ -44,7 +44,7 @@ services: - FILE_NAME=chrome_video.mp4 edge_video: - image: selenium/video:ffmpeg-4.3.1-20230920 + image: selenium/video:ffmpeg-4.3.1-20230926 volumes: - /tmp/videos:/videos depends_on: @@ -54,7 +54,7 @@ services: - FILE_NAME=edge_video.mp4 firefox_video: - image: selenium/video:ffmpeg-4.3.1-20230920 + image: selenium/video:ffmpeg-4.3.1-20230926 volumes: - /tmp/videos:/videos depends_on: @@ -64,7 +64,7 @@ services: - FILE_NAME=firefox_video.mp4 selenium-hub: - image: selenium/hub:4.12.1-20230920 + image: selenium/hub:4.13.0-20230926 container_name: selenium-hub ports: - "4442:4442" diff --git a/docker-compose-v3.yml b/docker-compose-v3.yml index 8636018bc..04ca2d235 100644 --- a/docker-compose-v3.yml +++ b/docker-compose-v3.yml @@ -4,7 +4,7 @@ version: "3" services: chrome: - image: selenium/node-chrome:4.12.1-20230920 + image: selenium/node-chrome:4.13.0-20230926 shm_size: 2gb depends_on: - selenium-hub @@ -14,7 +14,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.12.1-20230920 + image: selenium/node-edge:4.13.0-20230926 shm_size: 2gb depends_on: - selenium-hub @@ -24,7 +24,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.12.1-20230920 + image: selenium/node-firefox:4.13.0-20230926 shm_size: 2gb depends_on: - selenium-hub @@ -34,7 +34,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-hub: - image: selenium/hub:4.12.1-20230920 + image: selenium/hub:4.13.0-20230926 container_name: selenium-hub ports: - "4442:4442" From a1af6308cd12376c7a6bb46edfe45c8163cd5372 Mon Sep 17 00:00:00 2001 From: Diego Molina Date: Tue, 26 Sep 2023 11:33:18 +0200 Subject: [PATCH 03/84] Bumping Chart version --- charts/selenium-grid/CHANGELOG.md | 7 ++++++- charts/selenium-grid/Chart.yaml | 4 ++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/charts/selenium-grid/CHANGELOG.md b/charts/selenium-grid/CHANGELOG.md index c90c85ff8..07266895d 100644 --- a/charts/selenium-grid/CHANGELOG.md +++ b/charts/selenium-grid/CHANGELOG.md @@ -2,11 +2,16 @@ All notable changes to this helm chart will be documented in this file. -## :heavy_check_mark: 0.21.2 +## :heavy_check_mark: 0.21.3 ### Changed - Update image tag to 4.13.0-20230926 +## :heavy_check_mark: 0.21.2 + +### Changed +- Update image tag to 4.12.1-20230920 + ## :heavy_check_mark: 0.21.1 ### Changed diff --git a/charts/selenium-grid/Chart.yaml b/charts/selenium-grid/Chart.yaml index 3835c2445..892cdd63e 100644 --- a/charts/selenium-grid/Chart.yaml +++ b/charts/selenium-grid/Chart.yaml @@ -2,8 +2,8 @@ apiVersion: v2 name: selenium-grid description: A Helm chart for creating a Selenium Grid Server in Kubernetes type: application -version: 0.21.2 -appVersion: 4.12.1-20230920 +version: 0.21.3 +appVersion: 4.13.0-20230926 icon: https://github.com/SeleniumHQ/docker-selenium/raw/trunk/logo.png dependencies: - repository: https://kedacore.github.io/charts From 51eafbee0445d2e9a92a8b12de4543642c3ee79c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 28 Sep 2023 09:35:23 +0200 Subject: [PATCH 04/84] Bump nick-invision/retry from 2.8.3 to 2.9.0 (#1952) Bumps [nick-invision/retry](https://github.com/nick-invision/retry) from 2.8.3 to 2.9.0. - [Release notes](https://github.com/nick-invision/retry/releases) - [Changelog](https://github.com/nick-fields/retry/blob/master/.releaserc.js) - [Commits](https://github.com/nick-invision/retry/compare/943e742917ac94714d2f408a0e8320f2d1fcafcd...14672906e672a08bd6eeb15720e9ed3ce869cdd4) --- updated-dependencies: - dependency-name: nick-invision/retry dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/deploy.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 6ea166dbe..41eb5b858 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -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 From 773c0dcd6dce5c4876e46d86ccb7dd3f6bff4e6a Mon Sep 17 00:00:00 2001 From: Amar Deep Singh <50517840+amardeep2006@users.noreply.github.com> Date: Wed, 4 Oct 2023 01:49:23 +0530 Subject: [PATCH 05/84] fix(obsolescence): bumped up packages (#1961) --- Base/Dockerfile | 3 ++- Video/Dockerfile | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/Base/Dockerfile b/Base/Dockerfile index 21132e7dc..fc1ab96eb 100644 --- a/Base/Dockerfile +++ b/Base/Dockerfile @@ -90,9 +90,10 @@ RUN curl -fLo /tmp/cs https://github.com/coursier/launchers/raw/master/coursier && mkdir -p /external_jars \ && chmod -R 775 /external_jars -RUN /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 +RUN /tmp/cs fetch --classpath --cache /external_jars io.opentelemetry:opentelemetry-exporter-otlp:1.30.1 io.opentelemetry:opentelemetry-exporter-jaeger:1.30.1 io.grpc:grpc-netty:1.58.0 > /external_jars/.classpath.txt RUN chmod 664 /external_jars/.classpath.txt +RUN rm -fr /root/.cache/* #=================================================== # Run the following commands as non-privileged user diff --git a/Video/Dockerfile b/Video/Dockerfile index efc935749..d6408bef6 100644 --- a/Video/Dockerfile +++ b/Video/Dockerfile @@ -19,6 +19,9 @@ RUN apt-get -qqy update \ && apt-get upgrade -yq \ && apt-get -qqy --no-install-recommends install \ supervisor x11-xserver-utils python3-pip \ + && python3 -m pip install --upgrade pip \ + && python3 -m pip install --upgrade setuptools \ + && python3 -m pip install --upgrade wheel \ && rm -rf /var/lib/apt/lists/* /var/cache/apt/* #====================================== From 889b7f5d6b9c0ecec1057023720cbc145bc7b39e Mon Sep 17 00:00:00 2001 From: Ismael Onilearan Date: Wed, 4 Oct 2023 00:50:07 +0100 Subject: [PATCH 06/84] fix: update base image to use focal 20230801 (#1962) * fix: update base image to use focal 20230624 * fix: update base image to use focal 20230801 --------- Co-authored-by: Diego Molina --- Base/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Base/Dockerfile b/Base/Dockerfile index fc1ab96eb..8e11c4e5c 100644 --- a/Base/Dockerfile +++ b/Base/Dockerfile @@ -1,4 +1,4 @@ -FROM ubuntu:focal-20230301 +FROM ubuntu:focal-20230801 LABEL authors="Selenium " #================================================ From 410ca8166c5cfd68828185465fcdee4151089858 Mon Sep 17 00:00:00 2001 From: Cody Lent Date: Tue, 3 Oct 2023 20:17:54 -0400 Subject: [PATCH 07/84] Add missing Ingress namespace field (#1966) Update ingress.yaml Co-authored-by: Diego Molina --- charts/selenium-grid/templates/ingress.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/charts/selenium-grid/templates/ingress.yaml b/charts/selenium-grid/templates/ingress.yaml index 6df2c9553..77aa8604c 100644 --- a/charts/selenium-grid/templates/ingress.yaml +++ b/charts/selenium-grid/templates/ingress.yaml @@ -14,6 +14,7 @@ apiVersion: extensions/v1beta1 kind: Ingress metadata: name: {{ template "seleniumGrid.ingress.fullname" . }} + namespace: {{ .Release.Namespace }} labels: {{- include "seleniumGrid.commonLabels" . | nindent 4 }} {{- with .Values.customLabels }} From 306b8fc557479c14e5e1b4167dd3771ae5c1dadd Mon Sep 17 00:00:00 2001 From: Amar Deep Singh <50517840+amardeep2006@users.noreply.github.com> Date: Wed, 4 Oct 2023 06:13:00 +0530 Subject: [PATCH 08/84] feat(keda): bumped up keda 2.12.0 (#1960) Co-authored-by: Diego Molina [deploy] --- charts/selenium-grid/Chart.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/charts/selenium-grid/Chart.yaml b/charts/selenium-grid/Chart.yaml index 892cdd63e..900f83857 100644 --- a/charts/selenium-grid/Chart.yaml +++ b/charts/selenium-grid/Chart.yaml @@ -7,6 +7,6 @@ appVersion: 4.13.0-20230926 icon: https://github.com/SeleniumHQ/docker-selenium/raw/trunk/logo.png dependencies: - repository: https://kedacore.github.io/charts - version: 2.10.2 + version: 2.12.0 name: keda condition: autoscaling.enabled From 0049db7a59dcb08122c5c8b762ea63c5102c5c1c Mon Sep 17 00:00:00 2001 From: Selenium CI Bot Date: Wed, 4 Oct 2023 00:58:06 +0000 Subject: [PATCH 09/84] Update tag in docs and files [skip ci] --- .github/ISSUE_TEMPLATE/bug_report.yml | 2 +- NodeDocker/config.toml | 8 +- README.md | 134 ++++++++++++------------ charts/selenium-grid/CHANGELOG.md | 2 +- charts/selenium-grid/README.md | 10 +- charts/selenium-grid/values.yaml | 22 ++-- docker-compose-v2-tracing.yml | 8 +- docker-compose-v2.yml | 8 +- docker-compose-v3-basicauth.yml | 8 +- docker-compose-v3-dev.yml | 8 +- docker-compose-v3-dynamic-grid.yml | 4 +- docker-compose-v3-full-grid-dev.yml | 16 +-- docker-compose-v3-full-grid-swarm.yml | 8 +- docker-compose-v3-full-grid-tracing.yml | 16 +-- docker-compose-v3-full-grid.yml | 16 +-- docker-compose-v3-swarm.yml | 8 +- docker-compose-v3-tracing.yml | 8 +- docker-compose-v3-video.yml | 14 +-- docker-compose-v3.yml | 8 +- 19 files changed, 154 insertions(+), 154 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 5ddfa5139..6d3b78a11 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -55,6 +55,6 @@ body: attributes: label: Docker Selenium version (tag) description: What version of Docker Selenium are you using? - placeholder: 4.13.0-20230926? Please use the full tag, avoid "latest" + placeholder: 4.13.0-20231004? Please use the full tag, avoid "latest" validations: required: true \ No newline at end of file diff --git a/NodeDocker/config.toml b/NodeDocker/config.toml index e6513cdda..c7b6a5567 100644 --- a/NodeDocker/config.toml +++ b/NodeDocker/config.toml @@ -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.13.0-20230926", '{"browserName": "firefox", "platformName": "linux"}', - "selenium/standalone-chrome:4.13.0-20230926", '{"browserName": "chrome", "platformName": "linux"}', - "selenium/standalone-edge:4.13.0-20230926", '{"browserName": "MicrosoftEdge", "platformName": "linux"}' + "selenium/standalone-firefox:4.13.0-20231004", '{"browserName": "firefox", "platformName": "linux"}', + "selenium/standalone-chrome:4.13.0-20231004", '{"browserName": "chrome", "platformName": "linux"}', + "selenium/standalone-edge:4.13.0-20231004", '{"browserName": "MicrosoftEdge", "platformName": "linux"}' ] # URL for connecting to the docker daemon @@ -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-20230926" +video-image = "selenium/video:ffmpeg-4.3.1-20231004" # Uncomment the following section if you are running the node on a separate VM # Fill out the placeholders with appropriate values diff --git a/README.md b/README.md index 7a5b7d047..2cbfd8060 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ The project is made possible by volunteer contributors who have put in thousands and made the source code freely available under the [Apache License 2.0](LICENSE.md). These Docker images come with a handful of tags to simplify its usage, have a look at them in one of -our [releases](https://github.com/SeleniumHQ/docker-selenium/releases/tag/4.13.0-20230926). +our [releases](https://github.com/SeleniumHQ/docker-selenium/releases/tag/4.13.0-20231004). To get notifications of new releases, add yourself as a "Releases only" watcher. @@ -64,7 +64,7 @@ Talk to us at https://www.selenium.dev/support/ 1. Start a Docker container with Firefox ```bash -docker run -d -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-firefox:4.13.0-20230926 +docker run -d -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-firefox:4.13.0-20231004 ``` 2. Point your WebDriver tests to http://localhost:4444 @@ -251,17 +251,17 @@ For more information on the Dev and Beta channel container images, see the blog ![Firefox](https://raw.githubusercontent.com/alrra/browser-logos/main/src/firefox/firefox_24x24.png) Firefox ```bash -docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-firefox:4.13.0-20230926 +docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-firefox:4.13.0-20231004 ``` ![Chrome](https://raw.githubusercontent.com/alrra/browser-logos/main/src/chrome/chrome_24x24.png) Chrome ```bash -docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-chrome:4.13.0-20230926 +docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-chrome:4.13.0-20231004 ``` ![Edge](https://raw.githubusercontent.com/alrra/browser-logos/main/src/edge/edge_24x24.png) Edge ```bash -docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-edge:4.13.0-20230926 +docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-edge:4.13.0-20231004 ``` _Note: Only one Standalone container can run on port_ `4444` _at the same time._ @@ -280,44 +280,44 @@ A Docker [network](https://docs.docker.com/engine/reference/commandline/network_ ```bash $ docker network create grid -$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.13.0-20230926 +$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.13.0-20231004 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-chrome:4.13.0-20230926 + selenium/node-chrome:4.13.0-20231004 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-edge:4.13.0-20230926 + selenium/node-edge:4.13.0-20231004 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-firefox:4.13.0-20230926 + selenium/node-firefox:4.13.0-20231004 ``` ##### Windows PowerShell ```powershell $ docker network create grid -$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.13.0-20230926 +$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.13.0-20231004 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub ` --shm-size="2g" ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` - selenium/node-chrome:4.13.0-20230926 + selenium/node-chrome:4.13.0-20231004 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub ` --shm-size="2g" ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` - selenium/node-edge:4.13.0-20230926 + selenium/node-edge:4.13.0-20231004 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub ` --shm-size="2g" ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` - selenium/node-firefox:4.13.0-20230926 + selenium/node-firefox:4.13.0-20231004 ``` When you are done using the Grid, and the containers have exited, the network can be removed with the following command: @@ -334,7 +334,7 @@ configured to expose different ports. ##### Hub - Machine/VM 1 ```bash -$ docker run -d -p 4442-4444:4442-4444 --name selenium-hub selenium/hub:4.13.0-20230926 +$ docker run -d -p 4442-4444:4442-4444 --name selenium-hub selenium/hub:4.13.0-20231004 ``` ##### Node Chrome - Machine/VM 2 @@ -348,7 +348,7 @@ $ docker run -d -p 5555:5555 \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ -e SE_NODE_HOST= \ - selenium/node-chrome:4.13.0-20230926 + selenium/node-chrome:4.13.0-20231004 ``` ###### Windows PowerShell @@ -360,7 +360,7 @@ $ docker run -d -p 5555:5555 ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` -e SE_NODE_HOST= ` - selenium/node-chrome:4.13.0-20230926 + selenium/node-chrome:4.13.0-20231004 ``` @@ -375,7 +375,7 @@ $ docker run -d -p 5555:5555 \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ -e SE_NODE_HOST= \ - selenium/node-edge:4.13.0-20230926 + selenium/node-edge:4.13.0-20231004 ``` ###### Windows PowerShell @@ -387,7 +387,7 @@ $ docker run -d -p 5555:5555 ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` -e SE_NODE_HOST= ` - selenium/node-edge:4.13.0-20230926 + selenium/node-edge:4.13.0-20231004 ``` ##### Node Firefox - Machine/VM 4 @@ -401,7 +401,7 @@ $ docker run -d -p 5555:5555 \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ -e SE_NODE_HOST= \ - selenium/node-firefox:4.13.0-20230926 + selenium/node-firefox:4.13.0-20231004 ``` ###### Windows PowerShell @@ -413,7 +413,7 @@ $ docker run -d -p 5555:5555 ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` -e SE_NODE_HOST= ` - selenium/node-firefox:4.13.0-20230926 + selenium/node-firefox:4.13.0-20231004 ``` ##### Node Chrome - Machine/VM 4 @@ -428,7 +428,7 @@ $ docker run -d -p 5556:5556 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ -e SE_NODE_HOST= \ -e SE_NODE_PORT=5556 \ - selenium/node-chrome:4.13.0-20230926 + selenium/node-chrome:4.13.0-20231004 ``` ###### Windows PowerShell @@ -441,7 +441,7 @@ $ docker run -d -p 5556:5556 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` -e SE_NODE_HOST= ` -e SE_NODE_PORT=5556 ` - selenium/node-chrome:4.13.0-20230926 + selenium/node-chrome:4.13.0-20231004 ``` #### Docker Compose @@ -473,7 +473,7 @@ ___ ## Video recording -Tests execution can be recorded by using the `selenium/video:ffmpeg-4.3.1-20230926` +Tests execution can be recorded by using the `selenium/video:ffmpeg-4.3.1-20231004` Docker image. One container is needed per each container where a browser is running. This means if you are running 5 Nodes/Standalone containers, you will need 5 video containers, the mapping is 1-1. @@ -499,8 +499,8 @@ This example shows how to start the containers manually: ``` bash $ docker network create grid -$ docker run -d -p 4444:4444 -p 6900:5900 --net grid --name selenium --shm-size="2g" selenium/standalone-chrome:4.13.0-20230926 -$ docker run -d --net grid --name video -v /tmp/videos:/videos selenium/video:ffmpeg-4.3.1-20230926 +$ docker run -d -p 4444:4444 -p 6900:5900 --net grid --name selenium --shm-size="2g" selenium/standalone-chrome:4.13.0-20231004 +$ docker run -d --net grid --name video -v /tmp/videos:/videos selenium/video:ffmpeg-4.3.1-20231004 # Run your tests $ docker stop video && docker rm video $ docker stop selenium && docker rm selenium @@ -532,9 +532,9 @@ You can save this file locally and name it, for example, `config.toml`. # 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.13.0-20230926", '{"browserName": "firefox"}', - "selenium/standalone-chrome:4.13.0-20230926", '{"browserName": "chrome"}', - "selenium/standalone-edge:4.13.0-20230926", '{"browserName": "MicrosoftEdge"}' + "selenium/standalone-firefox:4.13.0-20231004", '{"browserName": "firefox"}', + "selenium/standalone-chrome:4.13.0-20231004", '{"browserName": "chrome"}', + "selenium/standalone-edge:4.13.0-20231004", '{"browserName": "MicrosoftEdge"}' ] # URL for connecting to the docker daemon @@ -547,7 +547,7 @@ configs = [ # Linux: varies from machine to machine, please mount /var/run/docker.sock. If this does not work, please create an issue. url = "http://127.0.0.1:2375" # Docker image used for video recording -video-image = "selenium/video:ffmpeg-4.3.1-20230926" +video-image = "selenium/video:ffmpeg-4.3.1-20231004" # Uncomment the following section if you are running the node on a separate VM # Fill out the placeholders with appropriate values @@ -566,28 +566,28 @@ virtual machines. ```bash $ docker network create grid -$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.13.0-20230926 +$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.13.0-20231004 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ -v ${PWD}/config.toml:/opt/bin/config.toml \ -v ${PWD}/assets:/opt/selenium/assets \ -v /var/run/docker.sock:/var/run/docker.sock \ - selenium/node-docker:4.13.0-20230926 + selenium/node-docker:4.13.0-20231004 ``` #### Windows PowerShell ```powershell $ docker network create grid -$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.13.0-20230926 +$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.13.0-20231004 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` -v ${PWD}/config.toml:/opt/bin/config.toml ` -v ${PWD}/assets:/opt/selenium/assets ` -v /var/run/docker.sock:/var/run/docker.sock ` - selenium/node-docker:4.13.0-20230926 + selenium/node-docker:4.13.0-20231004 ``` To have the assets saved on your host, please mount your host path to `/opt/selenium/assets`. @@ -608,7 +608,7 @@ docker run --rm --name selenium-docker -p 4444:4444 \ -v ${PWD}/config.toml:/opt/bin/config.toml \ -v ${PWD}/assets:/opt/selenium/assets \ -v /var/run/docker.sock:/var/run/docker.sock \ - selenium/standalone-docker:4.13.0-20230926 + selenium/standalone-docker:4.13.0-20231004 ``` #### Windows PowerShell @@ -618,7 +618,7 @@ docker run --rm --name selenium-docker -p 4444:4444 ` -v ${PWD}/config.toml:/opt/bin/config.toml ` -v ${PWD}/assets:/opt/selenium/assets ` -v /var/run/docker.sock:/var/run/docker.sock ` - selenium/standalone-docker:4.13.0-20230926 + selenium/standalone-docker:4.13.0-20231004 ``` ### Using Dynamic Grid in different machines/VMs @@ -626,7 +626,7 @@ docker run --rm --name selenium-docker -p 4444:4444 ` #### Hub - Machine/VM 1 ```bash -$ docker run -d -p 4442-4444:4442-4444 --name selenium-hub selenium/hub:4.13.0-20230926 +$ docker run -d -p 4442-4444:4442-4444 --name selenium-hub selenium/hub:4.13.0-20231004 ``` #### Node Chrome - Machine/VM 2 @@ -641,7 +641,7 @@ $ docker run -d -p 5555:5555 \ -v ${PWD}/config.toml:/opt/bin/config.toml \ -v ${PWD}/assets:/opt/selenium/assets \ -v /var/run/docker.sock:/var/run/docker.sock \ - selenium/node-docker:4.13.0-20230926 + selenium/node-docker:4.13.0-20231004 ``` #### Windows PowerShell @@ -654,7 +654,7 @@ $ docker run -d -p 5555:5555 ` -v ${PWD}/config.toml:/opt/bin/config.toml ` -v ${PWD}/assets:/opt/selenium/assets ` -v /var/run/docker.sock:/var/run/docker.sock ` - selenium/node-docker:4.13.0-20230926 + selenium/node-docker:4.13.0-20231004 ``` Complete the `[server]` section in the `config.toml` file. @@ -663,9 +663,9 @@ Complete the `[server]` section in the `config.toml` file. # 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.13.0-20230926", "{\"browserName\": \"firefox\"}", - "selenium/standalone-chrome:4.13.0-20230926", "{\"browserName\": \"chrome\"}", - "selenium/standalone-edge:4.13.0-20230926", "{\"browserName\": \"MicrosoftEdge\"}" + "selenium/standalone-firefox:4.13.0-20231004", "{\"browserName\": \"firefox\"}", + "selenium/standalone-chrome:4.13.0-20231004", "{\"browserName\": \"chrome\"}", + "selenium/standalone-edge:4.13.0-20231004", "{\"browserName\": \"MicrosoftEdge\"}" ] # URL for connecting to the docker daemon @@ -678,7 +678,7 @@ configs = [ # Linux: varies from machine to machine, please mount /var/run/docker.sock. If this does not work, please create an issue. url = "http://127.0.0.1:2375" # Docker image used for video recording -video-image = "selenium/video:ffmpeg-4.3.1-20230926" +video-image = "selenium/video:ffmpeg-4.3.1-20231004" # Uncomment the following section if you are running the node on a separate VM # Fill out the placeholders with appropriate values @@ -712,7 +712,7 @@ docker run --rm --name selenium-docker -p 4444:4444 \ -v ${PWD}/config.toml:/opt/bin/config.toml \ -v ${PWD}/assets:/opt/selenium/assets \ -v /var/run/docker.sock:/var/run/docker.sock \ - selenium/standalone-docker:4.13.0-20230926 + selenium/standalone-docker:4.13.0-20231004 ``` #### Windows PowerShell @@ -723,7 +723,7 @@ docker run --rm --name selenium-docker -p 4444:4444 ` -v ${PWD}/config.toml:/opt/bin/config.toml ` -v ${PWD}/assets:/opt/selenium/assets ` -v /var/run/docker.sock:/var/run/docker.sock ` - selenium/standalone-docker:4.13.0-20230926 + selenium/standalone-docker:4.13.0-20231004 ``` @@ -761,7 +761,7 @@ ___ You can pass `SE_OPTS` variable with additional command line parameters for starting a hub or a node. ``` bash -$ docker run -d -p 4444:4444 -e SE_OPTS="--log-level FINE" --name selenium-hub selenium/hub:4.13.0-20230926 +$ docker run -d -p 4444:4444 -e SE_OPTS="--log-level FINE" --name selenium-hub selenium/hub:4.13.0-20231004 ``` ### SE_JAVA_OPTS Java Environment Options @@ -769,7 +769,7 @@ $ docker run -d -p 4444:4444 -e SE_OPTS="--log-level FINE" --name selenium-hub s You can pass `SE_JAVA_OPTS` environment variable to the Java process. ``` bash -$ docker run -d -p 4444:4444 -e SE_JAVA_OPTS=-Xmx512m --name selenium-hub selenium/hub:4.13.0-20230926 +$ docker run -d -p 4444:4444 -e SE_JAVA_OPTS=-Xmx512m --name selenium-hub selenium/hub:4.13.0-20231004 ``` ### Node configuration options @@ -791,7 +791,7 @@ $ docker run -d \ -e SE_EVENT_BUS_HOST= \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 -e SE_NODE_STEREOTYPE="{\"browserName\":\"${SE_NODE_BROWSER_NAME}\",\"browserVersion\":\"${SE_NODE_BROWSER_VERSION}\",\"platformName\": \"Linux\"}" \ - --shm-size="2g" selenium/node-chrome:4.13.0-20230926 + --shm-size="2g" selenium/node-chrome:4.13.0-20231004 ``` ### Setting Sub Path @@ -810,7 +810,7 @@ These settings can be adjusted by specifying `SE_SCREEN_WIDTH`, `SE_SCREEN_HEIGH environmental variables when starting the container. ``` bash -docker run -d -e SE_SCREEN_WIDTH=1366 -e SE_SCREEN_HEIGHT=768 -e SE_SCREEN_DEPTH=24 -e SE_SCREEN_DPI=74 selenium/standalone-firefox:4.13.0-20230926 +docker run -d -e SE_SCREEN_WIDTH=1366 -e SE_SCREEN_HEIGHT=768 -e SE_SCREEN_DEPTH=24 -e SE_SCREEN_DPI=74 selenium/standalone-firefox:4.13.0-20231004 ``` ### Grid Url and Session Timeout @@ -860,7 +860,7 @@ To avoid starting the server you can set the `START_XVFB` environment variable t ``` bash $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ - -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 -e START_XVFB=false --shm-size="2g" selenium/node-chrome:4.13.0-20230926 + -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 -e START_XVFB=false --shm-size="2g" selenium/node-chrome:4.13.0-20231004 ``` For more information, see this GitHub [issue](https://github.com/SeleniumHQ/docker-selenium/issues/567). @@ -873,7 +873,7 @@ pod and then scale a new one after N sessions. Set the environment variable `SE_ a value higher than zero to enable this behaviour. ``` bash -$ docker run -e SE_DRAIN_AFTER_SESSION_COUNT=5 --shm-size="2g" selenium/standalone-firefox:4.13.0-20230926 +$ docker run -e SE_DRAIN_AFTER_SESSION_COUNT=5 --shm-size="2g" selenium/standalone-firefox:4.13.0-20231004 ``` With the previous command, the Standalone container will shut down after 5 sessions have been executed. @@ -965,22 +965,22 @@ $ docker network create grid $ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub \ --health-cmd='/opt/bin/check-grid.sh --host 0.0.0.0 --port 4444' \ --health-interval=15s --health-timeout=30s --health-retries=5 \ - selenium/hub:4.13.0-20230926 + selenium/hub:4.13.0-20231004 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-chrome:4.13.0-20230926 + selenium/node-chrome:4.13.0-20231004 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-edge:4.13.0-20230926 + selenium/node-edge:4.13.0-20231004 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-firefox:4.13.0-20230926 + selenium/node-firefox:4.13.0-20231004 ``` **Note:** The `\` line delimiter won't work on Windows-based terminals, try either `^` or a backtick. @@ -1113,7 +1113,7 @@ RUN mkdir -p -m755 /seluser/.pki/nssdb \ && chown -R 1200:1201 /seluser # Start from Selenium image and add relevant files from build image -FROM selenium/node-chrome:4.13.0-20230926 +FROM selenium/node-chrome:4.13.0-20231004 USER root COPY --from=build /seluser/ /home/seluser/ USER seluser @@ -1128,7 +1128,7 @@ RUN mkdir -p "/distribution" "/certs" && \ echo '{ "policies": { "Certificates": { "Install": ["/opt/firefox-latest/YOUR_CA.pem"] }} }' >"/distribution/policies.json" # Start from Selenium image and add relevant files from build image -FROM selenium/node-firefox:4.13.0-20230926 +FROM selenium/node-firefox:4.13.0-20231004 USER root COPY --from=build /certs /opt/firefox-latest COPY --from=build /distribution /opt/firefox-latest/distribution @@ -1151,9 +1151,9 @@ You can override it with the `SE_VNC_PORT` environment variable in case you want Here is an example with the standalone images, the same concept applies to the node images. ``` bash -$ docker run -d -p 4444:4444 -p 5900:5900 --shm-size="2g" selenium/standalone-chrome:4.13.0-20230926 -$ docker run -d -p 4445:4444 -p 5901:5900 --shm-size="2g" selenium/standalone-edge:4.13.0-20230926 -$ docker run -d -p 4446:4444 -p 5902:5900 --shm-size="2g" selenium/standalone-firefox:4.13.0-20230926 +$ docker run -d -p 4444:4444 -p 5900:5900 --shm-size="2g" selenium/standalone-chrome:4.13.0-20231004 +$ docker run -d -p 4445:4444 -p 5901:5900 --shm-size="2g" selenium/standalone-edge:4.13.0-20231004 +$ docker run -d -p 4446:4444 -p 5902:5900 --shm-size="2g" selenium/standalone-firefox:4.13.0-20231004 ``` Then, you would use in your VNC client: @@ -1179,9 +1179,9 @@ You can also override it with the `SE_NO_VNC_PORT` environment variable in case Here is an example with the standalone images, the same concept applies to the node images. ``` bash -$ docker run -d -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-chrome:4.13.0-20230926 -$ docker run -d -p 4445:4444 -p 7901:7900 --shm-size="2g" selenium/standalone-edge:4.13.0-20230926 -$ docker run -d -p 4446:4444 -p 7902:7900 --shm-size="2g" selenium/standalone-firefox:4.13.0-20230926 +$ docker run -d -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-chrome:4.13.0-20231004 +$ docker run -d -p 4445:4444 -p 7901:7900 --shm-size="2g" selenium/standalone-edge:4.13.0-20231004 +$ docker run -d -p 4446:4444 -p 7902:7900 --shm-size="2g" selenium/standalone-firefox:4.13.0-20231004 ``` Then, you would use in your browser: @@ -1206,28 +1206,28 @@ In order to enable tracing in the Selenium Grid container, the following command ```bash docker network create grid docker run -d -p 16686:16686 -p 14250:14250 --net grid --name jaeger jaegertracing/all-in-one:1.17 -docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.13.0-20230926 +docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.13.0-20231004 docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_ENABLE_TRACING=true \ -e JAVA_OPTS="-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-hub" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-chrome:4.13.0-20230926 + selenium/node-chrome:4.13.0-20231004 docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_ENABLE_TRACING=true \ -e JAVA_OPTS="-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-edge" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-edge:4.13.0-20230926 + selenium/node-edge:4.13.0-20231004 docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_ENABLE_TRACING=true \ -e JAVA_OPTS="-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-firefox" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-firefox:4.13.0-20230926 + selenium/node-firefox:4.13.0-20231004 ``` You can also refer to the below docker-compose yaml files to be able to start a simple grid (or) a dynamic grid. @@ -1287,7 +1287,7 @@ container in the following way: ```bash docker run -d -p 4444:4444 --shm-size="2g" \ -v /home/ubuntu/files:/home/seluser/files \ - selenium/standalone-chrome:4.13.0-20230926 + selenium/standalone-chrome:4.13.0-20231004 ``` That will mount the host `/home/ubuntu/files` directory diff --git a/charts/selenium-grid/CHANGELOG.md b/charts/selenium-grid/CHANGELOG.md index 07266895d..713c817c0 100644 --- a/charts/selenium-grid/CHANGELOG.md +++ b/charts/selenium-grid/CHANGELOG.md @@ -5,7 +5,7 @@ All notable changes to this helm chart will be documented in this file. ## :heavy_check_mark: 0.21.3 ### Changed -- Update image tag to 4.13.0-20230926 +- Update image tag to 4.13.0-20231004 ## :heavy_check_mark: 0.21.2 diff --git a/charts/selenium-grid/README.md b/charts/selenium-grid/README.md index ecd4d0575..0e0a026dc 100644 --- a/charts/selenium-grid/README.md +++ b/charts/selenium-grid/README.md @@ -83,8 +83,8 @@ For now, global configuration supported is: | Parameter | Default | Description | |---------------------------------------|-------------------|---------------------------------------| -| `global.seleniumGrid.imageTag` | `4.13.0-20230926` | Image tag for all selenium components | -| `global.seleniumGrid.nodesImageTag` | `4.13.0-20230926` | Image tag for browser's nodes | +| `global.seleniumGrid.imageTag` | `4.13.0-20231004` | Image tag for all selenium components | +| `global.seleniumGrid.nodesImageTag` | `4.13.0-20231004` | Image tag for browser's nodes | | `global.seleniumGrid.imagePullSecret` | `""` | Pull secret to be used for all images | | `global.seleniumGrid.imagePullSecret` | `""` | Pull secret to be used for all images | | `global.seleniumGrid.affinity` | `{}` | Affinity assigned globally | @@ -116,7 +116,7 @@ This table contains the configuration parameters of the chart and their default | `chromeNode.deploymentEnabled` | `true` | Enable creation of Deployment for chrome nodes | | `chromeNode.replicas` | `1` | Number of chrome nodes. Disabled if autoscaling is enabled. | | `chromeNode.imageName` | `selenium/node-chrome` | Image of chrome nodes | -| `chromeNode.imageTag` | `4.13.0-20230926` | Image of chrome nodes | +| `chromeNode.imageTag` | `4.13.0-20231004` | Image of chrome nodes | | `chromeNode.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | | `chromeNode.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | | `chromeNode.ports` | `[5555]` | Port list to enable on container | @@ -152,7 +152,7 @@ This table contains the configuration parameters of the chart and their default | `firefoxNode.deploymentEnabled` | `true` | Enable creation of Deployment for firefox nodes | | `firefoxNode.replicas` | `1` | Number of firefox nodes. Disabled if autoscaling is enabled. | | `firefoxNode.imageName` | `selenium/node-firefox` | Image of firefox nodes | -| `firefoxNode.imageTag` | `4.13.0-20230926` | Image of firefox nodes | +| `firefoxNode.imageTag` | `4.13.0-20231004` | Image of firefox nodes | | `firefoxNode.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | | `firefoxNode.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | | `firefoxNode.ports` | `[5555]` | Port list to enable on container | @@ -188,7 +188,7 @@ This table contains the configuration parameters of the chart and their default | `edgeNode.deploymentEnabled` | `true` | Enable creation of Deployment for edge nodes | | `edgeNode.replicas` | `1` | Number of edge nodes. Disabled if autoscaling is enabled. | | `edgeNode.imageName` | `selenium/node-edge` | Image of edge nodes | -| `edgeNode.imageTag` | `4.13.0-20230926` | Image of edge nodes | +| `edgeNode.imageTag` | `4.13.0-20231004` | Image of edge nodes | | `edgeNode.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | | `edgeNode.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | | `edgeNode.ports` | `[5555]` | Port list to enable on container | diff --git a/charts/selenium-grid/values.yaml b/charts/selenium-grid/values.yaml index 23f22de79..38c11087a 100644 --- a/charts/selenium-grid/values.yaml +++ b/charts/selenium-grid/values.yaml @@ -1,9 +1,9 @@ global: seleniumGrid: # Image tag for all selenium components - imageTag: 4.13.0-20230926 + imageTag: 4.13.0-20231004 # Image tag for browser's nodes - nodesImageTag: 4.13.0-20230926 + nodesImageTag: 4.13.0-20231004 # Pull secret for all components, can be overridden individually imagePullSecret: "" @@ -61,7 +61,7 @@ components: # Router image name imageName: selenium/router # Router image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.13.0-20230926 + # imageTag: 4.13.0-20231004 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent @@ -112,7 +112,7 @@ components: # Distributor image name imageName: selenium/distributor # Distributor image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.13.0-20230926 + # imageTag: 4.13.0-20231004 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent @@ -143,7 +143,7 @@ components: # Event Bus image name imageName: selenium/event-bus # Event Bus image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.13.0-20230926 + # imageTag: 4.13.0-20231004 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent @@ -178,7 +178,7 @@ components: # Session Map image name imageName: selenium/sessions # Session Map image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.13.0-20230926 + # imageTag: 4.13.0-20231004 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent @@ -208,7 +208,7 @@ components: # Session Queue image name imageName: selenium/session-queue # Session Queue image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.13.0-20230926 + # imageTag: 4.13.0-20231004 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent @@ -258,7 +258,7 @@ hub: # Selenium Hub image name imageName: selenium/hub # Selenium Hub image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.13.0-20230926 + # imageTag: 4.13.0-20231004 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent # Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) @@ -378,7 +378,7 @@ chromeNode: # Image of chrome nodes imageName: selenium/node-chrome # Image of chrome nodes (this overwrites global.seleniumGrid.nodesImageTag) - # imageTag: 4.13.0-20230926 + # imageTag: 4.13.0-20231004 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent # Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) @@ -501,7 +501,7 @@ firefoxNode: # Image of firefox nodes imageName: selenium/node-firefox # Image of firefox nodes (this overwrites global.seleniumGrid.nodesImageTag) - # imageTag: 4.13.0-20230926 + # imageTag: 4.13.0-20231004 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent # Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) @@ -620,7 +620,7 @@ edgeNode: # Image of edge nodes imageName: selenium/node-edge # Image of edge nodes (this overwrites global.seleniumGrid.nodesImageTag) - # imageTag: 4.13.0-20230926 + # imageTag: 4.13.0-20231004 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent # Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) diff --git a/docker-compose-v2-tracing.yml b/docker-compose-v2-tracing.yml index 26e0cfbb7..643534d52 100644 --- a/docker-compose-v2-tracing.yml +++ b/docker-compose-v2-tracing.yml @@ -9,7 +9,7 @@ services: - "16686:16686" - "14250:14250" chrome: - image: selenium/node-chrome:4.13.0-20230926 + image: selenium/node-chrome:4.13.0-20231004 shm_size: 2gb depends_on: - selenium-hub @@ -23,7 +23,7 @@ services: - "6900:5900" edge: - image: selenium/node-edge:4.13.0-20230926 + image: selenium/node-edge:4.13.0-20231004 shm_size: 2gb depends_on: - selenium-hub @@ -37,7 +37,7 @@ services: - "6901:5900" firefox: - image: selenium/node-firefox:4.13.0-20230926 + image: selenium/node-firefox:4.13.0-20231004 shm_size: 2gb depends_on: - selenium-hub @@ -51,7 +51,7 @@ services: - "6902:5900" selenium-hub: - image: selenium/hub:4.13.0-20230926 + image: selenium/hub:4.13.0-20231004 ports: - "4442:4442" - "4443:4443" diff --git a/docker-compose-v2.yml b/docker-compose-v2.yml index ed626c7b6..c757a0ec6 100644 --- a/docker-compose-v2.yml +++ b/docker-compose-v2.yml @@ -4,7 +4,7 @@ version: '2' services: chrome: - image: selenium/node-chrome:4.13.0-20230926 + image: selenium/node-chrome:4.13.0-20231004 shm_size: 2gb depends_on: - selenium-hub @@ -16,7 +16,7 @@ services: - "6900:5900" edge: - image: selenium/node-edge:4.13.0-20230926 + image: selenium/node-edge:4.13.0-20231004 shm_size: 2gb depends_on: - selenium-hub @@ -28,7 +28,7 @@ services: - "6901:5900" firefox: - image: selenium/node-firefox:4.13.0-20230926 + image: selenium/node-firefox:4.13.0-20231004 shm_size: 2gb depends_on: - selenium-hub @@ -40,7 +40,7 @@ services: - "6902:5900" selenium-hub: - image: selenium/hub:4.13.0-20230926 + image: selenium/hub:4.13.0-20231004 ports: - "4442:4442" - "4443:4443" diff --git a/docker-compose-v3-basicauth.yml b/docker-compose-v3-basicauth.yml index b867d232d..58a65eb67 100644 --- a/docker-compose-v3-basicauth.yml +++ b/docker-compose-v3-basicauth.yml @@ -4,7 +4,7 @@ version: "3" services: chrome: - image: selenium/node-chrome:4.13.0-20230926 + image: selenium/node-chrome:4.13.0-20231004 shm_size: 2gb depends_on: - selenium-hub @@ -14,7 +14,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.13.0-20230926 + image: selenium/node-edge:4.13.0-20231004 shm_size: 2gb depends_on: - selenium-hub @@ -24,7 +24,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.13.0-20230926 + image: selenium/node-firefox:4.13.0-20231004 shm_size: 2gb depends_on: - selenium-hub @@ -34,7 +34,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-hub: - image: selenium/hub:4.13.0-20230926 + image: selenium/hub:4.13.0-20231004 container_name: selenium-hub ports: - "4442:4442" diff --git a/docker-compose-v3-dev.yml b/docker-compose-v3-dev.yml index edc40a184..53427819d 100644 --- a/docker-compose-v3-dev.yml +++ b/docker-compose-v3-dev.yml @@ -4,7 +4,7 @@ version: "3" services: chrome: - image: selenium/node-chrome:4.13.0-20230926 + image: selenium/node-chrome:4.13.0-20231004 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar @@ -16,7 +16,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.13.0-20230926 + image: selenium/node-edge:4.13.0-20231004 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar @@ -28,7 +28,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.13.0-20230926 + image: selenium/node-firefox:4.13.0-20231004 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar @@ -40,7 +40,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-hub: - image: selenium/hub:4.13.0-20230926 + image: selenium/hub:4.13.0-20231004 container_name: selenium-hub volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar diff --git a/docker-compose-v3-dynamic-grid.yml b/docker-compose-v3-dynamic-grid.yml index afbdb7268..665255568 100644 --- a/docker-compose-v3-dynamic-grid.yml +++ b/docker-compose-v3-dynamic-grid.yml @@ -4,7 +4,7 @@ version: "3" services: node-docker: - image: selenium/node-docker:4.13.0-20230926 + image: selenium/node-docker:4.13.0-20231004 volumes: - ./assets:/opt/selenium/assets - ./NodeDocker/config.toml:/opt/bin/config.toml @@ -17,7 +17,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-hub: - image: selenium/hub:4.13.0-20230926 + image: selenium/hub:4.13.0-20231004 container_name: selenium-hub ports: - "4442:4442" diff --git a/docker-compose-v3-full-grid-dev.yml b/docker-compose-v3-full-grid-dev.yml index 999b63d4f..d32e18738 100644 --- a/docker-compose-v3-full-grid-dev.yml +++ b/docker-compose-v3-full-grid-dev.yml @@ -4,7 +4,7 @@ version: "3" services: selenium-event-bus: - image: selenium/event-bus:4.13.0-20230926 + image: selenium/event-bus:4.13.0-20231004 volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar container_name: selenium-event-bus @@ -14,7 +14,7 @@ services: - "5557:5557" selenium-sessions: - image: selenium/sessions:4.13.0-20230926 + image: selenium/sessions:4.13.0-20231004 volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar container_name: selenium-sessions @@ -28,7 +28,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-session-queue: - image: selenium/session-queue:4.13.0-20230926 + image: selenium/session-queue:4.13.0-20231004 volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar container_name: selenium-session-queue @@ -36,7 +36,7 @@ services: - "5559:5559" selenium-distributor: - image: selenium/distributor:4.13.0-20230926 + image: selenium/distributor:4.13.0-20231004 volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar container_name: selenium-distributor @@ -56,7 +56,7 @@ services: - SE_SESSION_QUEUE_PORT=5559 selenium-router: - image: selenium/router:4.13.0-20230926 + image: selenium/router:4.13.0-20231004 volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar container_name: selenium-router @@ -75,7 +75,7 @@ services: - SE_SESSION_QUEUE_PORT=5559 chrome: - image: selenium/node-chrome:4.13.0-20230926 + image: selenium/node-chrome:4.13.0-20231004 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar @@ -87,7 +87,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.13.0-20230926 + image: selenium/node-edge:4.13.0-20231004 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar @@ -99,7 +99,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.13.0-20230926 + image: selenium/node-firefox:4.13.0-20231004 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar diff --git a/docker-compose-v3-full-grid-swarm.yml b/docker-compose-v3-full-grid-swarm.yml index d9c135ee7..998810485 100644 --- a/docker-compose-v3-full-grid-swarm.yml +++ b/docker-compose-v3-full-grid-swarm.yml @@ -7,7 +7,7 @@ version: '3.7' services: chrome: - image: selenium/node-chrome:4.13.0-20230926 + image: selenium/node-chrome:4.13.0-20231004 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -18,7 +18,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' edge: - image: selenium/node-edge:4.13.0-20230926 + image: selenium/node-edge:4.13.0-20231004 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -29,7 +29,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' firefox: - image: selenium/node-firefox:4.13.0-20230926 + image: selenium/node-firefox:4.13.0-20231004 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -40,7 +40,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' selenium-hub: - image: selenium/hub:4.13.0-20230926 + image: selenium/hub:4.13.0-20231004 ports: - "4442:4442" - "4443:4443" diff --git a/docker-compose-v3-full-grid-tracing.yml b/docker-compose-v3-full-grid-tracing.yml index 4c13a315d..6dcbcc70f 100644 --- a/docker-compose-v3-full-grid-tracing.yml +++ b/docker-compose-v3-full-grid-tracing.yml @@ -9,7 +9,7 @@ services: - "16686:16686" - "14250:14250" selenium-event-bus: - image: selenium/event-bus:4.13.0-20230926 + image: selenium/event-bus:4.13.0-20231004 container_name: selenium-event-bus ports: - "4442:4442" @@ -21,7 +21,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-event-bus selenium-sessions: - image: selenium/sessions:4.13.0-20230926 + image: selenium/sessions:4.13.0-20231004 container_name: selenium-sessions ports: - "5556:5556" @@ -34,7 +34,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-sessions selenium-session-queue: - image: selenium/session-queue:4.13.0-20230926 + image: selenium/session-queue:4.13.0-20231004 container_name: selenium-session-queue ports: - "5559:5559" @@ -42,7 +42,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-session-queue selenium-distributor: - image: selenium/distributor:4.13.0-20230926 + image: selenium/distributor:4.13.0-20231004 container_name: selenium-distributor ports: - "5553:5553" @@ -61,7 +61,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-distributor selenium-router: - image: selenium/router:4.13.0-20230926 + image: selenium/router:4.13.0-20231004 container_name: selenium-router ports: - "4444:4444" @@ -79,7 +79,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-router chrome: - image: selenium/node-chrome:4.13.0-20230926 + image: selenium/node-chrome:4.13.0-20231004 shm_size: 2gb depends_on: - selenium-event-bus @@ -90,7 +90,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-chrome edge: - image: selenium/node-edge:4.13.0-20230926 + image: selenium/node-edge:4.13.0-20231004 shm_size: 2gb depends_on: - selenium-event-bus @@ -101,7 +101,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-edge firefox: - image: selenium/node-firefox:4.13.0-20230926 + image: selenium/node-firefox:4.13.0-20231004 shm_size: 2gb depends_on: - selenium-event-bus diff --git a/docker-compose-v3-full-grid.yml b/docker-compose-v3-full-grid.yml index 3986da3d7..154cd7a0a 100644 --- a/docker-compose-v3-full-grid.yml +++ b/docker-compose-v3-full-grid.yml @@ -4,7 +4,7 @@ version: "3" services: selenium-event-bus: - image: selenium/event-bus:4.13.0-20230926 + image: selenium/event-bus:4.13.0-20231004 container_name: selenium-event-bus ports: - "4442:4442" @@ -12,7 +12,7 @@ services: - "5557:5557" selenium-sessions: - image: selenium/sessions:4.13.0-20230926 + image: selenium/sessions:4.13.0-20231004 container_name: selenium-sessions ports: - "5556:5556" @@ -24,13 +24,13 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-session-queue: - image: selenium/session-queue:4.13.0-20230926 + image: selenium/session-queue:4.13.0-20231004 container_name: selenium-session-queue ports: - "5559:5559" selenium-distributor: - image: selenium/distributor:4.13.0-20230926 + image: selenium/distributor:4.13.0-20231004 container_name: selenium-distributor ports: - "5553:5553" @@ -48,7 +48,7 @@ services: - SE_SESSION_QUEUE_PORT=5559 selenium-router: - image: selenium/router:4.13.0-20230926 + image: selenium/router:4.13.0-20231004 container_name: selenium-router ports: - "4444:4444" @@ -65,7 +65,7 @@ services: - SE_SESSION_QUEUE_PORT=5559 chrome: - image: selenium/node-chrome:4.13.0-20230926 + image: selenium/node-chrome:4.13.0-20231004 shm_size: 2gb depends_on: - selenium-event-bus @@ -75,7 +75,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.13.0-20230926 + image: selenium/node-edge:4.13.0-20231004 shm_size: 2gb depends_on: - selenium-event-bus @@ -85,7 +85,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.13.0-20230926 + image: selenium/node-firefox:4.13.0-20231004 shm_size: 2gb depends_on: - selenium-event-bus diff --git a/docker-compose-v3-swarm.yml b/docker-compose-v3-swarm.yml index d9c135ee7..998810485 100644 --- a/docker-compose-v3-swarm.yml +++ b/docker-compose-v3-swarm.yml @@ -7,7 +7,7 @@ version: '3.7' services: chrome: - image: selenium/node-chrome:4.13.0-20230926 + image: selenium/node-chrome:4.13.0-20231004 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -18,7 +18,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' edge: - image: selenium/node-edge:4.13.0-20230926 + image: selenium/node-edge:4.13.0-20231004 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -29,7 +29,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' firefox: - image: selenium/node-firefox:4.13.0-20230926 + image: selenium/node-firefox:4.13.0-20231004 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -40,7 +40,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' selenium-hub: - image: selenium/hub:4.13.0-20230926 + image: selenium/hub:4.13.0-20231004 ports: - "4442:4442" - "4443:4443" diff --git a/docker-compose-v3-tracing.yml b/docker-compose-v3-tracing.yml index 8279b1089..d518b02ca 100644 --- a/docker-compose-v3-tracing.yml +++ b/docker-compose-v3-tracing.yml @@ -9,7 +9,7 @@ services: - "16686:16686" - "14250:14250" chrome: - image: selenium/node-chrome:4.13.0-20230926 + image: selenium/node-chrome:4.13.0-20231004 shm_size: 2gb depends_on: - selenium-hub @@ -21,7 +21,7 @@ services: - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-chrome edge: - image: selenium/node-edge:4.13.0-20230926 + image: selenium/node-edge:4.13.0-20231004 shm_size: 2gb depends_on: - selenium-hub @@ -33,7 +33,7 @@ services: - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-edge firefox: - image: selenium/node-firefox:4.13.0-20230926 + image: selenium/node-firefox:4.13.0-20231004 shm_size: 2gb depends_on: - selenium-hub @@ -45,7 +45,7 @@ services: - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-firefox selenium-hub: - image: selenium/hub:4.13.0-20230926 + image: selenium/hub:4.13.0-20231004 container_name: selenium-hub ports: - "4442:4442" diff --git a/docker-compose-v3-video.yml b/docker-compose-v3-video.yml index cd7640d52..c5515d358 100644 --- a/docker-compose-v3-video.yml +++ b/docker-compose-v3-video.yml @@ -4,7 +4,7 @@ version: "3" services: chrome: - image: selenium/node-chrome:4.13.0-20230926 + image: selenium/node-chrome:4.13.0-20231004 shm_size: 2gb depends_on: - selenium-hub @@ -14,7 +14,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.13.0-20230926 + image: selenium/node-edge:4.13.0-20231004 shm_size: 2gb depends_on: - selenium-hub @@ -24,7 +24,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.13.0-20230926 + image: selenium/node-firefox:4.13.0-20231004 shm_size: 2gb depends_on: - selenium-hub @@ -34,7 +34,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 chrome_video: - image: selenium/video:ffmpeg-4.3.1-20230926 + image: selenium/video:ffmpeg-4.3.1-20231004 volumes: - /tmp/videos:/videos depends_on: @@ -44,7 +44,7 @@ services: - FILE_NAME=chrome_video.mp4 edge_video: - image: selenium/video:ffmpeg-4.3.1-20230926 + image: selenium/video:ffmpeg-4.3.1-20231004 volumes: - /tmp/videos:/videos depends_on: @@ -54,7 +54,7 @@ services: - FILE_NAME=edge_video.mp4 firefox_video: - image: selenium/video:ffmpeg-4.3.1-20230926 + image: selenium/video:ffmpeg-4.3.1-20231004 volumes: - /tmp/videos:/videos depends_on: @@ -64,7 +64,7 @@ services: - FILE_NAME=firefox_video.mp4 selenium-hub: - image: selenium/hub:4.13.0-20230926 + image: selenium/hub:4.13.0-20231004 container_name: selenium-hub ports: - "4442:4442" diff --git a/docker-compose-v3.yml b/docker-compose-v3.yml index 04ca2d235..25bfeb079 100644 --- a/docker-compose-v3.yml +++ b/docker-compose-v3.yml @@ -4,7 +4,7 @@ version: "3" services: chrome: - image: selenium/node-chrome:4.13.0-20230926 + image: selenium/node-chrome:4.13.0-20231004 shm_size: 2gb depends_on: - selenium-hub @@ -14,7 +14,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.13.0-20230926 + image: selenium/node-edge:4.13.0-20231004 shm_size: 2gb depends_on: - selenium-hub @@ -24,7 +24,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.13.0-20230926 + image: selenium/node-firefox:4.13.0-20231004 shm_size: 2gb depends_on: - selenium-hub @@ -34,7 +34,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-hub: - image: selenium/hub:4.13.0-20230926 + image: selenium/hub:4.13.0-20231004 container_name: selenium-hub ports: - "4442:4442" From 69d9349c6eefcdcaa9b899547caceb86f9f7998d Mon Sep 17 00:00:00 2001 From: Diego Molina Date: Wed, 4 Oct 2023 23:05:15 +0200 Subject: [PATCH 10/84] Bumping Chart version --- charts/selenium-grid/CHANGELOG.md | 11 ++++++++++- charts/selenium-grid/Chart.yaml | 4 ++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/charts/selenium-grid/CHANGELOG.md b/charts/selenium-grid/CHANGELOG.md index 713c817c0..d5f29a28d 100644 --- a/charts/selenium-grid/CHANGELOG.md +++ b/charts/selenium-grid/CHANGELOG.md @@ -2,11 +2,20 @@ All notable changes to this helm chart will be documented in this file. -## :heavy_check_mark: 0.21.3 +## :heavy_check_mark: 0.22.0 + +### Added +- feat(keda): bumped up keda 2.12.0 (#1960) :: Amar Deep Singh +- Add missing Ingress namespace field (#1966) :: Cody Lent ### Changed - Update image tag to 4.13.0-20231004 +## :heavy_check_mark: 0.21.3 + +### Changed +- Update image tag to 4.13.0-20230926 + ## :heavy_check_mark: 0.21.2 ### Changed diff --git a/charts/selenium-grid/Chart.yaml b/charts/selenium-grid/Chart.yaml index 900f83857..f11aa98e0 100644 --- a/charts/selenium-grid/Chart.yaml +++ b/charts/selenium-grid/Chart.yaml @@ -2,8 +2,8 @@ apiVersion: v2 name: selenium-grid description: A Helm chart for creating a Selenium Grid Server in Kubernetes type: application -version: 0.21.3 -appVersion: 4.13.0-20230926 +version: 0.22.0 +appVersion: 4.13.0-20231004 icon: https://github.com/SeleniumHQ/docker-selenium/raw/trunk/logo.png dependencies: - repository: https://kedacore.github.io/charts From cefee2af4be71abc3cb08b5f9904dd85d2180621 Mon Sep 17 00:00:00 2001 From: Luis Correia Date: Mon, 16 Oct 2023 14:20:39 +0100 Subject: [PATCH 11/84] Bump images to 4.14.1 (#1970) [deploy] --- Base/Dockerfile | 4 +--- tests/bootstrap.sh | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/Base/Dockerfile b/Base/Dockerfile index 8e11c4e5c..16a2d0dbc 100644 --- a/Base/Dockerfile +++ b/Base/Dockerfile @@ -73,10 +73,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.13.0/selenium-server-4.13.0.jar \ + && wget --no-verbose https://github.com/SeleniumHQ/selenium/releases/download/selenium-4.14.0/selenium-server-4.14.1.jar \ -O /opt/selenium/selenium-server.jar \ - && wget --no-verbose https://repo1.maven.org/maven2/org/seleniumhq/selenium/selenium-http-jdk-client/4.13.0/selenium-http-jdk-client-4.13.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 diff --git a/tests/bootstrap.sh b/tests/bootstrap.sh index 48faecfd7..fad306dfd 100755 --- a/tests/bootstrap.sh +++ b/tests/bootstrap.sh @@ -7,7 +7,7 @@ if [ "${CI:-false}" = "false" ]; then source docker-selenium-tests/bin/activate fi -python -m pip install selenium==4.13.0 \ +python -m pip install selenium==4.14.0 \ docker===6.1.3 \ | grep -v 'Requirement already satisfied' From 37fb389d610246ef365190537936aed0fa57e142 Mon Sep 17 00:00:00 2001 From: Selenium CI Bot Date: Mon, 16 Oct 2023 13:39:54 +0000 Subject: [PATCH 12/84] Update tag in docs and files [skip ci] --- .github/ISSUE_TEMPLATE/bug_report.yml | 2 +- NodeDocker/config.toml | 8 +- README.md | 134 ++++++++++++------------ charts/selenium-grid/CHANGELOG.md | 2 +- charts/selenium-grid/README.md | 10 +- charts/selenium-grid/values.yaml | 22 ++-- docker-compose-v2-tracing.yml | 8 +- docker-compose-v2.yml | 8 +- docker-compose-v3-basicauth.yml | 8 +- docker-compose-v3-dev.yml | 8 +- docker-compose-v3-dynamic-grid.yml | 4 +- docker-compose-v3-full-grid-dev.yml | 16 +-- docker-compose-v3-full-grid-swarm.yml | 8 +- docker-compose-v3-full-grid-tracing.yml | 16 +-- docker-compose-v3-full-grid.yml | 16 +-- docker-compose-v3-swarm.yml | 8 +- docker-compose-v3-tracing.yml | 8 +- docker-compose-v3-video.yml | 14 +-- docker-compose-v3.yml | 8 +- 19 files changed, 154 insertions(+), 154 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 6d3b78a11..1a575229c 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -55,6 +55,6 @@ body: attributes: label: Docker Selenium version (tag) description: What version of Docker Selenium are you using? - placeholder: 4.13.0-20231004? Please use the full tag, avoid "latest" + placeholder: 4.14.1-20231016? Please use the full tag, avoid "latest" validations: required: true \ No newline at end of file diff --git a/NodeDocker/config.toml b/NodeDocker/config.toml index c7b6a5567..6bb86f33c 100644 --- a/NodeDocker/config.toml +++ b/NodeDocker/config.toml @@ -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.13.0-20231004", '{"browserName": "firefox", "platformName": "linux"}', - "selenium/standalone-chrome:4.13.0-20231004", '{"browserName": "chrome", "platformName": "linux"}', - "selenium/standalone-edge:4.13.0-20231004", '{"browserName": "MicrosoftEdge", "platformName": "linux"}' + "selenium/standalone-firefox:4.14.1-20231016", '{"browserName": "firefox", "platformName": "linux"}', + "selenium/standalone-chrome:4.14.1-20231016", '{"browserName": "chrome", "platformName": "linux"}', + "selenium/standalone-edge:4.14.1-20231016", '{"browserName": "MicrosoftEdge", "platformName": "linux"}' ] # URL for connecting to the docker daemon @@ -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-20231004" +video-image = "selenium/video:ffmpeg-4.3.1-20231016" # Uncomment the following section if you are running the node on a separate VM # Fill out the placeholders with appropriate values diff --git a/README.md b/README.md index 2cbfd8060..6c61a868b 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ The project is made possible by volunteer contributors who have put in thousands and made the source code freely available under the [Apache License 2.0](LICENSE.md). These Docker images come with a handful of tags to simplify its usage, have a look at them in one of -our [releases](https://github.com/SeleniumHQ/docker-selenium/releases/tag/4.13.0-20231004). +our [releases](https://github.com/SeleniumHQ/docker-selenium/releases/tag/4.14.1-20231016). To get notifications of new releases, add yourself as a "Releases only" watcher. @@ -64,7 +64,7 @@ Talk to us at https://www.selenium.dev/support/ 1. Start a Docker container with Firefox ```bash -docker run -d -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-firefox:4.13.0-20231004 +docker run -d -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-firefox:4.14.1-20231016 ``` 2. Point your WebDriver tests to http://localhost:4444 @@ -251,17 +251,17 @@ For more information on the Dev and Beta channel container images, see the blog ![Firefox](https://raw.githubusercontent.com/alrra/browser-logos/main/src/firefox/firefox_24x24.png) Firefox ```bash -docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-firefox:4.13.0-20231004 +docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-firefox:4.14.1-20231016 ``` ![Chrome](https://raw.githubusercontent.com/alrra/browser-logos/main/src/chrome/chrome_24x24.png) Chrome ```bash -docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-chrome:4.13.0-20231004 +docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-chrome:4.14.1-20231016 ``` ![Edge](https://raw.githubusercontent.com/alrra/browser-logos/main/src/edge/edge_24x24.png) Edge ```bash -docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-edge:4.13.0-20231004 +docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-edge:4.14.1-20231016 ``` _Note: Only one Standalone container can run on port_ `4444` _at the same time._ @@ -280,44 +280,44 @@ A Docker [network](https://docs.docker.com/engine/reference/commandline/network_ ```bash $ docker network create grid -$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.13.0-20231004 +$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.14.1-20231016 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-chrome:4.13.0-20231004 + selenium/node-chrome:4.14.1-20231016 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-edge:4.13.0-20231004 + selenium/node-edge:4.14.1-20231016 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-firefox:4.13.0-20231004 + selenium/node-firefox:4.14.1-20231016 ``` ##### Windows PowerShell ```powershell $ docker network create grid -$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.13.0-20231004 +$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.14.1-20231016 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub ` --shm-size="2g" ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` - selenium/node-chrome:4.13.0-20231004 + selenium/node-chrome:4.14.1-20231016 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub ` --shm-size="2g" ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` - selenium/node-edge:4.13.0-20231004 + selenium/node-edge:4.14.1-20231016 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub ` --shm-size="2g" ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` - selenium/node-firefox:4.13.0-20231004 + selenium/node-firefox:4.14.1-20231016 ``` When you are done using the Grid, and the containers have exited, the network can be removed with the following command: @@ -334,7 +334,7 @@ configured to expose different ports. ##### Hub - Machine/VM 1 ```bash -$ docker run -d -p 4442-4444:4442-4444 --name selenium-hub selenium/hub:4.13.0-20231004 +$ docker run -d -p 4442-4444:4442-4444 --name selenium-hub selenium/hub:4.14.1-20231016 ``` ##### Node Chrome - Machine/VM 2 @@ -348,7 +348,7 @@ $ docker run -d -p 5555:5555 \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ -e SE_NODE_HOST= \ - selenium/node-chrome:4.13.0-20231004 + selenium/node-chrome:4.14.1-20231016 ``` ###### Windows PowerShell @@ -360,7 +360,7 @@ $ docker run -d -p 5555:5555 ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` -e SE_NODE_HOST= ` - selenium/node-chrome:4.13.0-20231004 + selenium/node-chrome:4.14.1-20231016 ``` @@ -375,7 +375,7 @@ $ docker run -d -p 5555:5555 \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ -e SE_NODE_HOST= \ - selenium/node-edge:4.13.0-20231004 + selenium/node-edge:4.14.1-20231016 ``` ###### Windows PowerShell @@ -387,7 +387,7 @@ $ docker run -d -p 5555:5555 ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` -e SE_NODE_HOST= ` - selenium/node-edge:4.13.0-20231004 + selenium/node-edge:4.14.1-20231016 ``` ##### Node Firefox - Machine/VM 4 @@ -401,7 +401,7 @@ $ docker run -d -p 5555:5555 \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ -e SE_NODE_HOST= \ - selenium/node-firefox:4.13.0-20231004 + selenium/node-firefox:4.14.1-20231016 ``` ###### Windows PowerShell @@ -413,7 +413,7 @@ $ docker run -d -p 5555:5555 ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` -e SE_NODE_HOST= ` - selenium/node-firefox:4.13.0-20231004 + selenium/node-firefox:4.14.1-20231016 ``` ##### Node Chrome - Machine/VM 4 @@ -428,7 +428,7 @@ $ docker run -d -p 5556:5556 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ -e SE_NODE_HOST= \ -e SE_NODE_PORT=5556 \ - selenium/node-chrome:4.13.0-20231004 + selenium/node-chrome:4.14.1-20231016 ``` ###### Windows PowerShell @@ -441,7 +441,7 @@ $ docker run -d -p 5556:5556 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` -e SE_NODE_HOST= ` -e SE_NODE_PORT=5556 ` - selenium/node-chrome:4.13.0-20231004 + selenium/node-chrome:4.14.1-20231016 ``` #### Docker Compose @@ -473,7 +473,7 @@ ___ ## Video recording -Tests execution can be recorded by using the `selenium/video:ffmpeg-4.3.1-20231004` +Tests execution can be recorded by using the `selenium/video:ffmpeg-4.3.1-20231016` Docker image. One container is needed per each container where a browser is running. This means if you are running 5 Nodes/Standalone containers, you will need 5 video containers, the mapping is 1-1. @@ -499,8 +499,8 @@ This example shows how to start the containers manually: ``` bash $ docker network create grid -$ docker run -d -p 4444:4444 -p 6900:5900 --net grid --name selenium --shm-size="2g" selenium/standalone-chrome:4.13.0-20231004 -$ docker run -d --net grid --name video -v /tmp/videos:/videos selenium/video:ffmpeg-4.3.1-20231004 +$ docker run -d -p 4444:4444 -p 6900:5900 --net grid --name selenium --shm-size="2g" selenium/standalone-chrome:4.14.1-20231016 +$ docker run -d --net grid --name video -v /tmp/videos:/videos selenium/video:ffmpeg-4.3.1-20231016 # Run your tests $ docker stop video && docker rm video $ docker stop selenium && docker rm selenium @@ -532,9 +532,9 @@ You can save this file locally and name it, for example, `config.toml`. # 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.13.0-20231004", '{"browserName": "firefox"}', - "selenium/standalone-chrome:4.13.0-20231004", '{"browserName": "chrome"}', - "selenium/standalone-edge:4.13.0-20231004", '{"browserName": "MicrosoftEdge"}' + "selenium/standalone-firefox:4.14.1-20231016", '{"browserName": "firefox"}', + "selenium/standalone-chrome:4.14.1-20231016", '{"browserName": "chrome"}', + "selenium/standalone-edge:4.14.1-20231016", '{"browserName": "MicrosoftEdge"}' ] # URL for connecting to the docker daemon @@ -547,7 +547,7 @@ configs = [ # Linux: varies from machine to machine, please mount /var/run/docker.sock. If this does not work, please create an issue. url = "http://127.0.0.1:2375" # Docker image used for video recording -video-image = "selenium/video:ffmpeg-4.3.1-20231004" +video-image = "selenium/video:ffmpeg-4.3.1-20231016" # Uncomment the following section if you are running the node on a separate VM # Fill out the placeholders with appropriate values @@ -566,28 +566,28 @@ virtual machines. ```bash $ docker network create grid -$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.13.0-20231004 +$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.14.1-20231016 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ -v ${PWD}/config.toml:/opt/bin/config.toml \ -v ${PWD}/assets:/opt/selenium/assets \ -v /var/run/docker.sock:/var/run/docker.sock \ - selenium/node-docker:4.13.0-20231004 + selenium/node-docker:4.14.1-20231016 ``` #### Windows PowerShell ```powershell $ docker network create grid -$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.13.0-20231004 +$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.14.1-20231016 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` -v ${PWD}/config.toml:/opt/bin/config.toml ` -v ${PWD}/assets:/opt/selenium/assets ` -v /var/run/docker.sock:/var/run/docker.sock ` - selenium/node-docker:4.13.0-20231004 + selenium/node-docker:4.14.1-20231016 ``` To have the assets saved on your host, please mount your host path to `/opt/selenium/assets`. @@ -608,7 +608,7 @@ docker run --rm --name selenium-docker -p 4444:4444 \ -v ${PWD}/config.toml:/opt/bin/config.toml \ -v ${PWD}/assets:/opt/selenium/assets \ -v /var/run/docker.sock:/var/run/docker.sock \ - selenium/standalone-docker:4.13.0-20231004 + selenium/standalone-docker:4.14.1-20231016 ``` #### Windows PowerShell @@ -618,7 +618,7 @@ docker run --rm --name selenium-docker -p 4444:4444 ` -v ${PWD}/config.toml:/opt/bin/config.toml ` -v ${PWD}/assets:/opt/selenium/assets ` -v /var/run/docker.sock:/var/run/docker.sock ` - selenium/standalone-docker:4.13.0-20231004 + selenium/standalone-docker:4.14.1-20231016 ``` ### Using Dynamic Grid in different machines/VMs @@ -626,7 +626,7 @@ docker run --rm --name selenium-docker -p 4444:4444 ` #### Hub - Machine/VM 1 ```bash -$ docker run -d -p 4442-4444:4442-4444 --name selenium-hub selenium/hub:4.13.0-20231004 +$ docker run -d -p 4442-4444:4442-4444 --name selenium-hub selenium/hub:4.14.1-20231016 ``` #### Node Chrome - Machine/VM 2 @@ -641,7 +641,7 @@ $ docker run -d -p 5555:5555 \ -v ${PWD}/config.toml:/opt/bin/config.toml \ -v ${PWD}/assets:/opt/selenium/assets \ -v /var/run/docker.sock:/var/run/docker.sock \ - selenium/node-docker:4.13.0-20231004 + selenium/node-docker:4.14.1-20231016 ``` #### Windows PowerShell @@ -654,7 +654,7 @@ $ docker run -d -p 5555:5555 ` -v ${PWD}/config.toml:/opt/bin/config.toml ` -v ${PWD}/assets:/opt/selenium/assets ` -v /var/run/docker.sock:/var/run/docker.sock ` - selenium/node-docker:4.13.0-20231004 + selenium/node-docker:4.14.1-20231016 ``` Complete the `[server]` section in the `config.toml` file. @@ -663,9 +663,9 @@ Complete the `[server]` section in the `config.toml` file. # 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.13.0-20231004", "{\"browserName\": \"firefox\"}", - "selenium/standalone-chrome:4.13.0-20231004", "{\"browserName\": \"chrome\"}", - "selenium/standalone-edge:4.13.0-20231004", "{\"browserName\": \"MicrosoftEdge\"}" + "selenium/standalone-firefox:4.14.1-20231016", "{\"browserName\": \"firefox\"}", + "selenium/standalone-chrome:4.14.1-20231016", "{\"browserName\": \"chrome\"}", + "selenium/standalone-edge:4.14.1-20231016", "{\"browserName\": \"MicrosoftEdge\"}" ] # URL for connecting to the docker daemon @@ -678,7 +678,7 @@ configs = [ # Linux: varies from machine to machine, please mount /var/run/docker.sock. If this does not work, please create an issue. url = "http://127.0.0.1:2375" # Docker image used for video recording -video-image = "selenium/video:ffmpeg-4.3.1-20231004" +video-image = "selenium/video:ffmpeg-4.3.1-20231016" # Uncomment the following section if you are running the node on a separate VM # Fill out the placeholders with appropriate values @@ -712,7 +712,7 @@ docker run --rm --name selenium-docker -p 4444:4444 \ -v ${PWD}/config.toml:/opt/bin/config.toml \ -v ${PWD}/assets:/opt/selenium/assets \ -v /var/run/docker.sock:/var/run/docker.sock \ - selenium/standalone-docker:4.13.0-20231004 + selenium/standalone-docker:4.14.1-20231016 ``` #### Windows PowerShell @@ -723,7 +723,7 @@ docker run --rm --name selenium-docker -p 4444:4444 ` -v ${PWD}/config.toml:/opt/bin/config.toml ` -v ${PWD}/assets:/opt/selenium/assets ` -v /var/run/docker.sock:/var/run/docker.sock ` - selenium/standalone-docker:4.13.0-20231004 + selenium/standalone-docker:4.14.1-20231016 ``` @@ -761,7 +761,7 @@ ___ You can pass `SE_OPTS` variable with additional command line parameters for starting a hub or a node. ``` bash -$ docker run -d -p 4444:4444 -e SE_OPTS="--log-level FINE" --name selenium-hub selenium/hub:4.13.0-20231004 +$ docker run -d -p 4444:4444 -e SE_OPTS="--log-level FINE" --name selenium-hub selenium/hub:4.14.1-20231016 ``` ### SE_JAVA_OPTS Java Environment Options @@ -769,7 +769,7 @@ $ docker run -d -p 4444:4444 -e SE_OPTS="--log-level FINE" --name selenium-hub s You can pass `SE_JAVA_OPTS` environment variable to the Java process. ``` bash -$ docker run -d -p 4444:4444 -e SE_JAVA_OPTS=-Xmx512m --name selenium-hub selenium/hub:4.13.0-20231004 +$ docker run -d -p 4444:4444 -e SE_JAVA_OPTS=-Xmx512m --name selenium-hub selenium/hub:4.14.1-20231016 ``` ### Node configuration options @@ -791,7 +791,7 @@ $ docker run -d \ -e SE_EVENT_BUS_HOST= \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 -e SE_NODE_STEREOTYPE="{\"browserName\":\"${SE_NODE_BROWSER_NAME}\",\"browserVersion\":\"${SE_NODE_BROWSER_VERSION}\",\"platformName\": \"Linux\"}" \ - --shm-size="2g" selenium/node-chrome:4.13.0-20231004 + --shm-size="2g" selenium/node-chrome:4.14.1-20231016 ``` ### Setting Sub Path @@ -810,7 +810,7 @@ These settings can be adjusted by specifying `SE_SCREEN_WIDTH`, `SE_SCREEN_HEIGH environmental variables when starting the container. ``` bash -docker run -d -e SE_SCREEN_WIDTH=1366 -e SE_SCREEN_HEIGHT=768 -e SE_SCREEN_DEPTH=24 -e SE_SCREEN_DPI=74 selenium/standalone-firefox:4.13.0-20231004 +docker run -d -e SE_SCREEN_WIDTH=1366 -e SE_SCREEN_HEIGHT=768 -e SE_SCREEN_DEPTH=24 -e SE_SCREEN_DPI=74 selenium/standalone-firefox:4.14.1-20231016 ``` ### Grid Url and Session Timeout @@ -860,7 +860,7 @@ To avoid starting the server you can set the `START_XVFB` environment variable t ``` bash $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ - -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 -e START_XVFB=false --shm-size="2g" selenium/node-chrome:4.13.0-20231004 + -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 -e START_XVFB=false --shm-size="2g" selenium/node-chrome:4.14.1-20231016 ``` For more information, see this GitHub [issue](https://github.com/SeleniumHQ/docker-selenium/issues/567). @@ -873,7 +873,7 @@ pod and then scale a new one after N sessions. Set the environment variable `SE_ a value higher than zero to enable this behaviour. ``` bash -$ docker run -e SE_DRAIN_AFTER_SESSION_COUNT=5 --shm-size="2g" selenium/standalone-firefox:4.13.0-20231004 +$ docker run -e SE_DRAIN_AFTER_SESSION_COUNT=5 --shm-size="2g" selenium/standalone-firefox:4.14.1-20231016 ``` With the previous command, the Standalone container will shut down after 5 sessions have been executed. @@ -965,22 +965,22 @@ $ docker network create grid $ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub \ --health-cmd='/opt/bin/check-grid.sh --host 0.0.0.0 --port 4444' \ --health-interval=15s --health-timeout=30s --health-retries=5 \ - selenium/hub:4.13.0-20231004 + selenium/hub:4.14.1-20231016 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-chrome:4.13.0-20231004 + selenium/node-chrome:4.14.1-20231016 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-edge:4.13.0-20231004 + selenium/node-edge:4.14.1-20231016 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-firefox:4.13.0-20231004 + selenium/node-firefox:4.14.1-20231016 ``` **Note:** The `\` line delimiter won't work on Windows-based terminals, try either `^` or a backtick. @@ -1113,7 +1113,7 @@ RUN mkdir -p -m755 /seluser/.pki/nssdb \ && chown -R 1200:1201 /seluser # Start from Selenium image and add relevant files from build image -FROM selenium/node-chrome:4.13.0-20231004 +FROM selenium/node-chrome:4.14.1-20231016 USER root COPY --from=build /seluser/ /home/seluser/ USER seluser @@ -1128,7 +1128,7 @@ RUN mkdir -p "/distribution" "/certs" && \ echo '{ "policies": { "Certificates": { "Install": ["/opt/firefox-latest/YOUR_CA.pem"] }} }' >"/distribution/policies.json" # Start from Selenium image and add relevant files from build image -FROM selenium/node-firefox:4.13.0-20231004 +FROM selenium/node-firefox:4.14.1-20231016 USER root COPY --from=build /certs /opt/firefox-latest COPY --from=build /distribution /opt/firefox-latest/distribution @@ -1151,9 +1151,9 @@ You can override it with the `SE_VNC_PORT` environment variable in case you want Here is an example with the standalone images, the same concept applies to the node images. ``` bash -$ docker run -d -p 4444:4444 -p 5900:5900 --shm-size="2g" selenium/standalone-chrome:4.13.0-20231004 -$ docker run -d -p 4445:4444 -p 5901:5900 --shm-size="2g" selenium/standalone-edge:4.13.0-20231004 -$ docker run -d -p 4446:4444 -p 5902:5900 --shm-size="2g" selenium/standalone-firefox:4.13.0-20231004 +$ docker run -d -p 4444:4444 -p 5900:5900 --shm-size="2g" selenium/standalone-chrome:4.14.1-20231016 +$ docker run -d -p 4445:4444 -p 5901:5900 --shm-size="2g" selenium/standalone-edge:4.14.1-20231016 +$ docker run -d -p 4446:4444 -p 5902:5900 --shm-size="2g" selenium/standalone-firefox:4.14.1-20231016 ``` Then, you would use in your VNC client: @@ -1179,9 +1179,9 @@ You can also override it with the `SE_NO_VNC_PORT` environment variable in case Here is an example with the standalone images, the same concept applies to the node images. ``` bash -$ docker run -d -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-chrome:4.13.0-20231004 -$ docker run -d -p 4445:4444 -p 7901:7900 --shm-size="2g" selenium/standalone-edge:4.13.0-20231004 -$ docker run -d -p 4446:4444 -p 7902:7900 --shm-size="2g" selenium/standalone-firefox:4.13.0-20231004 +$ docker run -d -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-chrome:4.14.1-20231016 +$ docker run -d -p 4445:4444 -p 7901:7900 --shm-size="2g" selenium/standalone-edge:4.14.1-20231016 +$ docker run -d -p 4446:4444 -p 7902:7900 --shm-size="2g" selenium/standalone-firefox:4.14.1-20231016 ``` Then, you would use in your browser: @@ -1206,28 +1206,28 @@ In order to enable tracing in the Selenium Grid container, the following command ```bash docker network create grid docker run -d -p 16686:16686 -p 14250:14250 --net grid --name jaeger jaegertracing/all-in-one:1.17 -docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.13.0-20231004 +docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.14.1-20231016 docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_ENABLE_TRACING=true \ -e JAVA_OPTS="-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-hub" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-chrome:4.13.0-20231004 + selenium/node-chrome:4.14.1-20231016 docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_ENABLE_TRACING=true \ -e JAVA_OPTS="-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-edge" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-edge:4.13.0-20231004 + selenium/node-edge:4.14.1-20231016 docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_ENABLE_TRACING=true \ -e JAVA_OPTS="-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-firefox" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-firefox:4.13.0-20231004 + selenium/node-firefox:4.14.1-20231016 ``` You can also refer to the below docker-compose yaml files to be able to start a simple grid (or) a dynamic grid. @@ -1287,7 +1287,7 @@ container in the following way: ```bash docker run -d -p 4444:4444 --shm-size="2g" \ -v /home/ubuntu/files:/home/seluser/files \ - selenium/standalone-chrome:4.13.0-20231004 + selenium/standalone-chrome:4.14.1-20231016 ``` That will mount the host `/home/ubuntu/files` directory diff --git a/charts/selenium-grid/CHANGELOG.md b/charts/selenium-grid/CHANGELOG.md index d5f29a28d..957ef7c41 100644 --- a/charts/selenium-grid/CHANGELOG.md +++ b/charts/selenium-grid/CHANGELOG.md @@ -9,7 +9,7 @@ All notable changes to this helm chart will be documented in this file. - Add missing Ingress namespace field (#1966) :: Cody Lent ### Changed -- Update image tag to 4.13.0-20231004 +- Update image tag to 4.14.1-20231016 ## :heavy_check_mark: 0.21.3 diff --git a/charts/selenium-grid/README.md b/charts/selenium-grid/README.md index 0e0a026dc..61b340960 100644 --- a/charts/selenium-grid/README.md +++ b/charts/selenium-grid/README.md @@ -83,8 +83,8 @@ For now, global configuration supported is: | Parameter | Default | Description | |---------------------------------------|-------------------|---------------------------------------| -| `global.seleniumGrid.imageTag` | `4.13.0-20231004` | Image tag for all selenium components | -| `global.seleniumGrid.nodesImageTag` | `4.13.0-20231004` | Image tag for browser's nodes | +| `global.seleniumGrid.imageTag` | `4.14.1-20231016` | Image tag for all selenium components | +| `global.seleniumGrid.nodesImageTag` | `4.14.1-20231016` | Image tag for browser's nodes | | `global.seleniumGrid.imagePullSecret` | `""` | Pull secret to be used for all images | | `global.seleniumGrid.imagePullSecret` | `""` | Pull secret to be used for all images | | `global.seleniumGrid.affinity` | `{}` | Affinity assigned globally | @@ -116,7 +116,7 @@ This table contains the configuration parameters of the chart and their default | `chromeNode.deploymentEnabled` | `true` | Enable creation of Deployment for chrome nodes | | `chromeNode.replicas` | `1` | Number of chrome nodes. Disabled if autoscaling is enabled. | | `chromeNode.imageName` | `selenium/node-chrome` | Image of chrome nodes | -| `chromeNode.imageTag` | `4.13.0-20231004` | Image of chrome nodes | +| `chromeNode.imageTag` | `4.14.1-20231016` | Image of chrome nodes | | `chromeNode.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | | `chromeNode.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | | `chromeNode.ports` | `[5555]` | Port list to enable on container | @@ -152,7 +152,7 @@ This table contains the configuration parameters of the chart and their default | `firefoxNode.deploymentEnabled` | `true` | Enable creation of Deployment for firefox nodes | | `firefoxNode.replicas` | `1` | Number of firefox nodes. Disabled if autoscaling is enabled. | | `firefoxNode.imageName` | `selenium/node-firefox` | Image of firefox nodes | -| `firefoxNode.imageTag` | `4.13.0-20231004` | Image of firefox nodes | +| `firefoxNode.imageTag` | `4.14.1-20231016` | Image of firefox nodes | | `firefoxNode.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | | `firefoxNode.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | | `firefoxNode.ports` | `[5555]` | Port list to enable on container | @@ -188,7 +188,7 @@ This table contains the configuration parameters of the chart and their default | `edgeNode.deploymentEnabled` | `true` | Enable creation of Deployment for edge nodes | | `edgeNode.replicas` | `1` | Number of edge nodes. Disabled if autoscaling is enabled. | | `edgeNode.imageName` | `selenium/node-edge` | Image of edge nodes | -| `edgeNode.imageTag` | `4.13.0-20231004` | Image of edge nodes | +| `edgeNode.imageTag` | `4.14.1-20231016` | Image of edge nodes | | `edgeNode.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | | `edgeNode.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | | `edgeNode.ports` | `[5555]` | Port list to enable on container | diff --git a/charts/selenium-grid/values.yaml b/charts/selenium-grid/values.yaml index 38c11087a..4eb779521 100644 --- a/charts/selenium-grid/values.yaml +++ b/charts/selenium-grid/values.yaml @@ -1,9 +1,9 @@ global: seleniumGrid: # Image tag for all selenium components - imageTag: 4.13.0-20231004 + imageTag: 4.14.1-20231016 # Image tag for browser's nodes - nodesImageTag: 4.13.0-20231004 + nodesImageTag: 4.14.1-20231016 # Pull secret for all components, can be overridden individually imagePullSecret: "" @@ -61,7 +61,7 @@ components: # Router image name imageName: selenium/router # Router image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.13.0-20231004 + # imageTag: 4.14.1-20231016 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent @@ -112,7 +112,7 @@ components: # Distributor image name imageName: selenium/distributor # Distributor image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.13.0-20231004 + # imageTag: 4.14.1-20231016 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent @@ -143,7 +143,7 @@ components: # Event Bus image name imageName: selenium/event-bus # Event Bus image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.13.0-20231004 + # imageTag: 4.14.1-20231016 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent @@ -178,7 +178,7 @@ components: # Session Map image name imageName: selenium/sessions # Session Map image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.13.0-20231004 + # imageTag: 4.14.1-20231016 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent @@ -208,7 +208,7 @@ components: # Session Queue image name imageName: selenium/session-queue # Session Queue image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.13.0-20231004 + # imageTag: 4.14.1-20231016 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent @@ -258,7 +258,7 @@ hub: # Selenium Hub image name imageName: selenium/hub # Selenium Hub image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.13.0-20231004 + # imageTag: 4.14.1-20231016 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent # Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) @@ -378,7 +378,7 @@ chromeNode: # Image of chrome nodes imageName: selenium/node-chrome # Image of chrome nodes (this overwrites global.seleniumGrid.nodesImageTag) - # imageTag: 4.13.0-20231004 + # imageTag: 4.14.1-20231016 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent # Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) @@ -501,7 +501,7 @@ firefoxNode: # Image of firefox nodes imageName: selenium/node-firefox # Image of firefox nodes (this overwrites global.seleniumGrid.nodesImageTag) - # imageTag: 4.13.0-20231004 + # imageTag: 4.14.1-20231016 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent # Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) @@ -620,7 +620,7 @@ edgeNode: # Image of edge nodes imageName: selenium/node-edge # Image of edge nodes (this overwrites global.seleniumGrid.nodesImageTag) - # imageTag: 4.13.0-20231004 + # imageTag: 4.14.1-20231016 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent # Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) diff --git a/docker-compose-v2-tracing.yml b/docker-compose-v2-tracing.yml index 643534d52..3f4edb717 100644 --- a/docker-compose-v2-tracing.yml +++ b/docker-compose-v2-tracing.yml @@ -9,7 +9,7 @@ services: - "16686:16686" - "14250:14250" chrome: - image: selenium/node-chrome:4.13.0-20231004 + image: selenium/node-chrome:4.14.1-20231016 shm_size: 2gb depends_on: - selenium-hub @@ -23,7 +23,7 @@ services: - "6900:5900" edge: - image: selenium/node-edge:4.13.0-20231004 + image: selenium/node-edge:4.14.1-20231016 shm_size: 2gb depends_on: - selenium-hub @@ -37,7 +37,7 @@ services: - "6901:5900" firefox: - image: selenium/node-firefox:4.13.0-20231004 + image: selenium/node-firefox:4.14.1-20231016 shm_size: 2gb depends_on: - selenium-hub @@ -51,7 +51,7 @@ services: - "6902:5900" selenium-hub: - image: selenium/hub:4.13.0-20231004 + image: selenium/hub:4.14.1-20231016 ports: - "4442:4442" - "4443:4443" diff --git a/docker-compose-v2.yml b/docker-compose-v2.yml index c757a0ec6..a06c16391 100644 --- a/docker-compose-v2.yml +++ b/docker-compose-v2.yml @@ -4,7 +4,7 @@ version: '2' services: chrome: - image: selenium/node-chrome:4.13.0-20231004 + image: selenium/node-chrome:4.14.1-20231016 shm_size: 2gb depends_on: - selenium-hub @@ -16,7 +16,7 @@ services: - "6900:5900" edge: - image: selenium/node-edge:4.13.0-20231004 + image: selenium/node-edge:4.14.1-20231016 shm_size: 2gb depends_on: - selenium-hub @@ -28,7 +28,7 @@ services: - "6901:5900" firefox: - image: selenium/node-firefox:4.13.0-20231004 + image: selenium/node-firefox:4.14.1-20231016 shm_size: 2gb depends_on: - selenium-hub @@ -40,7 +40,7 @@ services: - "6902:5900" selenium-hub: - image: selenium/hub:4.13.0-20231004 + image: selenium/hub:4.14.1-20231016 ports: - "4442:4442" - "4443:4443" diff --git a/docker-compose-v3-basicauth.yml b/docker-compose-v3-basicauth.yml index 58a65eb67..2b7733a87 100644 --- a/docker-compose-v3-basicauth.yml +++ b/docker-compose-v3-basicauth.yml @@ -4,7 +4,7 @@ version: "3" services: chrome: - image: selenium/node-chrome:4.13.0-20231004 + image: selenium/node-chrome:4.14.1-20231016 shm_size: 2gb depends_on: - selenium-hub @@ -14,7 +14,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.13.0-20231004 + image: selenium/node-edge:4.14.1-20231016 shm_size: 2gb depends_on: - selenium-hub @@ -24,7 +24,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.13.0-20231004 + image: selenium/node-firefox:4.14.1-20231016 shm_size: 2gb depends_on: - selenium-hub @@ -34,7 +34,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-hub: - image: selenium/hub:4.13.0-20231004 + image: selenium/hub:4.14.1-20231016 container_name: selenium-hub ports: - "4442:4442" diff --git a/docker-compose-v3-dev.yml b/docker-compose-v3-dev.yml index 53427819d..852d25b6d 100644 --- a/docker-compose-v3-dev.yml +++ b/docker-compose-v3-dev.yml @@ -4,7 +4,7 @@ version: "3" services: chrome: - image: selenium/node-chrome:4.13.0-20231004 + image: selenium/node-chrome:4.14.1-20231016 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar @@ -16,7 +16,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.13.0-20231004 + image: selenium/node-edge:4.14.1-20231016 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar @@ -28,7 +28,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.13.0-20231004 + image: selenium/node-firefox:4.14.1-20231016 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar @@ -40,7 +40,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-hub: - image: selenium/hub:4.13.0-20231004 + image: selenium/hub:4.14.1-20231016 container_name: selenium-hub volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar diff --git a/docker-compose-v3-dynamic-grid.yml b/docker-compose-v3-dynamic-grid.yml index 665255568..6e75a2ace 100644 --- a/docker-compose-v3-dynamic-grid.yml +++ b/docker-compose-v3-dynamic-grid.yml @@ -4,7 +4,7 @@ version: "3" services: node-docker: - image: selenium/node-docker:4.13.0-20231004 + image: selenium/node-docker:4.14.1-20231016 volumes: - ./assets:/opt/selenium/assets - ./NodeDocker/config.toml:/opt/bin/config.toml @@ -17,7 +17,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-hub: - image: selenium/hub:4.13.0-20231004 + image: selenium/hub:4.14.1-20231016 container_name: selenium-hub ports: - "4442:4442" diff --git a/docker-compose-v3-full-grid-dev.yml b/docker-compose-v3-full-grid-dev.yml index d32e18738..3e74238f6 100644 --- a/docker-compose-v3-full-grid-dev.yml +++ b/docker-compose-v3-full-grid-dev.yml @@ -4,7 +4,7 @@ version: "3" services: selenium-event-bus: - image: selenium/event-bus:4.13.0-20231004 + image: selenium/event-bus:4.14.1-20231016 volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar container_name: selenium-event-bus @@ -14,7 +14,7 @@ services: - "5557:5557" selenium-sessions: - image: selenium/sessions:4.13.0-20231004 + image: selenium/sessions:4.14.1-20231016 volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar container_name: selenium-sessions @@ -28,7 +28,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-session-queue: - image: selenium/session-queue:4.13.0-20231004 + image: selenium/session-queue:4.14.1-20231016 volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar container_name: selenium-session-queue @@ -36,7 +36,7 @@ services: - "5559:5559" selenium-distributor: - image: selenium/distributor:4.13.0-20231004 + image: selenium/distributor:4.14.1-20231016 volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar container_name: selenium-distributor @@ -56,7 +56,7 @@ services: - SE_SESSION_QUEUE_PORT=5559 selenium-router: - image: selenium/router:4.13.0-20231004 + image: selenium/router:4.14.1-20231016 volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar container_name: selenium-router @@ -75,7 +75,7 @@ services: - SE_SESSION_QUEUE_PORT=5559 chrome: - image: selenium/node-chrome:4.13.0-20231004 + image: selenium/node-chrome:4.14.1-20231016 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar @@ -87,7 +87,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.13.0-20231004 + image: selenium/node-edge:4.14.1-20231016 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar @@ -99,7 +99,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.13.0-20231004 + image: selenium/node-firefox:4.14.1-20231016 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar diff --git a/docker-compose-v3-full-grid-swarm.yml b/docker-compose-v3-full-grid-swarm.yml index 998810485..f82ebb167 100644 --- a/docker-compose-v3-full-grid-swarm.yml +++ b/docker-compose-v3-full-grid-swarm.yml @@ -7,7 +7,7 @@ version: '3.7' services: chrome: - image: selenium/node-chrome:4.13.0-20231004 + image: selenium/node-chrome:4.14.1-20231016 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -18,7 +18,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' edge: - image: selenium/node-edge:4.13.0-20231004 + image: selenium/node-edge:4.14.1-20231016 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -29,7 +29,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' firefox: - image: selenium/node-firefox:4.13.0-20231004 + image: selenium/node-firefox:4.14.1-20231016 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -40,7 +40,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' selenium-hub: - image: selenium/hub:4.13.0-20231004 + image: selenium/hub:4.14.1-20231016 ports: - "4442:4442" - "4443:4443" diff --git a/docker-compose-v3-full-grid-tracing.yml b/docker-compose-v3-full-grid-tracing.yml index 6dcbcc70f..1020adf6e 100644 --- a/docker-compose-v3-full-grid-tracing.yml +++ b/docker-compose-v3-full-grid-tracing.yml @@ -9,7 +9,7 @@ services: - "16686:16686" - "14250:14250" selenium-event-bus: - image: selenium/event-bus:4.13.0-20231004 + image: selenium/event-bus:4.14.1-20231016 container_name: selenium-event-bus ports: - "4442:4442" @@ -21,7 +21,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-event-bus selenium-sessions: - image: selenium/sessions:4.13.0-20231004 + image: selenium/sessions:4.14.1-20231016 container_name: selenium-sessions ports: - "5556:5556" @@ -34,7 +34,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-sessions selenium-session-queue: - image: selenium/session-queue:4.13.0-20231004 + image: selenium/session-queue:4.14.1-20231016 container_name: selenium-session-queue ports: - "5559:5559" @@ -42,7 +42,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-session-queue selenium-distributor: - image: selenium/distributor:4.13.0-20231004 + image: selenium/distributor:4.14.1-20231016 container_name: selenium-distributor ports: - "5553:5553" @@ -61,7 +61,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-distributor selenium-router: - image: selenium/router:4.13.0-20231004 + image: selenium/router:4.14.1-20231016 container_name: selenium-router ports: - "4444:4444" @@ -79,7 +79,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-router chrome: - image: selenium/node-chrome:4.13.0-20231004 + image: selenium/node-chrome:4.14.1-20231016 shm_size: 2gb depends_on: - selenium-event-bus @@ -90,7 +90,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-chrome edge: - image: selenium/node-edge:4.13.0-20231004 + image: selenium/node-edge:4.14.1-20231016 shm_size: 2gb depends_on: - selenium-event-bus @@ -101,7 +101,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-edge firefox: - image: selenium/node-firefox:4.13.0-20231004 + image: selenium/node-firefox:4.14.1-20231016 shm_size: 2gb depends_on: - selenium-event-bus diff --git a/docker-compose-v3-full-grid.yml b/docker-compose-v3-full-grid.yml index 154cd7a0a..8db87b09c 100644 --- a/docker-compose-v3-full-grid.yml +++ b/docker-compose-v3-full-grid.yml @@ -4,7 +4,7 @@ version: "3" services: selenium-event-bus: - image: selenium/event-bus:4.13.0-20231004 + image: selenium/event-bus:4.14.1-20231016 container_name: selenium-event-bus ports: - "4442:4442" @@ -12,7 +12,7 @@ services: - "5557:5557" selenium-sessions: - image: selenium/sessions:4.13.0-20231004 + image: selenium/sessions:4.14.1-20231016 container_name: selenium-sessions ports: - "5556:5556" @@ -24,13 +24,13 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-session-queue: - image: selenium/session-queue:4.13.0-20231004 + image: selenium/session-queue:4.14.1-20231016 container_name: selenium-session-queue ports: - "5559:5559" selenium-distributor: - image: selenium/distributor:4.13.0-20231004 + image: selenium/distributor:4.14.1-20231016 container_name: selenium-distributor ports: - "5553:5553" @@ -48,7 +48,7 @@ services: - SE_SESSION_QUEUE_PORT=5559 selenium-router: - image: selenium/router:4.13.0-20231004 + image: selenium/router:4.14.1-20231016 container_name: selenium-router ports: - "4444:4444" @@ -65,7 +65,7 @@ services: - SE_SESSION_QUEUE_PORT=5559 chrome: - image: selenium/node-chrome:4.13.0-20231004 + image: selenium/node-chrome:4.14.1-20231016 shm_size: 2gb depends_on: - selenium-event-bus @@ -75,7 +75,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.13.0-20231004 + image: selenium/node-edge:4.14.1-20231016 shm_size: 2gb depends_on: - selenium-event-bus @@ -85,7 +85,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.13.0-20231004 + image: selenium/node-firefox:4.14.1-20231016 shm_size: 2gb depends_on: - selenium-event-bus diff --git a/docker-compose-v3-swarm.yml b/docker-compose-v3-swarm.yml index 998810485..f82ebb167 100644 --- a/docker-compose-v3-swarm.yml +++ b/docker-compose-v3-swarm.yml @@ -7,7 +7,7 @@ version: '3.7' services: chrome: - image: selenium/node-chrome:4.13.0-20231004 + image: selenium/node-chrome:4.14.1-20231016 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -18,7 +18,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' edge: - image: selenium/node-edge:4.13.0-20231004 + image: selenium/node-edge:4.14.1-20231016 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -29,7 +29,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' firefox: - image: selenium/node-firefox:4.13.0-20231004 + image: selenium/node-firefox:4.14.1-20231016 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -40,7 +40,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' selenium-hub: - image: selenium/hub:4.13.0-20231004 + image: selenium/hub:4.14.1-20231016 ports: - "4442:4442" - "4443:4443" diff --git a/docker-compose-v3-tracing.yml b/docker-compose-v3-tracing.yml index d518b02ca..9923b9ada 100644 --- a/docker-compose-v3-tracing.yml +++ b/docker-compose-v3-tracing.yml @@ -9,7 +9,7 @@ services: - "16686:16686" - "14250:14250" chrome: - image: selenium/node-chrome:4.13.0-20231004 + image: selenium/node-chrome:4.14.1-20231016 shm_size: 2gb depends_on: - selenium-hub @@ -21,7 +21,7 @@ services: - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-chrome edge: - image: selenium/node-edge:4.13.0-20231004 + image: selenium/node-edge:4.14.1-20231016 shm_size: 2gb depends_on: - selenium-hub @@ -33,7 +33,7 @@ services: - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-edge firefox: - image: selenium/node-firefox:4.13.0-20231004 + image: selenium/node-firefox:4.14.1-20231016 shm_size: 2gb depends_on: - selenium-hub @@ -45,7 +45,7 @@ services: - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-firefox selenium-hub: - image: selenium/hub:4.13.0-20231004 + image: selenium/hub:4.14.1-20231016 container_name: selenium-hub ports: - "4442:4442" diff --git a/docker-compose-v3-video.yml b/docker-compose-v3-video.yml index c5515d358..7c4743690 100644 --- a/docker-compose-v3-video.yml +++ b/docker-compose-v3-video.yml @@ -4,7 +4,7 @@ version: "3" services: chrome: - image: selenium/node-chrome:4.13.0-20231004 + image: selenium/node-chrome:4.14.1-20231016 shm_size: 2gb depends_on: - selenium-hub @@ -14,7 +14,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.13.0-20231004 + image: selenium/node-edge:4.14.1-20231016 shm_size: 2gb depends_on: - selenium-hub @@ -24,7 +24,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.13.0-20231004 + image: selenium/node-firefox:4.14.1-20231016 shm_size: 2gb depends_on: - selenium-hub @@ -34,7 +34,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 chrome_video: - image: selenium/video:ffmpeg-4.3.1-20231004 + image: selenium/video:ffmpeg-4.3.1-20231016 volumes: - /tmp/videos:/videos depends_on: @@ -44,7 +44,7 @@ services: - FILE_NAME=chrome_video.mp4 edge_video: - image: selenium/video:ffmpeg-4.3.1-20231004 + image: selenium/video:ffmpeg-4.3.1-20231016 volumes: - /tmp/videos:/videos depends_on: @@ -54,7 +54,7 @@ services: - FILE_NAME=edge_video.mp4 firefox_video: - image: selenium/video:ffmpeg-4.3.1-20231004 + image: selenium/video:ffmpeg-4.3.1-20231016 volumes: - /tmp/videos:/videos depends_on: @@ -64,7 +64,7 @@ services: - FILE_NAME=firefox_video.mp4 selenium-hub: - image: selenium/hub:4.13.0-20231004 + image: selenium/hub:4.14.1-20231016 container_name: selenium-hub ports: - "4442:4442" diff --git a/docker-compose-v3.yml b/docker-compose-v3.yml index 25bfeb079..944fe8558 100644 --- a/docker-compose-v3.yml +++ b/docker-compose-v3.yml @@ -4,7 +4,7 @@ version: "3" services: chrome: - image: selenium/node-chrome:4.13.0-20231004 + image: selenium/node-chrome:4.14.1-20231016 shm_size: 2gb depends_on: - selenium-hub @@ -14,7 +14,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.13.0-20231004 + image: selenium/node-edge:4.14.1-20231016 shm_size: 2gb depends_on: - selenium-hub @@ -24,7 +24,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.13.0-20231004 + image: selenium/node-firefox:4.14.1-20231016 shm_size: 2gb depends_on: - selenium-hub @@ -34,7 +34,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-hub: - image: selenium/hub:4.13.0-20231004 + image: selenium/hub:4.14.1-20231016 container_name: selenium-hub ports: - "4442:4442" From eea48b3e5a893073c759eb49ed3d2769d17dda52 Mon Sep 17 00:00:00 2001 From: sebastian haas Date: Mon, 16 Oct 2023 21:28:37 +0200 Subject: [PATCH 13/84] fix issue #1887: affinity rules for helm charts (again) (#1973) fix issue #1887: affinity rules add affinity section to seleniumGrid.podTemplate Co-authored-by: Diego Molina --- charts/selenium-grid/templates/_helpers.tpl | 3 +++ 1 file changed, 3 insertions(+) diff --git a/charts/selenium-grid/templates/_helpers.tpl b/charts/selenium-grid/templates/_helpers.tpl index 694b7a5c9..28eb06224 100644 --- a/charts/selenium-grid/templates/_helpers.tpl +++ b/charts/selenium-grid/templates/_helpers.tpl @@ -175,6 +175,9 @@ template: {{- with .node.nodeSelector }} nodeSelector: {{- toYaml . | nindent 6 }} {{- end }} + {{- with .node.affinity }} + affinity: {{- toYaml . | nindent 6 }} + {{- end }} {{- with .node.tolerations }} tolerations: {{ toYaml . | nindent 4 }} From a6bf0037d3bfd2afd474e10473632071b8cdcd64 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 17 Oct 2023 10:58:13 +0200 Subject: [PATCH 14/84] Bump ad-m/github-push-action from 0.6.0 to 0.8.0 (#1971) Bumps [ad-m/github-push-action](https://github.com/ad-m/github-push-action) from 0.6.0 to 0.8.0. - [Release notes](https://github.com/ad-m/github-push-action/releases) - [Commits](https://github.com/ad-m/github-push-action/compare/40bf560936a8022e68a3c00e7d2abefaf01305a6...d91a481090679876dfc4178fef17f286781251df) --- updated-dependencies: - dependency-name: ad-m/github-push-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/deploy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 41eb5b858..2ba5222d4 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -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 From cf442bfbdb358c90cf073d1a975611248196f55d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 17 Oct 2023 12:01:17 +0200 Subject: [PATCH 15/84] Bump actions/setup-python from 4.7.0 to 4.7.1 (#1965) Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4.7.0 to 4.7.1. - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](https://github.com/actions/setup-python/compare/v4.7.0...v4.7.1) --- updated-dependencies: - dependency-name: actions/setup-python dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/build-test.yml | 2 +- .github/workflows/test-video.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index faef306c6..954ed42f9 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -21,7 +21,7 @@ jobs: - name: Output Docker info run: docker info - name: Set up Python 3.8 - uses: actions/setup-python@v4.7.0 + uses: actions/setup-python@v4.7.1 with: python-version: 3.8 - name: Get branch name (only for push to branch) diff --git a/.github/workflows/test-video.yml b/.github/workflows/test-video.yml index b5de436e2..3e7c34498 100644 --- a/.github/workflows/test-video.yml +++ b/.github/workflows/test-video.yml @@ -18,7 +18,7 @@ jobs: - name: Output Docker info run: docker info - name: Set up Python 3.8 - uses: actions/setup-python@v4.7.0 + uses: actions/setup-python@v4.7.1 with: python-version: 3.8 - name: Get branch name (only for push to branch) From 32ec17317e4909b79188ef69552391ec4a97e39b Mon Sep 17 00:00:00 2001 From: Philippe GRANET Date: Tue, 17 Oct 2023 12:18:25 +0200 Subject: [PATCH 16/84] Adds possibility to set node stereotype in standalone mode (#1967) Report this commit: https://github.com/SeleniumHQ/docker-selenium/commit/9b050198dc8664ce9b8842f9466e02a923e14831 Co-authored-by: Diego Molina --- Standalone/generate_config | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Standalone/generate_config b/Standalone/generate_config index 05f613adb..7809d5256 100755 --- a/Standalone/generate_config +++ b/Standalone/generate_config @@ -41,7 +41,12 @@ elif [[ "${SE_NODE_BROWSER_NAME}" == "MicrosoftEdge" ]]; then SE_NODE_BROWSER_VERSION=$(short_version $(microsoft-edge --version | awk '{print $3}')) fi +if [[ -z "$SE_NODE_STEREOTYPE" ]]; then SE_NODE_STEREOTYPE="{\"browserName\": \"${SE_NODE_BROWSER_NAME}\", \"browserVersion\": \"${SE_NODE_BROWSER_VERSION}\", \"platformName\": \"Linux\"}" +else +SE_NODE_STEREOTYPE="$SE_NODE_STEREOTYPE" +fi + echo "[[node.driver-configuration]]" >> "$FILENAME" echo "display-name = \"${SE_NODE_BROWSER_NAME}\"" >> "$FILENAME" echo "stereotype = '${SE_NODE_STEREOTYPE}'" >> "$FILENAME" From 5c177a7a6fc620d66ecafee33ed0ea0b0b1dc8d6 Mon Sep 17 00:00:00 2001 From: Matt Colman <33348891+mtcolman@users.noreply.github.com> Date: Fri, 20 Oct 2023 15:06:04 +0100 Subject: [PATCH 17/84] Update Dockerfile ubuntu version (#1980) Update Dockerfile updating ubuntu version [deploy] --- Base/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Base/Dockerfile b/Base/Dockerfile index 16a2d0dbc..2c1c1f72d 100644 --- a/Base/Dockerfile +++ b/Base/Dockerfile @@ -1,4 +1,4 @@ -FROM ubuntu:focal-20230801 +FROM ubuntu:focal-20231003 LABEL authors="Selenium " #================================================ From 3a03f97606045b046485a21da8784cc1c271bb74 Mon Sep 17 00:00:00 2001 From: Selenium CI Bot Date: Fri, 20 Oct 2023 14:20:43 +0000 Subject: [PATCH 18/84] Update tag in docs and files [skip ci] --- .github/ISSUE_TEMPLATE/bug_report.yml | 2 +- NodeDocker/config.toml | 8 +- README.md | 134 ++++++++++++------------ charts/selenium-grid/CHANGELOG.md | 2 +- charts/selenium-grid/README.md | 10 +- charts/selenium-grid/values.yaml | 22 ++-- docker-compose-v2-tracing.yml | 8 +- docker-compose-v2.yml | 8 +- docker-compose-v3-basicauth.yml | 8 +- docker-compose-v3-dev.yml | 8 +- docker-compose-v3-dynamic-grid.yml | 4 +- docker-compose-v3-full-grid-dev.yml | 16 +-- docker-compose-v3-full-grid-swarm.yml | 8 +- docker-compose-v3-full-grid-tracing.yml | 16 +-- docker-compose-v3-full-grid.yml | 16 +-- docker-compose-v3-swarm.yml | 8 +- docker-compose-v3-tracing.yml | 8 +- docker-compose-v3-video.yml | 14 +-- docker-compose-v3.yml | 8 +- 19 files changed, 154 insertions(+), 154 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 1a575229c..85283088a 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -55,6 +55,6 @@ body: attributes: label: Docker Selenium version (tag) description: What version of Docker Selenium are you using? - placeholder: 4.14.1-20231016? Please use the full tag, avoid "latest" + placeholder: 4.14.1-20231020? Please use the full tag, avoid "latest" validations: required: true \ No newline at end of file diff --git a/NodeDocker/config.toml b/NodeDocker/config.toml index 6bb86f33c..5ea58b212 100644 --- a/NodeDocker/config.toml +++ b/NodeDocker/config.toml @@ -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.14.1-20231016", '{"browserName": "firefox", "platformName": "linux"}', - "selenium/standalone-chrome:4.14.1-20231016", '{"browserName": "chrome", "platformName": "linux"}', - "selenium/standalone-edge:4.14.1-20231016", '{"browserName": "MicrosoftEdge", "platformName": "linux"}' + "selenium/standalone-firefox:4.14.1-20231020", '{"browserName": "firefox", "platformName": "linux"}', + "selenium/standalone-chrome:4.14.1-20231020", '{"browserName": "chrome", "platformName": "linux"}', + "selenium/standalone-edge:4.14.1-20231020", '{"browserName": "MicrosoftEdge", "platformName": "linux"}' ] # URL for connecting to the docker daemon @@ -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-20231016" +video-image = "selenium/video:ffmpeg-4.3.1-20231020" # Uncomment the following section if you are running the node on a separate VM # Fill out the placeholders with appropriate values diff --git a/README.md b/README.md index 6c61a868b..f2b497a86 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ The project is made possible by volunteer contributors who have put in thousands and made the source code freely available under the [Apache License 2.0](LICENSE.md). These Docker images come with a handful of tags to simplify its usage, have a look at them in one of -our [releases](https://github.com/SeleniumHQ/docker-selenium/releases/tag/4.14.1-20231016). +our [releases](https://github.com/SeleniumHQ/docker-selenium/releases/tag/4.14.1-20231020). To get notifications of new releases, add yourself as a "Releases only" watcher. @@ -64,7 +64,7 @@ Talk to us at https://www.selenium.dev/support/ 1. Start a Docker container with Firefox ```bash -docker run -d -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-firefox:4.14.1-20231016 +docker run -d -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-firefox:4.14.1-20231020 ``` 2. Point your WebDriver tests to http://localhost:4444 @@ -251,17 +251,17 @@ For more information on the Dev and Beta channel container images, see the blog ![Firefox](https://raw.githubusercontent.com/alrra/browser-logos/main/src/firefox/firefox_24x24.png) Firefox ```bash -docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-firefox:4.14.1-20231016 +docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-firefox:4.14.1-20231020 ``` ![Chrome](https://raw.githubusercontent.com/alrra/browser-logos/main/src/chrome/chrome_24x24.png) Chrome ```bash -docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-chrome:4.14.1-20231016 +docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-chrome:4.14.1-20231020 ``` ![Edge](https://raw.githubusercontent.com/alrra/browser-logos/main/src/edge/edge_24x24.png) Edge ```bash -docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-edge:4.14.1-20231016 +docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-edge:4.14.1-20231020 ``` _Note: Only one Standalone container can run on port_ `4444` _at the same time._ @@ -280,44 +280,44 @@ A Docker [network](https://docs.docker.com/engine/reference/commandline/network_ ```bash $ docker network create grid -$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.14.1-20231016 +$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.14.1-20231020 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-chrome:4.14.1-20231016 + selenium/node-chrome:4.14.1-20231020 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-edge:4.14.1-20231016 + selenium/node-edge:4.14.1-20231020 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-firefox:4.14.1-20231016 + selenium/node-firefox:4.14.1-20231020 ``` ##### Windows PowerShell ```powershell $ docker network create grid -$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.14.1-20231016 +$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.14.1-20231020 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub ` --shm-size="2g" ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` - selenium/node-chrome:4.14.1-20231016 + selenium/node-chrome:4.14.1-20231020 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub ` --shm-size="2g" ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` - selenium/node-edge:4.14.1-20231016 + selenium/node-edge:4.14.1-20231020 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub ` --shm-size="2g" ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` - selenium/node-firefox:4.14.1-20231016 + selenium/node-firefox:4.14.1-20231020 ``` When you are done using the Grid, and the containers have exited, the network can be removed with the following command: @@ -334,7 +334,7 @@ configured to expose different ports. ##### Hub - Machine/VM 1 ```bash -$ docker run -d -p 4442-4444:4442-4444 --name selenium-hub selenium/hub:4.14.1-20231016 +$ docker run -d -p 4442-4444:4442-4444 --name selenium-hub selenium/hub:4.14.1-20231020 ``` ##### Node Chrome - Machine/VM 2 @@ -348,7 +348,7 @@ $ docker run -d -p 5555:5555 \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ -e SE_NODE_HOST= \ - selenium/node-chrome:4.14.1-20231016 + selenium/node-chrome:4.14.1-20231020 ``` ###### Windows PowerShell @@ -360,7 +360,7 @@ $ docker run -d -p 5555:5555 ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` -e SE_NODE_HOST= ` - selenium/node-chrome:4.14.1-20231016 + selenium/node-chrome:4.14.1-20231020 ``` @@ -375,7 +375,7 @@ $ docker run -d -p 5555:5555 \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ -e SE_NODE_HOST= \ - selenium/node-edge:4.14.1-20231016 + selenium/node-edge:4.14.1-20231020 ``` ###### Windows PowerShell @@ -387,7 +387,7 @@ $ docker run -d -p 5555:5555 ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` -e SE_NODE_HOST= ` - selenium/node-edge:4.14.1-20231016 + selenium/node-edge:4.14.1-20231020 ``` ##### Node Firefox - Machine/VM 4 @@ -401,7 +401,7 @@ $ docker run -d -p 5555:5555 \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ -e SE_NODE_HOST= \ - selenium/node-firefox:4.14.1-20231016 + selenium/node-firefox:4.14.1-20231020 ``` ###### Windows PowerShell @@ -413,7 +413,7 @@ $ docker run -d -p 5555:5555 ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` -e SE_NODE_HOST= ` - selenium/node-firefox:4.14.1-20231016 + selenium/node-firefox:4.14.1-20231020 ``` ##### Node Chrome - Machine/VM 4 @@ -428,7 +428,7 @@ $ docker run -d -p 5556:5556 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ -e SE_NODE_HOST= \ -e SE_NODE_PORT=5556 \ - selenium/node-chrome:4.14.1-20231016 + selenium/node-chrome:4.14.1-20231020 ``` ###### Windows PowerShell @@ -441,7 +441,7 @@ $ docker run -d -p 5556:5556 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` -e SE_NODE_HOST= ` -e SE_NODE_PORT=5556 ` - selenium/node-chrome:4.14.1-20231016 + selenium/node-chrome:4.14.1-20231020 ``` #### Docker Compose @@ -473,7 +473,7 @@ ___ ## Video recording -Tests execution can be recorded by using the `selenium/video:ffmpeg-4.3.1-20231016` +Tests execution can be recorded by using the `selenium/video:ffmpeg-4.3.1-20231020` Docker image. One container is needed per each container where a browser is running. This means if you are running 5 Nodes/Standalone containers, you will need 5 video containers, the mapping is 1-1. @@ -499,8 +499,8 @@ This example shows how to start the containers manually: ``` bash $ docker network create grid -$ docker run -d -p 4444:4444 -p 6900:5900 --net grid --name selenium --shm-size="2g" selenium/standalone-chrome:4.14.1-20231016 -$ docker run -d --net grid --name video -v /tmp/videos:/videos selenium/video:ffmpeg-4.3.1-20231016 +$ docker run -d -p 4444:4444 -p 6900:5900 --net grid --name selenium --shm-size="2g" selenium/standalone-chrome:4.14.1-20231020 +$ docker run -d --net grid --name video -v /tmp/videos:/videos selenium/video:ffmpeg-4.3.1-20231020 # Run your tests $ docker stop video && docker rm video $ docker stop selenium && docker rm selenium @@ -532,9 +532,9 @@ You can save this file locally and name it, for example, `config.toml`. # 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.14.1-20231016", '{"browserName": "firefox"}', - "selenium/standalone-chrome:4.14.1-20231016", '{"browserName": "chrome"}', - "selenium/standalone-edge:4.14.1-20231016", '{"browserName": "MicrosoftEdge"}' + "selenium/standalone-firefox:4.14.1-20231020", '{"browserName": "firefox"}', + "selenium/standalone-chrome:4.14.1-20231020", '{"browserName": "chrome"}', + "selenium/standalone-edge:4.14.1-20231020", '{"browserName": "MicrosoftEdge"}' ] # URL for connecting to the docker daemon @@ -547,7 +547,7 @@ configs = [ # Linux: varies from machine to machine, please mount /var/run/docker.sock. If this does not work, please create an issue. url = "http://127.0.0.1:2375" # Docker image used for video recording -video-image = "selenium/video:ffmpeg-4.3.1-20231016" +video-image = "selenium/video:ffmpeg-4.3.1-20231020" # Uncomment the following section if you are running the node on a separate VM # Fill out the placeholders with appropriate values @@ -566,28 +566,28 @@ virtual machines. ```bash $ docker network create grid -$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.14.1-20231016 +$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.14.1-20231020 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ -v ${PWD}/config.toml:/opt/bin/config.toml \ -v ${PWD}/assets:/opt/selenium/assets \ -v /var/run/docker.sock:/var/run/docker.sock \ - selenium/node-docker:4.14.1-20231016 + selenium/node-docker:4.14.1-20231020 ``` #### Windows PowerShell ```powershell $ docker network create grid -$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.14.1-20231016 +$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.14.1-20231020 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` -v ${PWD}/config.toml:/opt/bin/config.toml ` -v ${PWD}/assets:/opt/selenium/assets ` -v /var/run/docker.sock:/var/run/docker.sock ` - selenium/node-docker:4.14.1-20231016 + selenium/node-docker:4.14.1-20231020 ``` To have the assets saved on your host, please mount your host path to `/opt/selenium/assets`. @@ -608,7 +608,7 @@ docker run --rm --name selenium-docker -p 4444:4444 \ -v ${PWD}/config.toml:/opt/bin/config.toml \ -v ${PWD}/assets:/opt/selenium/assets \ -v /var/run/docker.sock:/var/run/docker.sock \ - selenium/standalone-docker:4.14.1-20231016 + selenium/standalone-docker:4.14.1-20231020 ``` #### Windows PowerShell @@ -618,7 +618,7 @@ docker run --rm --name selenium-docker -p 4444:4444 ` -v ${PWD}/config.toml:/opt/bin/config.toml ` -v ${PWD}/assets:/opt/selenium/assets ` -v /var/run/docker.sock:/var/run/docker.sock ` - selenium/standalone-docker:4.14.1-20231016 + selenium/standalone-docker:4.14.1-20231020 ``` ### Using Dynamic Grid in different machines/VMs @@ -626,7 +626,7 @@ docker run --rm --name selenium-docker -p 4444:4444 ` #### Hub - Machine/VM 1 ```bash -$ docker run -d -p 4442-4444:4442-4444 --name selenium-hub selenium/hub:4.14.1-20231016 +$ docker run -d -p 4442-4444:4442-4444 --name selenium-hub selenium/hub:4.14.1-20231020 ``` #### Node Chrome - Machine/VM 2 @@ -641,7 +641,7 @@ $ docker run -d -p 5555:5555 \ -v ${PWD}/config.toml:/opt/bin/config.toml \ -v ${PWD}/assets:/opt/selenium/assets \ -v /var/run/docker.sock:/var/run/docker.sock \ - selenium/node-docker:4.14.1-20231016 + selenium/node-docker:4.14.1-20231020 ``` #### Windows PowerShell @@ -654,7 +654,7 @@ $ docker run -d -p 5555:5555 ` -v ${PWD}/config.toml:/opt/bin/config.toml ` -v ${PWD}/assets:/opt/selenium/assets ` -v /var/run/docker.sock:/var/run/docker.sock ` - selenium/node-docker:4.14.1-20231016 + selenium/node-docker:4.14.1-20231020 ``` Complete the `[server]` section in the `config.toml` file. @@ -663,9 +663,9 @@ Complete the `[server]` section in the `config.toml` file. # 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.14.1-20231016", "{\"browserName\": \"firefox\"}", - "selenium/standalone-chrome:4.14.1-20231016", "{\"browserName\": \"chrome\"}", - "selenium/standalone-edge:4.14.1-20231016", "{\"browserName\": \"MicrosoftEdge\"}" + "selenium/standalone-firefox:4.14.1-20231020", "{\"browserName\": \"firefox\"}", + "selenium/standalone-chrome:4.14.1-20231020", "{\"browserName\": \"chrome\"}", + "selenium/standalone-edge:4.14.1-20231020", "{\"browserName\": \"MicrosoftEdge\"}" ] # URL for connecting to the docker daemon @@ -678,7 +678,7 @@ configs = [ # Linux: varies from machine to machine, please mount /var/run/docker.sock. If this does not work, please create an issue. url = "http://127.0.0.1:2375" # Docker image used for video recording -video-image = "selenium/video:ffmpeg-4.3.1-20231016" +video-image = "selenium/video:ffmpeg-4.3.1-20231020" # Uncomment the following section if you are running the node on a separate VM # Fill out the placeholders with appropriate values @@ -712,7 +712,7 @@ docker run --rm --name selenium-docker -p 4444:4444 \ -v ${PWD}/config.toml:/opt/bin/config.toml \ -v ${PWD}/assets:/opt/selenium/assets \ -v /var/run/docker.sock:/var/run/docker.sock \ - selenium/standalone-docker:4.14.1-20231016 + selenium/standalone-docker:4.14.1-20231020 ``` #### Windows PowerShell @@ -723,7 +723,7 @@ docker run --rm --name selenium-docker -p 4444:4444 ` -v ${PWD}/config.toml:/opt/bin/config.toml ` -v ${PWD}/assets:/opt/selenium/assets ` -v /var/run/docker.sock:/var/run/docker.sock ` - selenium/standalone-docker:4.14.1-20231016 + selenium/standalone-docker:4.14.1-20231020 ``` @@ -761,7 +761,7 @@ ___ You can pass `SE_OPTS` variable with additional command line parameters for starting a hub or a node. ``` bash -$ docker run -d -p 4444:4444 -e SE_OPTS="--log-level FINE" --name selenium-hub selenium/hub:4.14.1-20231016 +$ docker run -d -p 4444:4444 -e SE_OPTS="--log-level FINE" --name selenium-hub selenium/hub:4.14.1-20231020 ``` ### SE_JAVA_OPTS Java Environment Options @@ -769,7 +769,7 @@ $ docker run -d -p 4444:4444 -e SE_OPTS="--log-level FINE" --name selenium-hub s You can pass `SE_JAVA_OPTS` environment variable to the Java process. ``` bash -$ docker run -d -p 4444:4444 -e SE_JAVA_OPTS=-Xmx512m --name selenium-hub selenium/hub:4.14.1-20231016 +$ docker run -d -p 4444:4444 -e SE_JAVA_OPTS=-Xmx512m --name selenium-hub selenium/hub:4.14.1-20231020 ``` ### Node configuration options @@ -791,7 +791,7 @@ $ docker run -d \ -e SE_EVENT_BUS_HOST= \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 -e SE_NODE_STEREOTYPE="{\"browserName\":\"${SE_NODE_BROWSER_NAME}\",\"browserVersion\":\"${SE_NODE_BROWSER_VERSION}\",\"platformName\": \"Linux\"}" \ - --shm-size="2g" selenium/node-chrome:4.14.1-20231016 + --shm-size="2g" selenium/node-chrome:4.14.1-20231020 ``` ### Setting Sub Path @@ -810,7 +810,7 @@ These settings can be adjusted by specifying `SE_SCREEN_WIDTH`, `SE_SCREEN_HEIGH environmental variables when starting the container. ``` bash -docker run -d -e SE_SCREEN_WIDTH=1366 -e SE_SCREEN_HEIGHT=768 -e SE_SCREEN_DEPTH=24 -e SE_SCREEN_DPI=74 selenium/standalone-firefox:4.14.1-20231016 +docker run -d -e SE_SCREEN_WIDTH=1366 -e SE_SCREEN_HEIGHT=768 -e SE_SCREEN_DEPTH=24 -e SE_SCREEN_DPI=74 selenium/standalone-firefox:4.14.1-20231020 ``` ### Grid Url and Session Timeout @@ -860,7 +860,7 @@ To avoid starting the server you can set the `START_XVFB` environment variable t ``` bash $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ - -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 -e START_XVFB=false --shm-size="2g" selenium/node-chrome:4.14.1-20231016 + -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 -e START_XVFB=false --shm-size="2g" selenium/node-chrome:4.14.1-20231020 ``` For more information, see this GitHub [issue](https://github.com/SeleniumHQ/docker-selenium/issues/567). @@ -873,7 +873,7 @@ pod and then scale a new one after N sessions. Set the environment variable `SE_ a value higher than zero to enable this behaviour. ``` bash -$ docker run -e SE_DRAIN_AFTER_SESSION_COUNT=5 --shm-size="2g" selenium/standalone-firefox:4.14.1-20231016 +$ docker run -e SE_DRAIN_AFTER_SESSION_COUNT=5 --shm-size="2g" selenium/standalone-firefox:4.14.1-20231020 ``` With the previous command, the Standalone container will shut down after 5 sessions have been executed. @@ -965,22 +965,22 @@ $ docker network create grid $ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub \ --health-cmd='/opt/bin/check-grid.sh --host 0.0.0.0 --port 4444' \ --health-interval=15s --health-timeout=30s --health-retries=5 \ - selenium/hub:4.14.1-20231016 + selenium/hub:4.14.1-20231020 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-chrome:4.14.1-20231016 + selenium/node-chrome:4.14.1-20231020 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-edge:4.14.1-20231016 + selenium/node-edge:4.14.1-20231020 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-firefox:4.14.1-20231016 + selenium/node-firefox:4.14.1-20231020 ``` **Note:** The `\` line delimiter won't work on Windows-based terminals, try either `^` or a backtick. @@ -1113,7 +1113,7 @@ RUN mkdir -p -m755 /seluser/.pki/nssdb \ && chown -R 1200:1201 /seluser # Start from Selenium image and add relevant files from build image -FROM selenium/node-chrome:4.14.1-20231016 +FROM selenium/node-chrome:4.14.1-20231020 USER root COPY --from=build /seluser/ /home/seluser/ USER seluser @@ -1128,7 +1128,7 @@ RUN mkdir -p "/distribution" "/certs" && \ echo '{ "policies": { "Certificates": { "Install": ["/opt/firefox-latest/YOUR_CA.pem"] }} }' >"/distribution/policies.json" # Start from Selenium image and add relevant files from build image -FROM selenium/node-firefox:4.14.1-20231016 +FROM selenium/node-firefox:4.14.1-20231020 USER root COPY --from=build /certs /opt/firefox-latest COPY --from=build /distribution /opt/firefox-latest/distribution @@ -1151,9 +1151,9 @@ You can override it with the `SE_VNC_PORT` environment variable in case you want Here is an example with the standalone images, the same concept applies to the node images. ``` bash -$ docker run -d -p 4444:4444 -p 5900:5900 --shm-size="2g" selenium/standalone-chrome:4.14.1-20231016 -$ docker run -d -p 4445:4444 -p 5901:5900 --shm-size="2g" selenium/standalone-edge:4.14.1-20231016 -$ docker run -d -p 4446:4444 -p 5902:5900 --shm-size="2g" selenium/standalone-firefox:4.14.1-20231016 +$ docker run -d -p 4444:4444 -p 5900:5900 --shm-size="2g" selenium/standalone-chrome:4.14.1-20231020 +$ docker run -d -p 4445:4444 -p 5901:5900 --shm-size="2g" selenium/standalone-edge:4.14.1-20231020 +$ docker run -d -p 4446:4444 -p 5902:5900 --shm-size="2g" selenium/standalone-firefox:4.14.1-20231020 ``` Then, you would use in your VNC client: @@ -1179,9 +1179,9 @@ You can also override it with the `SE_NO_VNC_PORT` environment variable in case Here is an example with the standalone images, the same concept applies to the node images. ``` bash -$ docker run -d -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-chrome:4.14.1-20231016 -$ docker run -d -p 4445:4444 -p 7901:7900 --shm-size="2g" selenium/standalone-edge:4.14.1-20231016 -$ docker run -d -p 4446:4444 -p 7902:7900 --shm-size="2g" selenium/standalone-firefox:4.14.1-20231016 +$ docker run -d -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-chrome:4.14.1-20231020 +$ docker run -d -p 4445:4444 -p 7901:7900 --shm-size="2g" selenium/standalone-edge:4.14.1-20231020 +$ docker run -d -p 4446:4444 -p 7902:7900 --shm-size="2g" selenium/standalone-firefox:4.14.1-20231020 ``` Then, you would use in your browser: @@ -1206,28 +1206,28 @@ In order to enable tracing in the Selenium Grid container, the following command ```bash docker network create grid docker run -d -p 16686:16686 -p 14250:14250 --net grid --name jaeger jaegertracing/all-in-one:1.17 -docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.14.1-20231016 +docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.14.1-20231020 docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_ENABLE_TRACING=true \ -e JAVA_OPTS="-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-hub" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-chrome:4.14.1-20231016 + selenium/node-chrome:4.14.1-20231020 docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_ENABLE_TRACING=true \ -e JAVA_OPTS="-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-edge" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-edge:4.14.1-20231016 + selenium/node-edge:4.14.1-20231020 docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_ENABLE_TRACING=true \ -e JAVA_OPTS="-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-firefox" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-firefox:4.14.1-20231016 + selenium/node-firefox:4.14.1-20231020 ``` You can also refer to the below docker-compose yaml files to be able to start a simple grid (or) a dynamic grid. @@ -1287,7 +1287,7 @@ container in the following way: ```bash docker run -d -p 4444:4444 --shm-size="2g" \ -v /home/ubuntu/files:/home/seluser/files \ - selenium/standalone-chrome:4.14.1-20231016 + selenium/standalone-chrome:4.14.1-20231020 ``` That will mount the host `/home/ubuntu/files` directory diff --git a/charts/selenium-grid/CHANGELOG.md b/charts/selenium-grid/CHANGELOG.md index 957ef7c41..cc890cdf4 100644 --- a/charts/selenium-grid/CHANGELOG.md +++ b/charts/selenium-grid/CHANGELOG.md @@ -9,7 +9,7 @@ All notable changes to this helm chart will be documented in this file. - Add missing Ingress namespace field (#1966) :: Cody Lent ### Changed -- Update image tag to 4.14.1-20231016 +- Update image tag to 4.14.1-20231020 ## :heavy_check_mark: 0.21.3 diff --git a/charts/selenium-grid/README.md b/charts/selenium-grid/README.md index 61b340960..e40a723a0 100644 --- a/charts/selenium-grid/README.md +++ b/charts/selenium-grid/README.md @@ -83,8 +83,8 @@ For now, global configuration supported is: | Parameter | Default | Description | |---------------------------------------|-------------------|---------------------------------------| -| `global.seleniumGrid.imageTag` | `4.14.1-20231016` | Image tag for all selenium components | -| `global.seleniumGrid.nodesImageTag` | `4.14.1-20231016` | Image tag for browser's nodes | +| `global.seleniumGrid.imageTag` | `4.14.1-20231020` | Image tag for all selenium components | +| `global.seleniumGrid.nodesImageTag` | `4.14.1-20231020` | Image tag for browser's nodes | | `global.seleniumGrid.imagePullSecret` | `""` | Pull secret to be used for all images | | `global.seleniumGrid.imagePullSecret` | `""` | Pull secret to be used for all images | | `global.seleniumGrid.affinity` | `{}` | Affinity assigned globally | @@ -116,7 +116,7 @@ This table contains the configuration parameters of the chart and their default | `chromeNode.deploymentEnabled` | `true` | Enable creation of Deployment for chrome nodes | | `chromeNode.replicas` | `1` | Number of chrome nodes. Disabled if autoscaling is enabled. | | `chromeNode.imageName` | `selenium/node-chrome` | Image of chrome nodes | -| `chromeNode.imageTag` | `4.14.1-20231016` | Image of chrome nodes | +| `chromeNode.imageTag` | `4.14.1-20231020` | Image of chrome nodes | | `chromeNode.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | | `chromeNode.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | | `chromeNode.ports` | `[5555]` | Port list to enable on container | @@ -152,7 +152,7 @@ This table contains the configuration parameters of the chart and their default | `firefoxNode.deploymentEnabled` | `true` | Enable creation of Deployment for firefox nodes | | `firefoxNode.replicas` | `1` | Number of firefox nodes. Disabled if autoscaling is enabled. | | `firefoxNode.imageName` | `selenium/node-firefox` | Image of firefox nodes | -| `firefoxNode.imageTag` | `4.14.1-20231016` | Image of firefox nodes | +| `firefoxNode.imageTag` | `4.14.1-20231020` | Image of firefox nodes | | `firefoxNode.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | | `firefoxNode.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | | `firefoxNode.ports` | `[5555]` | Port list to enable on container | @@ -188,7 +188,7 @@ This table contains the configuration parameters of the chart and their default | `edgeNode.deploymentEnabled` | `true` | Enable creation of Deployment for edge nodes | | `edgeNode.replicas` | `1` | Number of edge nodes. Disabled if autoscaling is enabled. | | `edgeNode.imageName` | `selenium/node-edge` | Image of edge nodes | -| `edgeNode.imageTag` | `4.14.1-20231016` | Image of edge nodes | +| `edgeNode.imageTag` | `4.14.1-20231020` | Image of edge nodes | | `edgeNode.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | | `edgeNode.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | | `edgeNode.ports` | `[5555]` | Port list to enable on container | diff --git a/charts/selenium-grid/values.yaml b/charts/selenium-grid/values.yaml index 4eb779521..dce24f9a3 100644 --- a/charts/selenium-grid/values.yaml +++ b/charts/selenium-grid/values.yaml @@ -1,9 +1,9 @@ global: seleniumGrid: # Image tag for all selenium components - imageTag: 4.14.1-20231016 + imageTag: 4.14.1-20231020 # Image tag for browser's nodes - nodesImageTag: 4.14.1-20231016 + nodesImageTag: 4.14.1-20231020 # Pull secret for all components, can be overridden individually imagePullSecret: "" @@ -61,7 +61,7 @@ components: # Router image name imageName: selenium/router # Router image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.14.1-20231016 + # imageTag: 4.14.1-20231020 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent @@ -112,7 +112,7 @@ components: # Distributor image name imageName: selenium/distributor # Distributor image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.14.1-20231016 + # imageTag: 4.14.1-20231020 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent @@ -143,7 +143,7 @@ components: # Event Bus image name imageName: selenium/event-bus # Event Bus image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.14.1-20231016 + # imageTag: 4.14.1-20231020 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent @@ -178,7 +178,7 @@ components: # Session Map image name imageName: selenium/sessions # Session Map image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.14.1-20231016 + # imageTag: 4.14.1-20231020 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent @@ -208,7 +208,7 @@ components: # Session Queue image name imageName: selenium/session-queue # Session Queue image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.14.1-20231016 + # imageTag: 4.14.1-20231020 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent @@ -258,7 +258,7 @@ hub: # Selenium Hub image name imageName: selenium/hub # Selenium Hub image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.14.1-20231016 + # imageTag: 4.14.1-20231020 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent # Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) @@ -378,7 +378,7 @@ chromeNode: # Image of chrome nodes imageName: selenium/node-chrome # Image of chrome nodes (this overwrites global.seleniumGrid.nodesImageTag) - # imageTag: 4.14.1-20231016 + # imageTag: 4.14.1-20231020 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent # Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) @@ -501,7 +501,7 @@ firefoxNode: # Image of firefox nodes imageName: selenium/node-firefox # Image of firefox nodes (this overwrites global.seleniumGrid.nodesImageTag) - # imageTag: 4.14.1-20231016 + # imageTag: 4.14.1-20231020 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent # Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) @@ -620,7 +620,7 @@ edgeNode: # Image of edge nodes imageName: selenium/node-edge # Image of edge nodes (this overwrites global.seleniumGrid.nodesImageTag) - # imageTag: 4.14.1-20231016 + # imageTag: 4.14.1-20231020 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent # Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) diff --git a/docker-compose-v2-tracing.yml b/docker-compose-v2-tracing.yml index 3f4edb717..a1eeec51b 100644 --- a/docker-compose-v2-tracing.yml +++ b/docker-compose-v2-tracing.yml @@ -9,7 +9,7 @@ services: - "16686:16686" - "14250:14250" chrome: - image: selenium/node-chrome:4.14.1-20231016 + image: selenium/node-chrome:4.14.1-20231020 shm_size: 2gb depends_on: - selenium-hub @@ -23,7 +23,7 @@ services: - "6900:5900" edge: - image: selenium/node-edge:4.14.1-20231016 + image: selenium/node-edge:4.14.1-20231020 shm_size: 2gb depends_on: - selenium-hub @@ -37,7 +37,7 @@ services: - "6901:5900" firefox: - image: selenium/node-firefox:4.14.1-20231016 + image: selenium/node-firefox:4.14.1-20231020 shm_size: 2gb depends_on: - selenium-hub @@ -51,7 +51,7 @@ services: - "6902:5900" selenium-hub: - image: selenium/hub:4.14.1-20231016 + image: selenium/hub:4.14.1-20231020 ports: - "4442:4442" - "4443:4443" diff --git a/docker-compose-v2.yml b/docker-compose-v2.yml index a06c16391..2f8423872 100644 --- a/docker-compose-v2.yml +++ b/docker-compose-v2.yml @@ -4,7 +4,7 @@ version: '2' services: chrome: - image: selenium/node-chrome:4.14.1-20231016 + image: selenium/node-chrome:4.14.1-20231020 shm_size: 2gb depends_on: - selenium-hub @@ -16,7 +16,7 @@ services: - "6900:5900" edge: - image: selenium/node-edge:4.14.1-20231016 + image: selenium/node-edge:4.14.1-20231020 shm_size: 2gb depends_on: - selenium-hub @@ -28,7 +28,7 @@ services: - "6901:5900" firefox: - image: selenium/node-firefox:4.14.1-20231016 + image: selenium/node-firefox:4.14.1-20231020 shm_size: 2gb depends_on: - selenium-hub @@ -40,7 +40,7 @@ services: - "6902:5900" selenium-hub: - image: selenium/hub:4.14.1-20231016 + image: selenium/hub:4.14.1-20231020 ports: - "4442:4442" - "4443:4443" diff --git a/docker-compose-v3-basicauth.yml b/docker-compose-v3-basicauth.yml index 2b7733a87..27d41c206 100644 --- a/docker-compose-v3-basicauth.yml +++ b/docker-compose-v3-basicauth.yml @@ -4,7 +4,7 @@ version: "3" services: chrome: - image: selenium/node-chrome:4.14.1-20231016 + image: selenium/node-chrome:4.14.1-20231020 shm_size: 2gb depends_on: - selenium-hub @@ -14,7 +14,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.14.1-20231016 + image: selenium/node-edge:4.14.1-20231020 shm_size: 2gb depends_on: - selenium-hub @@ -24,7 +24,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.14.1-20231016 + image: selenium/node-firefox:4.14.1-20231020 shm_size: 2gb depends_on: - selenium-hub @@ -34,7 +34,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-hub: - image: selenium/hub:4.14.1-20231016 + image: selenium/hub:4.14.1-20231020 container_name: selenium-hub ports: - "4442:4442" diff --git a/docker-compose-v3-dev.yml b/docker-compose-v3-dev.yml index 852d25b6d..61204a19e 100644 --- a/docker-compose-v3-dev.yml +++ b/docker-compose-v3-dev.yml @@ -4,7 +4,7 @@ version: "3" services: chrome: - image: selenium/node-chrome:4.14.1-20231016 + image: selenium/node-chrome:4.14.1-20231020 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar @@ -16,7 +16,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.14.1-20231016 + image: selenium/node-edge:4.14.1-20231020 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar @@ -28,7 +28,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.14.1-20231016 + image: selenium/node-firefox:4.14.1-20231020 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar @@ -40,7 +40,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-hub: - image: selenium/hub:4.14.1-20231016 + image: selenium/hub:4.14.1-20231020 container_name: selenium-hub volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar diff --git a/docker-compose-v3-dynamic-grid.yml b/docker-compose-v3-dynamic-grid.yml index 6e75a2ace..60fbb7dc5 100644 --- a/docker-compose-v3-dynamic-grid.yml +++ b/docker-compose-v3-dynamic-grid.yml @@ -4,7 +4,7 @@ version: "3" services: node-docker: - image: selenium/node-docker:4.14.1-20231016 + image: selenium/node-docker:4.14.1-20231020 volumes: - ./assets:/opt/selenium/assets - ./NodeDocker/config.toml:/opt/bin/config.toml @@ -17,7 +17,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-hub: - image: selenium/hub:4.14.1-20231016 + image: selenium/hub:4.14.1-20231020 container_name: selenium-hub ports: - "4442:4442" diff --git a/docker-compose-v3-full-grid-dev.yml b/docker-compose-v3-full-grid-dev.yml index 3e74238f6..006d2bc38 100644 --- a/docker-compose-v3-full-grid-dev.yml +++ b/docker-compose-v3-full-grid-dev.yml @@ -4,7 +4,7 @@ version: "3" services: selenium-event-bus: - image: selenium/event-bus:4.14.1-20231016 + image: selenium/event-bus:4.14.1-20231020 volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar container_name: selenium-event-bus @@ -14,7 +14,7 @@ services: - "5557:5557" selenium-sessions: - image: selenium/sessions:4.14.1-20231016 + image: selenium/sessions:4.14.1-20231020 volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar container_name: selenium-sessions @@ -28,7 +28,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-session-queue: - image: selenium/session-queue:4.14.1-20231016 + image: selenium/session-queue:4.14.1-20231020 volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar container_name: selenium-session-queue @@ -36,7 +36,7 @@ services: - "5559:5559" selenium-distributor: - image: selenium/distributor:4.14.1-20231016 + image: selenium/distributor:4.14.1-20231020 volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar container_name: selenium-distributor @@ -56,7 +56,7 @@ services: - SE_SESSION_QUEUE_PORT=5559 selenium-router: - image: selenium/router:4.14.1-20231016 + image: selenium/router:4.14.1-20231020 volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar container_name: selenium-router @@ -75,7 +75,7 @@ services: - SE_SESSION_QUEUE_PORT=5559 chrome: - image: selenium/node-chrome:4.14.1-20231016 + image: selenium/node-chrome:4.14.1-20231020 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar @@ -87,7 +87,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.14.1-20231016 + image: selenium/node-edge:4.14.1-20231020 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar @@ -99,7 +99,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.14.1-20231016 + image: selenium/node-firefox:4.14.1-20231020 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar diff --git a/docker-compose-v3-full-grid-swarm.yml b/docker-compose-v3-full-grid-swarm.yml index f82ebb167..2e147ed69 100644 --- a/docker-compose-v3-full-grid-swarm.yml +++ b/docker-compose-v3-full-grid-swarm.yml @@ -7,7 +7,7 @@ version: '3.7' services: chrome: - image: selenium/node-chrome:4.14.1-20231016 + image: selenium/node-chrome:4.14.1-20231020 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -18,7 +18,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' edge: - image: selenium/node-edge:4.14.1-20231016 + image: selenium/node-edge:4.14.1-20231020 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -29,7 +29,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' firefox: - image: selenium/node-firefox:4.14.1-20231016 + image: selenium/node-firefox:4.14.1-20231020 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -40,7 +40,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' selenium-hub: - image: selenium/hub:4.14.1-20231016 + image: selenium/hub:4.14.1-20231020 ports: - "4442:4442" - "4443:4443" diff --git a/docker-compose-v3-full-grid-tracing.yml b/docker-compose-v3-full-grid-tracing.yml index 1020adf6e..5a697ed32 100644 --- a/docker-compose-v3-full-grid-tracing.yml +++ b/docker-compose-v3-full-grid-tracing.yml @@ -9,7 +9,7 @@ services: - "16686:16686" - "14250:14250" selenium-event-bus: - image: selenium/event-bus:4.14.1-20231016 + image: selenium/event-bus:4.14.1-20231020 container_name: selenium-event-bus ports: - "4442:4442" @@ -21,7 +21,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-event-bus selenium-sessions: - image: selenium/sessions:4.14.1-20231016 + image: selenium/sessions:4.14.1-20231020 container_name: selenium-sessions ports: - "5556:5556" @@ -34,7 +34,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-sessions selenium-session-queue: - image: selenium/session-queue:4.14.1-20231016 + image: selenium/session-queue:4.14.1-20231020 container_name: selenium-session-queue ports: - "5559:5559" @@ -42,7 +42,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-session-queue selenium-distributor: - image: selenium/distributor:4.14.1-20231016 + image: selenium/distributor:4.14.1-20231020 container_name: selenium-distributor ports: - "5553:5553" @@ -61,7 +61,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-distributor selenium-router: - image: selenium/router:4.14.1-20231016 + image: selenium/router:4.14.1-20231020 container_name: selenium-router ports: - "4444:4444" @@ -79,7 +79,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-router chrome: - image: selenium/node-chrome:4.14.1-20231016 + image: selenium/node-chrome:4.14.1-20231020 shm_size: 2gb depends_on: - selenium-event-bus @@ -90,7 +90,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-chrome edge: - image: selenium/node-edge:4.14.1-20231016 + image: selenium/node-edge:4.14.1-20231020 shm_size: 2gb depends_on: - selenium-event-bus @@ -101,7 +101,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-edge firefox: - image: selenium/node-firefox:4.14.1-20231016 + image: selenium/node-firefox:4.14.1-20231020 shm_size: 2gb depends_on: - selenium-event-bus diff --git a/docker-compose-v3-full-grid.yml b/docker-compose-v3-full-grid.yml index 8db87b09c..cd5339fac 100644 --- a/docker-compose-v3-full-grid.yml +++ b/docker-compose-v3-full-grid.yml @@ -4,7 +4,7 @@ version: "3" services: selenium-event-bus: - image: selenium/event-bus:4.14.1-20231016 + image: selenium/event-bus:4.14.1-20231020 container_name: selenium-event-bus ports: - "4442:4442" @@ -12,7 +12,7 @@ services: - "5557:5557" selenium-sessions: - image: selenium/sessions:4.14.1-20231016 + image: selenium/sessions:4.14.1-20231020 container_name: selenium-sessions ports: - "5556:5556" @@ -24,13 +24,13 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-session-queue: - image: selenium/session-queue:4.14.1-20231016 + image: selenium/session-queue:4.14.1-20231020 container_name: selenium-session-queue ports: - "5559:5559" selenium-distributor: - image: selenium/distributor:4.14.1-20231016 + image: selenium/distributor:4.14.1-20231020 container_name: selenium-distributor ports: - "5553:5553" @@ -48,7 +48,7 @@ services: - SE_SESSION_QUEUE_PORT=5559 selenium-router: - image: selenium/router:4.14.1-20231016 + image: selenium/router:4.14.1-20231020 container_name: selenium-router ports: - "4444:4444" @@ -65,7 +65,7 @@ services: - SE_SESSION_QUEUE_PORT=5559 chrome: - image: selenium/node-chrome:4.14.1-20231016 + image: selenium/node-chrome:4.14.1-20231020 shm_size: 2gb depends_on: - selenium-event-bus @@ -75,7 +75,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.14.1-20231016 + image: selenium/node-edge:4.14.1-20231020 shm_size: 2gb depends_on: - selenium-event-bus @@ -85,7 +85,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.14.1-20231016 + image: selenium/node-firefox:4.14.1-20231020 shm_size: 2gb depends_on: - selenium-event-bus diff --git a/docker-compose-v3-swarm.yml b/docker-compose-v3-swarm.yml index f82ebb167..2e147ed69 100644 --- a/docker-compose-v3-swarm.yml +++ b/docker-compose-v3-swarm.yml @@ -7,7 +7,7 @@ version: '3.7' services: chrome: - image: selenium/node-chrome:4.14.1-20231016 + image: selenium/node-chrome:4.14.1-20231020 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -18,7 +18,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' edge: - image: selenium/node-edge:4.14.1-20231016 + image: selenium/node-edge:4.14.1-20231020 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -29,7 +29,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' firefox: - image: selenium/node-firefox:4.14.1-20231016 + image: selenium/node-firefox:4.14.1-20231020 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -40,7 +40,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' selenium-hub: - image: selenium/hub:4.14.1-20231016 + image: selenium/hub:4.14.1-20231020 ports: - "4442:4442" - "4443:4443" diff --git a/docker-compose-v3-tracing.yml b/docker-compose-v3-tracing.yml index 9923b9ada..beaf72cdb 100644 --- a/docker-compose-v3-tracing.yml +++ b/docker-compose-v3-tracing.yml @@ -9,7 +9,7 @@ services: - "16686:16686" - "14250:14250" chrome: - image: selenium/node-chrome:4.14.1-20231016 + image: selenium/node-chrome:4.14.1-20231020 shm_size: 2gb depends_on: - selenium-hub @@ -21,7 +21,7 @@ services: - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-chrome edge: - image: selenium/node-edge:4.14.1-20231016 + image: selenium/node-edge:4.14.1-20231020 shm_size: 2gb depends_on: - selenium-hub @@ -33,7 +33,7 @@ services: - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-edge firefox: - image: selenium/node-firefox:4.14.1-20231016 + image: selenium/node-firefox:4.14.1-20231020 shm_size: 2gb depends_on: - selenium-hub @@ -45,7 +45,7 @@ services: - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-firefox selenium-hub: - image: selenium/hub:4.14.1-20231016 + image: selenium/hub:4.14.1-20231020 container_name: selenium-hub ports: - "4442:4442" diff --git a/docker-compose-v3-video.yml b/docker-compose-v3-video.yml index 7c4743690..fae5921a5 100644 --- a/docker-compose-v3-video.yml +++ b/docker-compose-v3-video.yml @@ -4,7 +4,7 @@ version: "3" services: chrome: - image: selenium/node-chrome:4.14.1-20231016 + image: selenium/node-chrome:4.14.1-20231020 shm_size: 2gb depends_on: - selenium-hub @@ -14,7 +14,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.14.1-20231016 + image: selenium/node-edge:4.14.1-20231020 shm_size: 2gb depends_on: - selenium-hub @@ -24,7 +24,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.14.1-20231016 + image: selenium/node-firefox:4.14.1-20231020 shm_size: 2gb depends_on: - selenium-hub @@ -34,7 +34,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 chrome_video: - image: selenium/video:ffmpeg-4.3.1-20231016 + image: selenium/video:ffmpeg-4.3.1-20231020 volumes: - /tmp/videos:/videos depends_on: @@ -44,7 +44,7 @@ services: - FILE_NAME=chrome_video.mp4 edge_video: - image: selenium/video:ffmpeg-4.3.1-20231016 + image: selenium/video:ffmpeg-4.3.1-20231020 volumes: - /tmp/videos:/videos depends_on: @@ -54,7 +54,7 @@ services: - FILE_NAME=edge_video.mp4 firefox_video: - image: selenium/video:ffmpeg-4.3.1-20231016 + image: selenium/video:ffmpeg-4.3.1-20231020 volumes: - /tmp/videos:/videos depends_on: @@ -64,7 +64,7 @@ services: - FILE_NAME=firefox_video.mp4 selenium-hub: - image: selenium/hub:4.14.1-20231016 + image: selenium/hub:4.14.1-20231020 container_name: selenium-hub ports: - "4442:4442" diff --git a/docker-compose-v3.yml b/docker-compose-v3.yml index 944fe8558..d1d032a3d 100644 --- a/docker-compose-v3.yml +++ b/docker-compose-v3.yml @@ -4,7 +4,7 @@ version: "3" services: chrome: - image: selenium/node-chrome:4.14.1-20231016 + image: selenium/node-chrome:4.14.1-20231020 shm_size: 2gb depends_on: - selenium-hub @@ -14,7 +14,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.14.1-20231016 + image: selenium/node-edge:4.14.1-20231020 shm_size: 2gb depends_on: - selenium-hub @@ -24,7 +24,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.14.1-20231016 + image: selenium/node-firefox:4.14.1-20231020 shm_size: 2gb depends_on: - selenium-hub @@ -34,7 +34,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-hub: - image: selenium/hub:4.14.1-20231016 + image: selenium/hub:4.14.1-20231020 container_name: selenium-hub ports: - "4442:4442" From 01648f3db3ac53b7b071a06775dfc36e1cda4f55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A5rten=20Svantesson?= Date: Wed, 25 Oct 2023 11:31:29 +0200 Subject: [PATCH 19/84] feat: video recording with pluggable upload container (#1881) --- Video/Dockerfile | 4 +- charts/selenium-grid/templates/_helpers.tpl | 83 +++++++++++++++++ .../templates/chrome-node-deployment.yaml | 1 + .../templates/chrome-node-scaledjobs.yaml | 1 + .../templates/edge-node-deployment.yaml | 1 + .../templates/edge-node-scaledjob.yaml | 1 + .../templates/firefox-node-deployment.yaml | 1 + .../templates/firefox-node-scaledjob.yaml | 1 + charts/selenium-grid/templates/video-cm.yaml | 92 +++++++++++++++++++ charts/selenium-grid/values.yaml | 75 +++++++++++++++ 10 files changed, 258 insertions(+), 2 deletions(-) create mode 100644 charts/selenium-grid/templates/video-cm.yaml diff --git a/Video/Dockerfile b/Video/Dockerfile index d6408bef6..4edc5a64a 100644 --- a/Video/Dockerfile +++ b/Video/Dockerfile @@ -18,10 +18,10 @@ ENV DEBIAN_FRONTEND=noninteractive \ RUN apt-get -qqy update \ && apt-get upgrade -yq \ && apt-get -qqy --no-install-recommends install \ - supervisor x11-xserver-utils python3-pip \ + supervisor x11-xserver-utils x11-utils curl jq python3-pip \ && python3 -m pip install --upgrade pip \ && python3 -m pip install --upgrade setuptools \ - && python3 -m pip install --upgrade wheel \ + && python3 -m pip install --upgrade wheel \ && rm -rf /var/lib/apt/lists/* /var/cache/apt/* #====================================== diff --git a/charts/selenium-grid/templates/_helpers.tpl b/charts/selenium-grid/templates/_helpers.tpl index 28eb06224..affe63635 100644 --- a/charts/selenium-grid/templates/_helpers.tpl +++ b/charts/selenium-grid/templates/_helpers.tpl @@ -87,6 +87,13 @@ Service Account fullname {{- .Values.serviceAccount.name | default "selenium-serviceaccount" | trunc 63 | trimSuffix "-" -}} {{- end -}} +{{/* +Video ConfigMap fullname +*/}} +{{- define "seleniumGrid.video.fullname" -}} +{{- default "selenium-video" .Values.videoRecorder.nameOverride | trunc 63 | trimSuffix "-" -}} +{{- end -}} + {{/* Is autoscaling using KEDA enabled */}} @@ -168,6 +175,74 @@ template: {{- if .node.sidecars }} {{- toYaml .node.sidecars | nindent 6 }} {{- end }} + {{- if .Values.videoRecorder.enabled }} + - name: video + image: {{ printf "%s:%s" .Values.videoRecorder.imageName .Values.videoRecorder.imageTag }} + imagePullPolicy: {{ .Values.videoRecorder.imagePullPolicy }} + env: + - name: UPLOAD_DESTINATION_PREFIX + value: {{ .Values.videoRecorder.uploadDestinationPrefix }} + {{- with .Values.videoRecorder.extraEnvironmentVariables }} + {{- tpl (toYaml .) $ | nindent 8 }} + {{- end }} + envFrom: + - configMapRef: + name: {{ .Values.busConfigMap.name }} + {{- with .Values.videoRecorder.extraEnvFrom }} + {{- toYaml . | nindent 8 }} + {{- end }} + {{- if gt (len .Values.videoRecorder.ports) 0 }} + ports: + {{- range .Values.videoRecorder.ports }} + - containerPort: {{ . }} + protocol: TCP + {{- end }} + {{- end }} + volumeMounts: + - name: dshm + mountPath: /dev/shm + - name: video-scripts + mountPath: /opt/bin/video.sh + subPath: video.sh + - name: video + mountPath: /videos + {{- if .Values.videoRecorder.extraVolumeMounts }} + {{- toYaml .Values.videoRecorder.extraVolumeMounts | nindent 8 }} + {{- end }} + {{- with .Values.videoRecorder.resources }} + resources: {{- toYaml . | nindent 10 }} + {{- end }} + {{- if .uploader }} + - name: uploader + image: {{ printf "%s:%s" .uploader.imageName .uploader.imageTag }} + imagePullPolicy: {{ .uploader.imagePullPolicy }} + {{- with .uploader.command }} + command: {{- tpl (toYaml .) $ | nindent 8 }} + {{- end }} + {{- with .uploader.args }} + args: {{- tpl (toYaml .) $ | nindent 8 }} + {{- end }} + {{- with .uploader.extraEnvironmentVariables }} + env: {{- tpl (toYaml .) $ | nindent 8 }} + {{- end }} + {{- with .uploader.extraEnvFrom }} + envFrom: + {{- toYaml . | nindent 10 }} + {{- end }} + volumeMounts: + - name: video + mountPath: /videos + {{- if .uploader.extraVolumeMounts }} + {{- toYaml .uploader.extraVolumeMounts | nindent 8 }} + {{- end }} + {{- with .uploader.resources }} + resources: {{- toYaml . | nindent 10 }} + {{- end }} + {{- with .uploader.securityContext }} + securityContext: {{- toYaml . | nindent 10 }} + {{- end }} + {{- end }} + {{- end }} {{- if or .Values.global.seleniumGrid.imagePullSecret .node.imagePullSecret }} imagePullSecrets: - name: {{ default .Values.global.seleniumGrid.imagePullSecret .node.imagePullSecret }} @@ -194,6 +269,14 @@ template: {{- if .node.extraVolumes }} {{ toYaml .node.extraVolumes | nindent 6 }} {{- end }} + {{- if .Values.videoRecorder.enabled }} + - name: video-scripts + configMap: + name: {{ template "seleniumGrid.video.fullname" . }} + defaultMode: 0500 + - name: video + {{- toYaml .Values.videoRecorder.volume | nindent 8 }} + {{- end }} {{- end -}} {{/* diff --git a/charts/selenium-grid/templates/chrome-node-deployment.yaml b/charts/selenium-grid/templates/chrome-node-deployment.yaml index 0b3d2a9b5..a89800fdf 100644 --- a/charts/selenium-grid/templates/chrome-node-deployment.yaml +++ b/charts/selenium-grid/templates/chrome-node-deployment.yaml @@ -25,5 +25,6 @@ spec: {{- $podScope := deepCopy . -}} {{- $_ := set $podScope "name" "selenium-chrome-node" -}} {{- $_ = set $podScope "node" .Values.chromeNode -}} +{{- $_ = set $podScope "uploader" (get .Values.videoRecorder .Values.videoRecorder.uploader) -}} {{- include "seleniumGrid.podTemplate" $podScope | nindent 2 }} {{- end }} diff --git a/charts/selenium-grid/templates/chrome-node-scaledjobs.yaml b/charts/selenium-grid/templates/chrome-node-scaledjobs.yaml index 4971aec74..b5770e8a2 100644 --- a/charts/selenium-grid/templates/chrome-node-scaledjobs.yaml +++ b/charts/selenium-grid/templates/chrome-node-scaledjobs.yaml @@ -35,5 +35,6 @@ spec: {{- $podScope := deepCopy . -}} {{- $_ := set $podScope "name" "selenium-chrome-node" -}} {{- $_ = set $podScope "node" .Values.chromeNode -}} +{{- $_ = set $podScope "uploader" (get .Values.videoRecorder .Values.videoRecorder.uploader) -}} {{- include "seleniumGrid.podTemplate" $podScope | nindent 4 }} {{- end }} diff --git a/charts/selenium-grid/templates/edge-node-deployment.yaml b/charts/selenium-grid/templates/edge-node-deployment.yaml index 883a45a76..d81b7ef93 100644 --- a/charts/selenium-grid/templates/edge-node-deployment.yaml +++ b/charts/selenium-grid/templates/edge-node-deployment.yaml @@ -25,5 +25,6 @@ spec: {{- $podScope := deepCopy . -}} {{- $_ := set $podScope "name" "selenium-edge-node" -}} {{- $_ = set $podScope "node" .Values.edgeNode -}} +{{- $_ = set $podScope "uploader" (get .Values.videoRecorder .Values.videoRecorder.uploader) -}} {{- include "seleniumGrid.podTemplate" $podScope | nindent 2 }} {{- end }} diff --git a/charts/selenium-grid/templates/edge-node-scaledjob.yaml b/charts/selenium-grid/templates/edge-node-scaledjob.yaml index 6d113d186..6083226e5 100644 --- a/charts/selenium-grid/templates/edge-node-scaledjob.yaml +++ b/charts/selenium-grid/templates/edge-node-scaledjob.yaml @@ -35,5 +35,6 @@ spec: {{- $podScope := deepCopy . -}} {{- $_ := set $podScope "name" "selenium-edge-node" -}} {{- $_ = set $podScope "node" .Values.edgeNode -}} +{{- $_ = set $podScope "uploader" (get .Values.videoRecorder .Values.videoRecorder.uploader) -}} {{- include "seleniumGrid.podTemplate" $podScope | nindent 4 }} {{- end }} diff --git a/charts/selenium-grid/templates/firefox-node-deployment.yaml b/charts/selenium-grid/templates/firefox-node-deployment.yaml index d0b250470..645986c11 100644 --- a/charts/selenium-grid/templates/firefox-node-deployment.yaml +++ b/charts/selenium-grid/templates/firefox-node-deployment.yaml @@ -25,5 +25,6 @@ spec: {{- $podScope := deepCopy . -}} {{- $_ := set $podScope "name" "selenium-firefox-node" -}} {{- $_ = set $podScope "node" .Values.firefoxNode -}} +{{- $_ = set $podScope "uploader" (get .Values.videoRecorder .Values.videoRecorder.uploader) -}} {{- include "seleniumGrid.podTemplate" $podScope | nindent 2 }} {{- end }} diff --git a/charts/selenium-grid/templates/firefox-node-scaledjob.yaml b/charts/selenium-grid/templates/firefox-node-scaledjob.yaml index de90024c7..4ec26225a 100644 --- a/charts/selenium-grid/templates/firefox-node-scaledjob.yaml +++ b/charts/selenium-grid/templates/firefox-node-scaledjob.yaml @@ -35,5 +35,6 @@ spec: {{- $podScope := deepCopy . -}} {{- $_ := set $podScope "name" "selenium-firefox-node" -}} {{- $_ = set $podScope "node" .Values.firefoxNode -}} +{{- $_ = set $podScope "uploader" (get .Values.videoRecorder .Values.videoRecorder.uploader) -}} {{- include "seleniumGrid.podTemplate" $podScope | nindent 4 }} {{- end }} diff --git a/charts/selenium-grid/templates/video-cm.yaml b/charts/selenium-grid/templates/video-cm.yaml new file mode 100644 index 000000000..41a13b027 --- /dev/null +++ b/charts/selenium-grid/templates/video-cm.yaml @@ -0,0 +1,92 @@ +{{- if .Values.videoRecorder.enabled }} +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ template "seleniumGrid.video.fullname" . }} +data: + video.sh: | + #!/usr/bin/env bash + set -em + function finish { + echo exit > /videos/uploadpipe + kill -s SIGINT `cat /var/run/supervisor/supervisord.pid` + } + trap finish EXIT + FRAME_RATE=${FRAME_RATE:-$SE_FRAME_RATE} + CODEC=${CODEC:-$SE_CODEC} + PRESET=${PRESET:-$SE_PRESET} + export DISPLAY=localhost:${DISPLAY_NUM}.0 + + return_code=1 + max_attempts=600 + attempts=0 + mkfifo /videos/uploadpipe + if [[ "$UPLOAD_DESTINATION_PREFIX" = "" ]] + then + echo Upload destination not known since UPLOAD_DESTINATION_PREFIX is not set. Exiting video recorder. + exit + fi + echo Checking if the display is open + until xset b off || [[ $attempts = $max_attempts ]] + do + echo Waiting before next display check + sleep 0.5 + attempts=$((attempts+1)) + done + if [[ $attempts = $max_attempts ]] + then + echo Can not open display, exiting. + exit + fi + VIDEO_SIZE=$(xdpyinfo | grep 'dimensions:' | awk '{print $2}') + + recording_started="false" + video_file_name="" + video_file="" + prev_session_id="" + attempts=0 + echo Checking if node API responds + until curl -s --request GET http://localhost:5555/status || [[ $attempts = $max_attempts ]] + do + echo Waiting before next API check + sleep 0.5 + attempts=$((attempts+1)) + done + if [[ $attempts = $max_attempts ]] + then + echo Can not reach node API, exiting. + exit + fi + while curl -s --request GET http://localhost:5555/status > /tmp/status.json + do + session_id=$(jq -r '.[]?.node?.slots | .[0]?.session?.sessionId' /tmp/status.json) + echo $session_id + if [[ "$session_id" != "null" && "$session_id" != "" && "$recording_started" = "false" ]] + then + video_file_name="$session_id.mp4" + video_file="${VIDEO_LOCATION:-/videos}/$video_file_name" + echo "Starting to record video" + ffmpeg -nostdin -y -f x11grab -video_size ${VIDEO_SIZE} -r ${FRAME_RATE} -i ${DISPLAY} -codec:v ${CODEC} ${PRESET} -pix_fmt yuv420p $video_file & + recording_started="true" + echo "Video recording started" + elif [[ "$session_id" != "$prev_session_id" && "$recording_started" = "true" ]] + then + echo "Stopping to record video" + kill -INT %1 + fg || echo ffmpeg exited with code $? + upload_destination=${UPLOAD_DESTINATION_PREFIX}${video_file_name} + echo "Uploading video to $upload_destination" + echo $video_file $upload_destination > /videos/uploadpipe & + recording_started="false" + elif [[ $recording_started = "true" ]] + then + echo "Video recording in progress" + sleep 1 + else + echo "No session in progress" + sleep 1 + fi + prev_session_id=$session_id + done + echo +{{- end }} diff --git a/charts/selenium-grid/values.yaml b/charts/selenium-grid/values.yaml index dce24f9a3..193e5499c 100644 --- a/charts/selenium-grid/values.yaml +++ b/charts/selenium-grid/values.yaml @@ -24,6 +24,7 @@ serviceAccount: create: true name: "" annotations: {} + # eks.amazonaws.com/role-arn: "arn:aws:iam::12345678:role/video-bucket-permissions" # Configure the ingress resource to access the Grid installation. ingress: @@ -724,5 +725,79 @@ edgeNode: # It should be set using the --set-json option sidecars: [] +videoRecorder: + # Image of video recorder + imageName: selenium/video + enabled: false + # Where to upload the video file. Should be set to something like 's3://myvideobucket/' + uploadDestinationPrefix: "" + # What uploader to use. See .videRecorder.s3 for how to create a new one. + uploader: s3 + + # Image of video recorder + imageTag: latest + # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) + imagePullPolicy: IfNotPresent + + ports: + - 5666 + resources: + requests: + memory: "1Gi" + cpu: "1" + limits: + memory: "1Gi" + cpu: "1" + extraEnvironmentVariables: [] + # - name: VIDEO_LOCATION + # value: /videos + # Custom environment variables by sourcing entire configMap, Secret, etc. for video recorder. + extraEnvFrom: + # - configMapRef: + # name: proxy-settings + # - secretRef: + # name: mysecret + # Wait for pod startup + terminationGracePeriodSeconds: 30 + volume: + emptyDir: {} + s3: + imageName: public.ecr.aws/bitnami/aws-cli + imageTag: "2" + imagePullPolicy: IfNotPresent + securityContext: + runAsUser: 0 + command: + - /bin/sh + args: + - -c + - | + while ! [ -p /videos/uploadpipe ] + do + echo Waiting for /videos/uploadpipe to be created + sleep 1 + done + echo Waiting for files to upload + while read FILE DESTINATION < /videos/uploadpipe + do + if [ "$FILE" = "exit" ] + then + break + else + aws s3 cp --no-progress $FILE $DESTINATION + fi + done + # extraEnvironmentVariables: + # - name: AWS_ACCESS_KEY_ID + # value: aws_access_key_id + # - name: AWS_SECRET_ACCESS_KEY + # value: aws_secret_access_key + # - name: + # valueFrom: + # secretKeyRef: + # name: secret-name + # key: secret-key + + # Custom labels for k8s resources customLabels: {} From 60ad27e123b3360fdda935af9ee16de8a3065e76 Mon Sep 17 00:00:00 2001 From: Viet Nguyen Duc Date: Wed, 25 Oct 2023 21:35:31 +0700 Subject: [PATCH 20/84] Update Video/Dockerfile with based image ffmpeg:6.0-alpine (#1981) [deploy] --- Makefile | 8 ++++---- NodeDocker/config.toml | 2 +- README.md | 8 ++++---- Video/Dockerfile | 38 ++++++++++++++----------------------- docker-compose-v3-video.yml | 6 +++--- generate_release_notes.sh | 2 +- 6 files changed, 27 insertions(+), 37 deletions(-) diff --git a/Makefile b/Makefile index a26db516a..5d4590d8e 100644 --- a/Makefile +++ b/Makefile @@ -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) all: hub \ distributor \ @@ -357,9 +357,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 \ diff --git a/NodeDocker/config.toml b/NodeDocker/config.toml index 5ea58b212..501a1f349 100644 --- a/NodeDocker/config.toml +++ b/NodeDocker/config.toml @@ -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-20231020" +video-image = "selenium/video:ffmpeg-6.0-20231020" # Uncomment the following section if you are running the node on a separate VM # Fill out the placeholders with appropriate values diff --git a/README.md b/README.md index f2b497a86..b4a14e54f 100644 --- a/README.md +++ b/README.md @@ -473,7 +473,7 @@ ___ ## Video recording -Tests execution can be recorded by using the `selenium/video:ffmpeg-4.3.1-20231020` +Tests execution can be recorded by using the `selenium/video:ffmpeg-6.0-20231020` Docker image. One container is needed per each container where a browser is running. This means if you are running 5 Nodes/Standalone containers, you will need 5 video containers, the mapping is 1-1. @@ -500,7 +500,7 @@ This example shows how to start the containers manually: ``` bash $ docker network create grid $ docker run -d -p 4444:4444 -p 6900:5900 --net grid --name selenium --shm-size="2g" selenium/standalone-chrome:4.14.1-20231020 -$ docker run -d --net grid --name video -v /tmp/videos:/videos selenium/video:ffmpeg-4.3.1-20231020 +$ docker run -d --net grid --name video -v /tmp/videos:/videos selenium/video:ffmpeg-6.0-20231020 # Run your tests $ docker stop video && docker rm video $ docker stop selenium && docker rm selenium @@ -547,7 +547,7 @@ configs = [ # Linux: varies from machine to machine, please mount /var/run/docker.sock. If this does not work, please create an issue. url = "http://127.0.0.1:2375" # Docker image used for video recording -video-image = "selenium/video:ffmpeg-4.3.1-20231020" +video-image = "selenium/video:ffmpeg-6.0-20231020" # Uncomment the following section if you are running the node on a separate VM # Fill out the placeholders with appropriate values @@ -678,7 +678,7 @@ configs = [ # Linux: varies from machine to machine, please mount /var/run/docker.sock. If this does not work, please create an issue. url = "http://127.0.0.1:2375" # Docker image used for video recording -video-image = "selenium/video:ffmpeg-4.3.1-20231020" +video-image = "selenium/video:ffmpeg-6.0-20231020" # Uncomment the following section if you are running the node on a separate VM # Fill out the placeholders with appropriate values diff --git a/Video/Dockerfile b/Video/Dockerfile index 4edc5a64a..bfd121903 100644 --- a/Video/Dockerfile +++ b/Video/Dockerfile @@ -1,38 +1,29 @@ -FROM jrottenberg/ffmpeg:4.3.1-ubuntu2004 +FROM jrottenberg/ffmpeg:6.0-alpine LABEL authors="Selenium " -#================================================ -# Customize sources for apt-get -#================================================ -RUN echo "deb http://archive.ubuntu.com/ubuntu focal main universe\n" > /etc/apt/sources.list \ - && echo "deb http://archive.ubuntu.com/ubuntu focal-updates main universe\n" >> /etc/apt/sources.list \ - && echo "deb http://security.ubuntu.com/ubuntu focal-security main universe\n" >> /etc/apt/sources.list - -# No interactive frontend during docker build -ENV DEBIAN_FRONTEND=noninteractive \ - DEBCONF_NONINTERACTIVE_SEEN=true - #======================== # Supervisor #======================== -RUN apt-get -qqy update \ - && apt-get upgrade -yq \ - && apt-get -qqy --no-install-recommends install \ - supervisor x11-xserver-utils x11-utils curl jq python3-pip \ - && python3 -m pip install --upgrade pip \ - && python3 -m pip install --upgrade setuptools \ - && python3 -m pip install --upgrade wheel \ - && rm -rf /var/lib/apt/lists/* /var/cache/apt/* +RUN apk update \ + && apk upgrade \ + && apk add --no-cache --update --virtual .build-deps supervisor bash curl jq xset python3 py3-psutil py3-pip \ + && ln -sf python3 /usr/bin/python \ + && rm -rf /tmp/* /var/cache/apk/* + +ENV PYTHONUNBUFFERED=1 +RUN python3 -m pip install --no-cache --upgrade --no-cache-dir pip urllib3 setuptools requests wheel #====================================== # Add Supervisor configuration files #====================================== +ENV SE_VIDEO_FOLDER /videos +RUN mkdir -p /opt/bin/ +RUN mkdir -p /var/run/supervisor /var/log/supervisor ${SE_VIDEO_FOLDER} + COPY supervisord.conf /etc COPY entry_point.sh video.sh video_ready.py /opt/bin/ -RUN cd /opt/bin && pip install psutil - -RUN mkdir -p /var/run/supervisor /var/log/supervisor /videos +RUN chmod +x /opt/bin/* ENTRYPOINT ["/opt/bin/entry_point.sh"] CMD ["/opt/bin/entry_point.sh"] @@ -44,6 +35,5 @@ ENV SE_FRAME_RATE 15 ENV SE_CODEC libx264 ENV SE_PRESET "-preset ultrafast" ENV FILE_NAME video.mp4 -ENV SE_VIDEO_FOLDER /videos EXPOSE 9000 diff --git a/docker-compose-v3-video.yml b/docker-compose-v3-video.yml index fae5921a5..f5f9502e5 100644 --- a/docker-compose-v3-video.yml +++ b/docker-compose-v3-video.yml @@ -34,7 +34,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 chrome_video: - image: selenium/video:ffmpeg-4.3.1-20231020 + image: selenium/video:ffmpeg-6.0-20231020 volumes: - /tmp/videos:/videos depends_on: @@ -44,7 +44,7 @@ services: - FILE_NAME=chrome_video.mp4 edge_video: - image: selenium/video:ffmpeg-4.3.1-20231020 + image: selenium/video:ffmpeg-6.0-20231020 volumes: - /tmp/videos:/videos depends_on: @@ -54,7 +54,7 @@ services: - FILE_NAME=edge_video.mp4 firefox_video: - image: selenium/video:ffmpeg-4.3.1-20231020 + image: selenium/video:ffmpeg-6.0-20231020 volumes: - /tmp/videos:/videos depends_on: diff --git a/generate_release_notes.sh b/generate_release_notes.sh index 014f56156..c936c48d4 100755 --- a/generate_release_notes.sh +++ b/generate_release_notes.sh @@ -17,7 +17,7 @@ CHROMEDRIVER_VERSION=$(docker run --rm selenium/node-chrome:${TAG_VERSION} chrom EDGEDRIVER_VERSION=$(docker run --rm selenium/node-edge:${TAG_VERSION} msedgedriver --version | awk '{print $4}') FIREFOX_VERSION=$(docker run --rm selenium/node-firefox:${TAG_VERSION} firefox --version | awk '{print $3}') GECKODRIVER_VERSION=$(docker run --rm selenium/node-firefox:${TAG_VERSION} geckodriver --version | awk 'NR==1{print $2}') -FFMPEG_VERSION=$(docker run --entrypoint="" --rm selenium/video:ffmpeg-4.3.1-${BUILD_DATE} ffmpeg -version | awk '{print $3}' | head -n 1) +FFMPEG_VERSION=$(docker run --entrypoint="" --rm selenium/video:ffmpeg-6.0-${BUILD_DATE} ffmpeg -version | awk '{print $3}' | head -n 1) echo "" >> release_notes.md From 9b4acaa382a632131631a39cd4b3e73842a852af Mon Sep 17 00:00:00 2001 From: Selenium CI Bot Date: Wed, 25 Oct 2023 14:47:28 +0000 Subject: [PATCH 21/84] Update tag in docs and files [skip ci] --- .github/ISSUE_TEMPLATE/bug_report.yml | 2 +- NodeDocker/config.toml | 8 +- README.md | 134 ++++++++++++------------ charts/selenium-grid/CHANGELOG.md | 2 +- charts/selenium-grid/README.md | 10 +- charts/selenium-grid/values.yaml | 22 ++-- docker-compose-v2-tracing.yml | 8 +- docker-compose-v2.yml | 8 +- docker-compose-v3-basicauth.yml | 8 +- docker-compose-v3-dev.yml | 8 +- docker-compose-v3-dynamic-grid.yml | 4 +- docker-compose-v3-full-grid-dev.yml | 16 +-- docker-compose-v3-full-grid-swarm.yml | 8 +- docker-compose-v3-full-grid-tracing.yml | 16 +-- docker-compose-v3-full-grid.yml | 16 +-- docker-compose-v3-swarm.yml | 8 +- docker-compose-v3-tracing.yml | 8 +- docker-compose-v3-video.yml | 14 +-- docker-compose-v3.yml | 8 +- 19 files changed, 154 insertions(+), 154 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 85283088a..c078eb9f5 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -55,6 +55,6 @@ body: attributes: label: Docker Selenium version (tag) description: What version of Docker Selenium are you using? - placeholder: 4.14.1-20231020? Please use the full tag, avoid "latest" + placeholder: 4.14.1-20231025? Please use the full tag, avoid "latest" validations: required: true \ No newline at end of file diff --git a/NodeDocker/config.toml b/NodeDocker/config.toml index 501a1f349..3a85fff32 100644 --- a/NodeDocker/config.toml +++ b/NodeDocker/config.toml @@ -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.14.1-20231020", '{"browserName": "firefox", "platformName": "linux"}', - "selenium/standalone-chrome:4.14.1-20231020", '{"browserName": "chrome", "platformName": "linux"}', - "selenium/standalone-edge:4.14.1-20231020", '{"browserName": "MicrosoftEdge", "platformName": "linux"}' + "selenium/standalone-firefox:4.14.1-20231025", '{"browserName": "firefox", "platformName": "linux"}', + "selenium/standalone-chrome:4.14.1-20231025", '{"browserName": "chrome", "platformName": "linux"}', + "selenium/standalone-edge:4.14.1-20231025", '{"browserName": "MicrosoftEdge", "platformName": "linux"}' ] # URL for connecting to the docker daemon @@ -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-6.0-20231020" +video-image = "selenium/video:ffmpeg-6.0-20231025" # Uncomment the following section if you are running the node on a separate VM # Fill out the placeholders with appropriate values diff --git a/README.md b/README.md index b4a14e54f..5e0906068 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ The project is made possible by volunteer contributors who have put in thousands and made the source code freely available under the [Apache License 2.0](LICENSE.md). These Docker images come with a handful of tags to simplify its usage, have a look at them in one of -our [releases](https://github.com/SeleniumHQ/docker-selenium/releases/tag/4.14.1-20231020). +our [releases](https://github.com/SeleniumHQ/docker-selenium/releases/tag/4.14.1-20231025). To get notifications of new releases, add yourself as a "Releases only" watcher. @@ -64,7 +64,7 @@ Talk to us at https://www.selenium.dev/support/ 1. Start a Docker container with Firefox ```bash -docker run -d -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-firefox:4.14.1-20231020 +docker run -d -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-firefox:4.14.1-20231025 ``` 2. Point your WebDriver tests to http://localhost:4444 @@ -251,17 +251,17 @@ For more information on the Dev and Beta channel container images, see the blog ![Firefox](https://raw.githubusercontent.com/alrra/browser-logos/main/src/firefox/firefox_24x24.png) Firefox ```bash -docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-firefox:4.14.1-20231020 +docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-firefox:4.14.1-20231025 ``` ![Chrome](https://raw.githubusercontent.com/alrra/browser-logos/main/src/chrome/chrome_24x24.png) Chrome ```bash -docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-chrome:4.14.1-20231020 +docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-chrome:4.14.1-20231025 ``` ![Edge](https://raw.githubusercontent.com/alrra/browser-logos/main/src/edge/edge_24x24.png) Edge ```bash -docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-edge:4.14.1-20231020 +docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-edge:4.14.1-20231025 ``` _Note: Only one Standalone container can run on port_ `4444` _at the same time._ @@ -280,44 +280,44 @@ A Docker [network](https://docs.docker.com/engine/reference/commandline/network_ ```bash $ docker network create grid -$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.14.1-20231020 +$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.14.1-20231025 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-chrome:4.14.1-20231020 + selenium/node-chrome:4.14.1-20231025 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-edge:4.14.1-20231020 + selenium/node-edge:4.14.1-20231025 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-firefox:4.14.1-20231020 + selenium/node-firefox:4.14.1-20231025 ``` ##### Windows PowerShell ```powershell $ docker network create grid -$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.14.1-20231020 +$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.14.1-20231025 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub ` --shm-size="2g" ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` - selenium/node-chrome:4.14.1-20231020 + selenium/node-chrome:4.14.1-20231025 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub ` --shm-size="2g" ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` - selenium/node-edge:4.14.1-20231020 + selenium/node-edge:4.14.1-20231025 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub ` --shm-size="2g" ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` - selenium/node-firefox:4.14.1-20231020 + selenium/node-firefox:4.14.1-20231025 ``` When you are done using the Grid, and the containers have exited, the network can be removed with the following command: @@ -334,7 +334,7 @@ configured to expose different ports. ##### Hub - Machine/VM 1 ```bash -$ docker run -d -p 4442-4444:4442-4444 --name selenium-hub selenium/hub:4.14.1-20231020 +$ docker run -d -p 4442-4444:4442-4444 --name selenium-hub selenium/hub:4.14.1-20231025 ``` ##### Node Chrome - Machine/VM 2 @@ -348,7 +348,7 @@ $ docker run -d -p 5555:5555 \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ -e SE_NODE_HOST= \ - selenium/node-chrome:4.14.1-20231020 + selenium/node-chrome:4.14.1-20231025 ``` ###### Windows PowerShell @@ -360,7 +360,7 @@ $ docker run -d -p 5555:5555 ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` -e SE_NODE_HOST= ` - selenium/node-chrome:4.14.1-20231020 + selenium/node-chrome:4.14.1-20231025 ``` @@ -375,7 +375,7 @@ $ docker run -d -p 5555:5555 \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ -e SE_NODE_HOST= \ - selenium/node-edge:4.14.1-20231020 + selenium/node-edge:4.14.1-20231025 ``` ###### Windows PowerShell @@ -387,7 +387,7 @@ $ docker run -d -p 5555:5555 ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` -e SE_NODE_HOST= ` - selenium/node-edge:4.14.1-20231020 + selenium/node-edge:4.14.1-20231025 ``` ##### Node Firefox - Machine/VM 4 @@ -401,7 +401,7 @@ $ docker run -d -p 5555:5555 \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ -e SE_NODE_HOST= \ - selenium/node-firefox:4.14.1-20231020 + selenium/node-firefox:4.14.1-20231025 ``` ###### Windows PowerShell @@ -413,7 +413,7 @@ $ docker run -d -p 5555:5555 ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` -e SE_NODE_HOST= ` - selenium/node-firefox:4.14.1-20231020 + selenium/node-firefox:4.14.1-20231025 ``` ##### Node Chrome - Machine/VM 4 @@ -428,7 +428,7 @@ $ docker run -d -p 5556:5556 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ -e SE_NODE_HOST= \ -e SE_NODE_PORT=5556 \ - selenium/node-chrome:4.14.1-20231020 + selenium/node-chrome:4.14.1-20231025 ``` ###### Windows PowerShell @@ -441,7 +441,7 @@ $ docker run -d -p 5556:5556 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` -e SE_NODE_HOST= ` -e SE_NODE_PORT=5556 ` - selenium/node-chrome:4.14.1-20231020 + selenium/node-chrome:4.14.1-20231025 ``` #### Docker Compose @@ -473,7 +473,7 @@ ___ ## Video recording -Tests execution can be recorded by using the `selenium/video:ffmpeg-6.0-20231020` +Tests execution can be recorded by using the `selenium/video:ffmpeg-6.0-20231025` Docker image. One container is needed per each container where a browser is running. This means if you are running 5 Nodes/Standalone containers, you will need 5 video containers, the mapping is 1-1. @@ -499,8 +499,8 @@ This example shows how to start the containers manually: ``` bash $ docker network create grid -$ docker run -d -p 4444:4444 -p 6900:5900 --net grid --name selenium --shm-size="2g" selenium/standalone-chrome:4.14.1-20231020 -$ docker run -d --net grid --name video -v /tmp/videos:/videos selenium/video:ffmpeg-6.0-20231020 +$ docker run -d -p 4444:4444 -p 6900:5900 --net grid --name selenium --shm-size="2g" selenium/standalone-chrome:4.14.1-20231025 +$ docker run -d --net grid --name video -v /tmp/videos:/videos selenium/video:ffmpeg-6.0-20231025 # Run your tests $ docker stop video && docker rm video $ docker stop selenium && docker rm selenium @@ -532,9 +532,9 @@ You can save this file locally and name it, for example, `config.toml`. # 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.14.1-20231020", '{"browserName": "firefox"}', - "selenium/standalone-chrome:4.14.1-20231020", '{"browserName": "chrome"}', - "selenium/standalone-edge:4.14.1-20231020", '{"browserName": "MicrosoftEdge"}' + "selenium/standalone-firefox:4.14.1-20231025", '{"browserName": "firefox"}', + "selenium/standalone-chrome:4.14.1-20231025", '{"browserName": "chrome"}', + "selenium/standalone-edge:4.14.1-20231025", '{"browserName": "MicrosoftEdge"}' ] # URL for connecting to the docker daemon @@ -547,7 +547,7 @@ configs = [ # Linux: varies from machine to machine, please mount /var/run/docker.sock. If this does not work, please create an issue. url = "http://127.0.0.1:2375" # Docker image used for video recording -video-image = "selenium/video:ffmpeg-6.0-20231020" +video-image = "selenium/video:ffmpeg-6.0-20231025" # Uncomment the following section if you are running the node on a separate VM # Fill out the placeholders with appropriate values @@ -566,28 +566,28 @@ virtual machines. ```bash $ docker network create grid -$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.14.1-20231020 +$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.14.1-20231025 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ -v ${PWD}/config.toml:/opt/bin/config.toml \ -v ${PWD}/assets:/opt/selenium/assets \ -v /var/run/docker.sock:/var/run/docker.sock \ - selenium/node-docker:4.14.1-20231020 + selenium/node-docker:4.14.1-20231025 ``` #### Windows PowerShell ```powershell $ docker network create grid -$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.14.1-20231020 +$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.14.1-20231025 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` -v ${PWD}/config.toml:/opt/bin/config.toml ` -v ${PWD}/assets:/opt/selenium/assets ` -v /var/run/docker.sock:/var/run/docker.sock ` - selenium/node-docker:4.14.1-20231020 + selenium/node-docker:4.14.1-20231025 ``` To have the assets saved on your host, please mount your host path to `/opt/selenium/assets`. @@ -608,7 +608,7 @@ docker run --rm --name selenium-docker -p 4444:4444 \ -v ${PWD}/config.toml:/opt/bin/config.toml \ -v ${PWD}/assets:/opt/selenium/assets \ -v /var/run/docker.sock:/var/run/docker.sock \ - selenium/standalone-docker:4.14.1-20231020 + selenium/standalone-docker:4.14.1-20231025 ``` #### Windows PowerShell @@ -618,7 +618,7 @@ docker run --rm --name selenium-docker -p 4444:4444 ` -v ${PWD}/config.toml:/opt/bin/config.toml ` -v ${PWD}/assets:/opt/selenium/assets ` -v /var/run/docker.sock:/var/run/docker.sock ` - selenium/standalone-docker:4.14.1-20231020 + selenium/standalone-docker:4.14.1-20231025 ``` ### Using Dynamic Grid in different machines/VMs @@ -626,7 +626,7 @@ docker run --rm --name selenium-docker -p 4444:4444 ` #### Hub - Machine/VM 1 ```bash -$ docker run -d -p 4442-4444:4442-4444 --name selenium-hub selenium/hub:4.14.1-20231020 +$ docker run -d -p 4442-4444:4442-4444 --name selenium-hub selenium/hub:4.14.1-20231025 ``` #### Node Chrome - Machine/VM 2 @@ -641,7 +641,7 @@ $ docker run -d -p 5555:5555 \ -v ${PWD}/config.toml:/opt/bin/config.toml \ -v ${PWD}/assets:/opt/selenium/assets \ -v /var/run/docker.sock:/var/run/docker.sock \ - selenium/node-docker:4.14.1-20231020 + selenium/node-docker:4.14.1-20231025 ``` #### Windows PowerShell @@ -654,7 +654,7 @@ $ docker run -d -p 5555:5555 ` -v ${PWD}/config.toml:/opt/bin/config.toml ` -v ${PWD}/assets:/opt/selenium/assets ` -v /var/run/docker.sock:/var/run/docker.sock ` - selenium/node-docker:4.14.1-20231020 + selenium/node-docker:4.14.1-20231025 ``` Complete the `[server]` section in the `config.toml` file. @@ -663,9 +663,9 @@ Complete the `[server]` section in the `config.toml` file. # 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.14.1-20231020", "{\"browserName\": \"firefox\"}", - "selenium/standalone-chrome:4.14.1-20231020", "{\"browserName\": \"chrome\"}", - "selenium/standalone-edge:4.14.1-20231020", "{\"browserName\": \"MicrosoftEdge\"}" + "selenium/standalone-firefox:4.14.1-20231025", "{\"browserName\": \"firefox\"}", + "selenium/standalone-chrome:4.14.1-20231025", "{\"browserName\": \"chrome\"}", + "selenium/standalone-edge:4.14.1-20231025", "{\"browserName\": \"MicrosoftEdge\"}" ] # URL for connecting to the docker daemon @@ -678,7 +678,7 @@ configs = [ # Linux: varies from machine to machine, please mount /var/run/docker.sock. If this does not work, please create an issue. url = "http://127.0.0.1:2375" # Docker image used for video recording -video-image = "selenium/video:ffmpeg-6.0-20231020" +video-image = "selenium/video:ffmpeg-6.0-20231025" # Uncomment the following section if you are running the node on a separate VM # Fill out the placeholders with appropriate values @@ -712,7 +712,7 @@ docker run --rm --name selenium-docker -p 4444:4444 \ -v ${PWD}/config.toml:/opt/bin/config.toml \ -v ${PWD}/assets:/opt/selenium/assets \ -v /var/run/docker.sock:/var/run/docker.sock \ - selenium/standalone-docker:4.14.1-20231020 + selenium/standalone-docker:4.14.1-20231025 ``` #### Windows PowerShell @@ -723,7 +723,7 @@ docker run --rm --name selenium-docker -p 4444:4444 ` -v ${PWD}/config.toml:/opt/bin/config.toml ` -v ${PWD}/assets:/opt/selenium/assets ` -v /var/run/docker.sock:/var/run/docker.sock ` - selenium/standalone-docker:4.14.1-20231020 + selenium/standalone-docker:4.14.1-20231025 ``` @@ -761,7 +761,7 @@ ___ You can pass `SE_OPTS` variable with additional command line parameters for starting a hub or a node. ``` bash -$ docker run -d -p 4444:4444 -e SE_OPTS="--log-level FINE" --name selenium-hub selenium/hub:4.14.1-20231020 +$ docker run -d -p 4444:4444 -e SE_OPTS="--log-level FINE" --name selenium-hub selenium/hub:4.14.1-20231025 ``` ### SE_JAVA_OPTS Java Environment Options @@ -769,7 +769,7 @@ $ docker run -d -p 4444:4444 -e SE_OPTS="--log-level FINE" --name selenium-hub s You can pass `SE_JAVA_OPTS` environment variable to the Java process. ``` bash -$ docker run -d -p 4444:4444 -e SE_JAVA_OPTS=-Xmx512m --name selenium-hub selenium/hub:4.14.1-20231020 +$ docker run -d -p 4444:4444 -e SE_JAVA_OPTS=-Xmx512m --name selenium-hub selenium/hub:4.14.1-20231025 ``` ### Node configuration options @@ -791,7 +791,7 @@ $ docker run -d \ -e SE_EVENT_BUS_HOST= \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 -e SE_NODE_STEREOTYPE="{\"browserName\":\"${SE_NODE_BROWSER_NAME}\",\"browserVersion\":\"${SE_NODE_BROWSER_VERSION}\",\"platformName\": \"Linux\"}" \ - --shm-size="2g" selenium/node-chrome:4.14.1-20231020 + --shm-size="2g" selenium/node-chrome:4.14.1-20231025 ``` ### Setting Sub Path @@ -810,7 +810,7 @@ These settings can be adjusted by specifying `SE_SCREEN_WIDTH`, `SE_SCREEN_HEIGH environmental variables when starting the container. ``` bash -docker run -d -e SE_SCREEN_WIDTH=1366 -e SE_SCREEN_HEIGHT=768 -e SE_SCREEN_DEPTH=24 -e SE_SCREEN_DPI=74 selenium/standalone-firefox:4.14.1-20231020 +docker run -d -e SE_SCREEN_WIDTH=1366 -e SE_SCREEN_HEIGHT=768 -e SE_SCREEN_DEPTH=24 -e SE_SCREEN_DPI=74 selenium/standalone-firefox:4.14.1-20231025 ``` ### Grid Url and Session Timeout @@ -860,7 +860,7 @@ To avoid starting the server you can set the `START_XVFB` environment variable t ``` bash $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ - -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 -e START_XVFB=false --shm-size="2g" selenium/node-chrome:4.14.1-20231020 + -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 -e START_XVFB=false --shm-size="2g" selenium/node-chrome:4.14.1-20231025 ``` For more information, see this GitHub [issue](https://github.com/SeleniumHQ/docker-selenium/issues/567). @@ -873,7 +873,7 @@ pod and then scale a new one after N sessions. Set the environment variable `SE_ a value higher than zero to enable this behaviour. ``` bash -$ docker run -e SE_DRAIN_AFTER_SESSION_COUNT=5 --shm-size="2g" selenium/standalone-firefox:4.14.1-20231020 +$ docker run -e SE_DRAIN_AFTER_SESSION_COUNT=5 --shm-size="2g" selenium/standalone-firefox:4.14.1-20231025 ``` With the previous command, the Standalone container will shut down after 5 sessions have been executed. @@ -965,22 +965,22 @@ $ docker network create grid $ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub \ --health-cmd='/opt/bin/check-grid.sh --host 0.0.0.0 --port 4444' \ --health-interval=15s --health-timeout=30s --health-retries=5 \ - selenium/hub:4.14.1-20231020 + selenium/hub:4.14.1-20231025 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-chrome:4.14.1-20231020 + selenium/node-chrome:4.14.1-20231025 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-edge:4.14.1-20231020 + selenium/node-edge:4.14.1-20231025 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-firefox:4.14.1-20231020 + selenium/node-firefox:4.14.1-20231025 ``` **Note:** The `\` line delimiter won't work on Windows-based terminals, try either `^` or a backtick. @@ -1113,7 +1113,7 @@ RUN mkdir -p -m755 /seluser/.pki/nssdb \ && chown -R 1200:1201 /seluser # Start from Selenium image and add relevant files from build image -FROM selenium/node-chrome:4.14.1-20231020 +FROM selenium/node-chrome:4.14.1-20231025 USER root COPY --from=build /seluser/ /home/seluser/ USER seluser @@ -1128,7 +1128,7 @@ RUN mkdir -p "/distribution" "/certs" && \ echo '{ "policies": { "Certificates": { "Install": ["/opt/firefox-latest/YOUR_CA.pem"] }} }' >"/distribution/policies.json" # Start from Selenium image and add relevant files from build image -FROM selenium/node-firefox:4.14.1-20231020 +FROM selenium/node-firefox:4.14.1-20231025 USER root COPY --from=build /certs /opt/firefox-latest COPY --from=build /distribution /opt/firefox-latest/distribution @@ -1151,9 +1151,9 @@ You can override it with the `SE_VNC_PORT` environment variable in case you want Here is an example with the standalone images, the same concept applies to the node images. ``` bash -$ docker run -d -p 4444:4444 -p 5900:5900 --shm-size="2g" selenium/standalone-chrome:4.14.1-20231020 -$ docker run -d -p 4445:4444 -p 5901:5900 --shm-size="2g" selenium/standalone-edge:4.14.1-20231020 -$ docker run -d -p 4446:4444 -p 5902:5900 --shm-size="2g" selenium/standalone-firefox:4.14.1-20231020 +$ docker run -d -p 4444:4444 -p 5900:5900 --shm-size="2g" selenium/standalone-chrome:4.14.1-20231025 +$ docker run -d -p 4445:4444 -p 5901:5900 --shm-size="2g" selenium/standalone-edge:4.14.1-20231025 +$ docker run -d -p 4446:4444 -p 5902:5900 --shm-size="2g" selenium/standalone-firefox:4.14.1-20231025 ``` Then, you would use in your VNC client: @@ -1179,9 +1179,9 @@ You can also override it with the `SE_NO_VNC_PORT` environment variable in case Here is an example with the standalone images, the same concept applies to the node images. ``` bash -$ docker run -d -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-chrome:4.14.1-20231020 -$ docker run -d -p 4445:4444 -p 7901:7900 --shm-size="2g" selenium/standalone-edge:4.14.1-20231020 -$ docker run -d -p 4446:4444 -p 7902:7900 --shm-size="2g" selenium/standalone-firefox:4.14.1-20231020 +$ docker run -d -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-chrome:4.14.1-20231025 +$ docker run -d -p 4445:4444 -p 7901:7900 --shm-size="2g" selenium/standalone-edge:4.14.1-20231025 +$ docker run -d -p 4446:4444 -p 7902:7900 --shm-size="2g" selenium/standalone-firefox:4.14.1-20231025 ``` Then, you would use in your browser: @@ -1206,28 +1206,28 @@ In order to enable tracing in the Selenium Grid container, the following command ```bash docker network create grid docker run -d -p 16686:16686 -p 14250:14250 --net grid --name jaeger jaegertracing/all-in-one:1.17 -docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.14.1-20231020 +docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.14.1-20231025 docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_ENABLE_TRACING=true \ -e JAVA_OPTS="-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-hub" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-chrome:4.14.1-20231020 + selenium/node-chrome:4.14.1-20231025 docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_ENABLE_TRACING=true \ -e JAVA_OPTS="-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-edge" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-edge:4.14.1-20231020 + selenium/node-edge:4.14.1-20231025 docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_ENABLE_TRACING=true \ -e JAVA_OPTS="-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-firefox" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-firefox:4.14.1-20231020 + selenium/node-firefox:4.14.1-20231025 ``` You can also refer to the below docker-compose yaml files to be able to start a simple grid (or) a dynamic grid. @@ -1287,7 +1287,7 @@ container in the following way: ```bash docker run -d -p 4444:4444 --shm-size="2g" \ -v /home/ubuntu/files:/home/seluser/files \ - selenium/standalone-chrome:4.14.1-20231020 + selenium/standalone-chrome:4.14.1-20231025 ``` That will mount the host `/home/ubuntu/files` directory diff --git a/charts/selenium-grid/CHANGELOG.md b/charts/selenium-grid/CHANGELOG.md index cc890cdf4..aba79dca1 100644 --- a/charts/selenium-grid/CHANGELOG.md +++ b/charts/selenium-grid/CHANGELOG.md @@ -9,7 +9,7 @@ All notable changes to this helm chart will be documented in this file. - Add missing Ingress namespace field (#1966) :: Cody Lent ### Changed -- Update image tag to 4.14.1-20231020 +- Update image tag to 4.14.1-20231025 ## :heavy_check_mark: 0.21.3 diff --git a/charts/selenium-grid/README.md b/charts/selenium-grid/README.md index e40a723a0..fb37c0dd3 100644 --- a/charts/selenium-grid/README.md +++ b/charts/selenium-grid/README.md @@ -83,8 +83,8 @@ For now, global configuration supported is: | Parameter | Default | Description | |---------------------------------------|-------------------|---------------------------------------| -| `global.seleniumGrid.imageTag` | `4.14.1-20231020` | Image tag for all selenium components | -| `global.seleniumGrid.nodesImageTag` | `4.14.1-20231020` | Image tag for browser's nodes | +| `global.seleniumGrid.imageTag` | `4.14.1-20231025` | Image tag for all selenium components | +| `global.seleniumGrid.nodesImageTag` | `4.14.1-20231025` | Image tag for browser's nodes | | `global.seleniumGrid.imagePullSecret` | `""` | Pull secret to be used for all images | | `global.seleniumGrid.imagePullSecret` | `""` | Pull secret to be used for all images | | `global.seleniumGrid.affinity` | `{}` | Affinity assigned globally | @@ -116,7 +116,7 @@ This table contains the configuration parameters of the chart and their default | `chromeNode.deploymentEnabled` | `true` | Enable creation of Deployment for chrome nodes | | `chromeNode.replicas` | `1` | Number of chrome nodes. Disabled if autoscaling is enabled. | | `chromeNode.imageName` | `selenium/node-chrome` | Image of chrome nodes | -| `chromeNode.imageTag` | `4.14.1-20231020` | Image of chrome nodes | +| `chromeNode.imageTag` | `4.14.1-20231025` | Image of chrome nodes | | `chromeNode.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | | `chromeNode.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | | `chromeNode.ports` | `[5555]` | Port list to enable on container | @@ -152,7 +152,7 @@ This table contains the configuration parameters of the chart and their default | `firefoxNode.deploymentEnabled` | `true` | Enable creation of Deployment for firefox nodes | | `firefoxNode.replicas` | `1` | Number of firefox nodes. Disabled if autoscaling is enabled. | | `firefoxNode.imageName` | `selenium/node-firefox` | Image of firefox nodes | -| `firefoxNode.imageTag` | `4.14.1-20231020` | Image of firefox nodes | +| `firefoxNode.imageTag` | `4.14.1-20231025` | Image of firefox nodes | | `firefoxNode.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | | `firefoxNode.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | | `firefoxNode.ports` | `[5555]` | Port list to enable on container | @@ -188,7 +188,7 @@ This table contains the configuration parameters of the chart and their default | `edgeNode.deploymentEnabled` | `true` | Enable creation of Deployment for edge nodes | | `edgeNode.replicas` | `1` | Number of edge nodes. Disabled if autoscaling is enabled. | | `edgeNode.imageName` | `selenium/node-edge` | Image of edge nodes | -| `edgeNode.imageTag` | `4.14.1-20231020` | Image of edge nodes | +| `edgeNode.imageTag` | `4.14.1-20231025` | Image of edge nodes | | `edgeNode.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | | `edgeNode.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | | `edgeNode.ports` | `[5555]` | Port list to enable on container | diff --git a/charts/selenium-grid/values.yaml b/charts/selenium-grid/values.yaml index 193e5499c..28eb115d4 100644 --- a/charts/selenium-grid/values.yaml +++ b/charts/selenium-grid/values.yaml @@ -1,9 +1,9 @@ global: seleniumGrid: # Image tag for all selenium components - imageTag: 4.14.1-20231020 + imageTag: 4.14.1-20231025 # Image tag for browser's nodes - nodesImageTag: 4.14.1-20231020 + nodesImageTag: 4.14.1-20231025 # Pull secret for all components, can be overridden individually imagePullSecret: "" @@ -62,7 +62,7 @@ components: # Router image name imageName: selenium/router # Router image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.14.1-20231020 + # imageTag: 4.14.1-20231025 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent @@ -113,7 +113,7 @@ components: # Distributor image name imageName: selenium/distributor # Distributor image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.14.1-20231020 + # imageTag: 4.14.1-20231025 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent @@ -144,7 +144,7 @@ components: # Event Bus image name imageName: selenium/event-bus # Event Bus image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.14.1-20231020 + # imageTag: 4.14.1-20231025 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent @@ -179,7 +179,7 @@ components: # Session Map image name imageName: selenium/sessions # Session Map image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.14.1-20231020 + # imageTag: 4.14.1-20231025 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent @@ -209,7 +209,7 @@ components: # Session Queue image name imageName: selenium/session-queue # Session Queue image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.14.1-20231020 + # imageTag: 4.14.1-20231025 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent @@ -259,7 +259,7 @@ hub: # Selenium Hub image name imageName: selenium/hub # Selenium Hub image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.14.1-20231020 + # imageTag: 4.14.1-20231025 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent # Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) @@ -379,7 +379,7 @@ chromeNode: # Image of chrome nodes imageName: selenium/node-chrome # Image of chrome nodes (this overwrites global.seleniumGrid.nodesImageTag) - # imageTag: 4.14.1-20231020 + # imageTag: 4.14.1-20231025 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent # Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) @@ -502,7 +502,7 @@ firefoxNode: # Image of firefox nodes imageName: selenium/node-firefox # Image of firefox nodes (this overwrites global.seleniumGrid.nodesImageTag) - # imageTag: 4.14.1-20231020 + # imageTag: 4.14.1-20231025 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent # Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) @@ -621,7 +621,7 @@ edgeNode: # Image of edge nodes imageName: selenium/node-edge # Image of edge nodes (this overwrites global.seleniumGrid.nodesImageTag) - # imageTag: 4.14.1-20231020 + # imageTag: 4.14.1-20231025 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent # Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) diff --git a/docker-compose-v2-tracing.yml b/docker-compose-v2-tracing.yml index a1eeec51b..e2bc521a7 100644 --- a/docker-compose-v2-tracing.yml +++ b/docker-compose-v2-tracing.yml @@ -9,7 +9,7 @@ services: - "16686:16686" - "14250:14250" chrome: - image: selenium/node-chrome:4.14.1-20231020 + image: selenium/node-chrome:4.14.1-20231025 shm_size: 2gb depends_on: - selenium-hub @@ -23,7 +23,7 @@ services: - "6900:5900" edge: - image: selenium/node-edge:4.14.1-20231020 + image: selenium/node-edge:4.14.1-20231025 shm_size: 2gb depends_on: - selenium-hub @@ -37,7 +37,7 @@ services: - "6901:5900" firefox: - image: selenium/node-firefox:4.14.1-20231020 + image: selenium/node-firefox:4.14.1-20231025 shm_size: 2gb depends_on: - selenium-hub @@ -51,7 +51,7 @@ services: - "6902:5900" selenium-hub: - image: selenium/hub:4.14.1-20231020 + image: selenium/hub:4.14.1-20231025 ports: - "4442:4442" - "4443:4443" diff --git a/docker-compose-v2.yml b/docker-compose-v2.yml index 2f8423872..42a79616f 100644 --- a/docker-compose-v2.yml +++ b/docker-compose-v2.yml @@ -4,7 +4,7 @@ version: '2' services: chrome: - image: selenium/node-chrome:4.14.1-20231020 + image: selenium/node-chrome:4.14.1-20231025 shm_size: 2gb depends_on: - selenium-hub @@ -16,7 +16,7 @@ services: - "6900:5900" edge: - image: selenium/node-edge:4.14.1-20231020 + image: selenium/node-edge:4.14.1-20231025 shm_size: 2gb depends_on: - selenium-hub @@ -28,7 +28,7 @@ services: - "6901:5900" firefox: - image: selenium/node-firefox:4.14.1-20231020 + image: selenium/node-firefox:4.14.1-20231025 shm_size: 2gb depends_on: - selenium-hub @@ -40,7 +40,7 @@ services: - "6902:5900" selenium-hub: - image: selenium/hub:4.14.1-20231020 + image: selenium/hub:4.14.1-20231025 ports: - "4442:4442" - "4443:4443" diff --git a/docker-compose-v3-basicauth.yml b/docker-compose-v3-basicauth.yml index 27d41c206..e7846549c 100644 --- a/docker-compose-v3-basicauth.yml +++ b/docker-compose-v3-basicauth.yml @@ -4,7 +4,7 @@ version: "3" services: chrome: - image: selenium/node-chrome:4.14.1-20231020 + image: selenium/node-chrome:4.14.1-20231025 shm_size: 2gb depends_on: - selenium-hub @@ -14,7 +14,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.14.1-20231020 + image: selenium/node-edge:4.14.1-20231025 shm_size: 2gb depends_on: - selenium-hub @@ -24,7 +24,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.14.1-20231020 + image: selenium/node-firefox:4.14.1-20231025 shm_size: 2gb depends_on: - selenium-hub @@ -34,7 +34,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-hub: - image: selenium/hub:4.14.1-20231020 + image: selenium/hub:4.14.1-20231025 container_name: selenium-hub ports: - "4442:4442" diff --git a/docker-compose-v3-dev.yml b/docker-compose-v3-dev.yml index 61204a19e..d81a24cd0 100644 --- a/docker-compose-v3-dev.yml +++ b/docker-compose-v3-dev.yml @@ -4,7 +4,7 @@ version: "3" services: chrome: - image: selenium/node-chrome:4.14.1-20231020 + image: selenium/node-chrome:4.14.1-20231025 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar @@ -16,7 +16,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.14.1-20231020 + image: selenium/node-edge:4.14.1-20231025 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar @@ -28,7 +28,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.14.1-20231020 + image: selenium/node-firefox:4.14.1-20231025 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar @@ -40,7 +40,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-hub: - image: selenium/hub:4.14.1-20231020 + image: selenium/hub:4.14.1-20231025 container_name: selenium-hub volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar diff --git a/docker-compose-v3-dynamic-grid.yml b/docker-compose-v3-dynamic-grid.yml index 60fbb7dc5..1970d9dbe 100644 --- a/docker-compose-v3-dynamic-grid.yml +++ b/docker-compose-v3-dynamic-grid.yml @@ -4,7 +4,7 @@ version: "3" services: node-docker: - image: selenium/node-docker:4.14.1-20231020 + image: selenium/node-docker:4.14.1-20231025 volumes: - ./assets:/opt/selenium/assets - ./NodeDocker/config.toml:/opt/bin/config.toml @@ -17,7 +17,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-hub: - image: selenium/hub:4.14.1-20231020 + image: selenium/hub:4.14.1-20231025 container_name: selenium-hub ports: - "4442:4442" diff --git a/docker-compose-v3-full-grid-dev.yml b/docker-compose-v3-full-grid-dev.yml index 006d2bc38..7fc9990a8 100644 --- a/docker-compose-v3-full-grid-dev.yml +++ b/docker-compose-v3-full-grid-dev.yml @@ -4,7 +4,7 @@ version: "3" services: selenium-event-bus: - image: selenium/event-bus:4.14.1-20231020 + image: selenium/event-bus:4.14.1-20231025 volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar container_name: selenium-event-bus @@ -14,7 +14,7 @@ services: - "5557:5557" selenium-sessions: - image: selenium/sessions:4.14.1-20231020 + image: selenium/sessions:4.14.1-20231025 volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar container_name: selenium-sessions @@ -28,7 +28,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-session-queue: - image: selenium/session-queue:4.14.1-20231020 + image: selenium/session-queue:4.14.1-20231025 volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar container_name: selenium-session-queue @@ -36,7 +36,7 @@ services: - "5559:5559" selenium-distributor: - image: selenium/distributor:4.14.1-20231020 + image: selenium/distributor:4.14.1-20231025 volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar container_name: selenium-distributor @@ -56,7 +56,7 @@ services: - SE_SESSION_QUEUE_PORT=5559 selenium-router: - image: selenium/router:4.14.1-20231020 + image: selenium/router:4.14.1-20231025 volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar container_name: selenium-router @@ -75,7 +75,7 @@ services: - SE_SESSION_QUEUE_PORT=5559 chrome: - image: selenium/node-chrome:4.14.1-20231020 + image: selenium/node-chrome:4.14.1-20231025 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar @@ -87,7 +87,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.14.1-20231020 + image: selenium/node-edge:4.14.1-20231025 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar @@ -99,7 +99,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.14.1-20231020 + image: selenium/node-firefox:4.14.1-20231025 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar diff --git a/docker-compose-v3-full-grid-swarm.yml b/docker-compose-v3-full-grid-swarm.yml index 2e147ed69..bd2ac0738 100644 --- a/docker-compose-v3-full-grid-swarm.yml +++ b/docker-compose-v3-full-grid-swarm.yml @@ -7,7 +7,7 @@ version: '3.7' services: chrome: - image: selenium/node-chrome:4.14.1-20231020 + image: selenium/node-chrome:4.14.1-20231025 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -18,7 +18,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' edge: - image: selenium/node-edge:4.14.1-20231020 + image: selenium/node-edge:4.14.1-20231025 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -29,7 +29,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' firefox: - image: selenium/node-firefox:4.14.1-20231020 + image: selenium/node-firefox:4.14.1-20231025 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -40,7 +40,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' selenium-hub: - image: selenium/hub:4.14.1-20231020 + image: selenium/hub:4.14.1-20231025 ports: - "4442:4442" - "4443:4443" diff --git a/docker-compose-v3-full-grid-tracing.yml b/docker-compose-v3-full-grid-tracing.yml index 5a697ed32..c624b5d8a 100644 --- a/docker-compose-v3-full-grid-tracing.yml +++ b/docker-compose-v3-full-grid-tracing.yml @@ -9,7 +9,7 @@ services: - "16686:16686" - "14250:14250" selenium-event-bus: - image: selenium/event-bus:4.14.1-20231020 + image: selenium/event-bus:4.14.1-20231025 container_name: selenium-event-bus ports: - "4442:4442" @@ -21,7 +21,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-event-bus selenium-sessions: - image: selenium/sessions:4.14.1-20231020 + image: selenium/sessions:4.14.1-20231025 container_name: selenium-sessions ports: - "5556:5556" @@ -34,7 +34,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-sessions selenium-session-queue: - image: selenium/session-queue:4.14.1-20231020 + image: selenium/session-queue:4.14.1-20231025 container_name: selenium-session-queue ports: - "5559:5559" @@ -42,7 +42,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-session-queue selenium-distributor: - image: selenium/distributor:4.14.1-20231020 + image: selenium/distributor:4.14.1-20231025 container_name: selenium-distributor ports: - "5553:5553" @@ -61,7 +61,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-distributor selenium-router: - image: selenium/router:4.14.1-20231020 + image: selenium/router:4.14.1-20231025 container_name: selenium-router ports: - "4444:4444" @@ -79,7 +79,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-router chrome: - image: selenium/node-chrome:4.14.1-20231020 + image: selenium/node-chrome:4.14.1-20231025 shm_size: 2gb depends_on: - selenium-event-bus @@ -90,7 +90,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-chrome edge: - image: selenium/node-edge:4.14.1-20231020 + image: selenium/node-edge:4.14.1-20231025 shm_size: 2gb depends_on: - selenium-event-bus @@ -101,7 +101,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-edge firefox: - image: selenium/node-firefox:4.14.1-20231020 + image: selenium/node-firefox:4.14.1-20231025 shm_size: 2gb depends_on: - selenium-event-bus diff --git a/docker-compose-v3-full-grid.yml b/docker-compose-v3-full-grid.yml index cd5339fac..267fadf49 100644 --- a/docker-compose-v3-full-grid.yml +++ b/docker-compose-v3-full-grid.yml @@ -4,7 +4,7 @@ version: "3" services: selenium-event-bus: - image: selenium/event-bus:4.14.1-20231020 + image: selenium/event-bus:4.14.1-20231025 container_name: selenium-event-bus ports: - "4442:4442" @@ -12,7 +12,7 @@ services: - "5557:5557" selenium-sessions: - image: selenium/sessions:4.14.1-20231020 + image: selenium/sessions:4.14.1-20231025 container_name: selenium-sessions ports: - "5556:5556" @@ -24,13 +24,13 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-session-queue: - image: selenium/session-queue:4.14.1-20231020 + image: selenium/session-queue:4.14.1-20231025 container_name: selenium-session-queue ports: - "5559:5559" selenium-distributor: - image: selenium/distributor:4.14.1-20231020 + image: selenium/distributor:4.14.1-20231025 container_name: selenium-distributor ports: - "5553:5553" @@ -48,7 +48,7 @@ services: - SE_SESSION_QUEUE_PORT=5559 selenium-router: - image: selenium/router:4.14.1-20231020 + image: selenium/router:4.14.1-20231025 container_name: selenium-router ports: - "4444:4444" @@ -65,7 +65,7 @@ services: - SE_SESSION_QUEUE_PORT=5559 chrome: - image: selenium/node-chrome:4.14.1-20231020 + image: selenium/node-chrome:4.14.1-20231025 shm_size: 2gb depends_on: - selenium-event-bus @@ -75,7 +75,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.14.1-20231020 + image: selenium/node-edge:4.14.1-20231025 shm_size: 2gb depends_on: - selenium-event-bus @@ -85,7 +85,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.14.1-20231020 + image: selenium/node-firefox:4.14.1-20231025 shm_size: 2gb depends_on: - selenium-event-bus diff --git a/docker-compose-v3-swarm.yml b/docker-compose-v3-swarm.yml index 2e147ed69..bd2ac0738 100644 --- a/docker-compose-v3-swarm.yml +++ b/docker-compose-v3-swarm.yml @@ -7,7 +7,7 @@ version: '3.7' services: chrome: - image: selenium/node-chrome:4.14.1-20231020 + image: selenium/node-chrome:4.14.1-20231025 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -18,7 +18,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' edge: - image: selenium/node-edge:4.14.1-20231020 + image: selenium/node-edge:4.14.1-20231025 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -29,7 +29,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' firefox: - image: selenium/node-firefox:4.14.1-20231020 + image: selenium/node-firefox:4.14.1-20231025 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -40,7 +40,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' selenium-hub: - image: selenium/hub:4.14.1-20231020 + image: selenium/hub:4.14.1-20231025 ports: - "4442:4442" - "4443:4443" diff --git a/docker-compose-v3-tracing.yml b/docker-compose-v3-tracing.yml index beaf72cdb..596e26238 100644 --- a/docker-compose-v3-tracing.yml +++ b/docker-compose-v3-tracing.yml @@ -9,7 +9,7 @@ services: - "16686:16686" - "14250:14250" chrome: - image: selenium/node-chrome:4.14.1-20231020 + image: selenium/node-chrome:4.14.1-20231025 shm_size: 2gb depends_on: - selenium-hub @@ -21,7 +21,7 @@ services: - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-chrome edge: - image: selenium/node-edge:4.14.1-20231020 + image: selenium/node-edge:4.14.1-20231025 shm_size: 2gb depends_on: - selenium-hub @@ -33,7 +33,7 @@ services: - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-edge firefox: - image: selenium/node-firefox:4.14.1-20231020 + image: selenium/node-firefox:4.14.1-20231025 shm_size: 2gb depends_on: - selenium-hub @@ -45,7 +45,7 @@ services: - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-firefox selenium-hub: - image: selenium/hub:4.14.1-20231020 + image: selenium/hub:4.14.1-20231025 container_name: selenium-hub ports: - "4442:4442" diff --git a/docker-compose-v3-video.yml b/docker-compose-v3-video.yml index f5f9502e5..848f943bd 100644 --- a/docker-compose-v3-video.yml +++ b/docker-compose-v3-video.yml @@ -4,7 +4,7 @@ version: "3" services: chrome: - image: selenium/node-chrome:4.14.1-20231020 + image: selenium/node-chrome:4.14.1-20231025 shm_size: 2gb depends_on: - selenium-hub @@ -14,7 +14,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.14.1-20231020 + image: selenium/node-edge:4.14.1-20231025 shm_size: 2gb depends_on: - selenium-hub @@ -24,7 +24,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.14.1-20231020 + image: selenium/node-firefox:4.14.1-20231025 shm_size: 2gb depends_on: - selenium-hub @@ -34,7 +34,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 chrome_video: - image: selenium/video:ffmpeg-6.0-20231020 + image: selenium/video:ffmpeg-6.0-20231025 volumes: - /tmp/videos:/videos depends_on: @@ -44,7 +44,7 @@ services: - FILE_NAME=chrome_video.mp4 edge_video: - image: selenium/video:ffmpeg-6.0-20231020 + image: selenium/video:ffmpeg-6.0-20231025 volumes: - /tmp/videos:/videos depends_on: @@ -54,7 +54,7 @@ services: - FILE_NAME=edge_video.mp4 firefox_video: - image: selenium/video:ffmpeg-6.0-20231020 + image: selenium/video:ffmpeg-6.0-20231025 volumes: - /tmp/videos:/videos depends_on: @@ -64,7 +64,7 @@ services: - FILE_NAME=firefox_video.mp4 selenium-hub: - image: selenium/hub:4.14.1-20231020 + image: selenium/hub:4.14.1-20231025 container_name: selenium-hub ports: - "4442:4442" diff --git a/docker-compose-v3.yml b/docker-compose-v3.yml index d1d032a3d..e728b9b79 100644 --- a/docker-compose-v3.yml +++ b/docker-compose-v3.yml @@ -4,7 +4,7 @@ version: "3" services: chrome: - image: selenium/node-chrome:4.14.1-20231020 + image: selenium/node-chrome:4.14.1-20231025 shm_size: 2gb depends_on: - selenium-hub @@ -14,7 +14,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.14.1-20231020 + image: selenium/node-edge:4.14.1-20231025 shm_size: 2gb depends_on: - selenium-hub @@ -24,7 +24,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.14.1-20231020 + image: selenium/node-firefox:4.14.1-20231025 shm_size: 2gb depends_on: - selenium-hub @@ -34,7 +34,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-hub: - image: selenium/hub:4.14.1-20231020 + image: selenium/hub:4.14.1-20231025 container_name: selenium-hub ports: - "4442:4442" From 020ded4eb6e02ec4ea52dd16f94ea7b27799bdba Mon Sep 17 00:00:00 2001 From: Diego Molina Date: Wed, 25 Oct 2023 17:42:55 +0200 Subject: [PATCH 22/84] Bumping chart version --- charts/selenium-grid/CHANGELOG.md | 13 ++++++++++++- charts/selenium-grid/Chart.yaml | 4 ++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/charts/selenium-grid/CHANGELOG.md b/charts/selenium-grid/CHANGELOG.md index aba79dca1..0291683e1 100644 --- a/charts/selenium-grid/CHANGELOG.md +++ b/charts/selenium-grid/CHANGELOG.md @@ -2,6 +2,17 @@ All notable changes to this helm chart will be documented in this file. +## :heavy_check_mark: 0.23.0 + +### Added + +- Update tag in docs and files [skip ci] :: Selenium CI Bot +- feat: video recording with pluggable upload container (#1881) :: MÃ¥rten Svantesson +- Update Video/Dockerfile with based image ffmpeg:6.0-alpine (#1981) :: Viet Nguyen Duc + +### Changed +- Update image tag to 4.14.1-20231025 + ## :heavy_check_mark: 0.22.0 ### Added @@ -9,7 +20,7 @@ All notable changes to this helm chart will be documented in this file. - Add missing Ingress namespace field (#1966) :: Cody Lent ### Changed -- Update image tag to 4.14.1-20231025 +- Update image tag to 4.13.0-20231004 ## :heavy_check_mark: 0.21.3 diff --git a/charts/selenium-grid/Chart.yaml b/charts/selenium-grid/Chart.yaml index f11aa98e0..e5d9c79ec 100644 --- a/charts/selenium-grid/Chart.yaml +++ b/charts/selenium-grid/Chart.yaml @@ -2,8 +2,8 @@ apiVersion: v2 name: selenium-grid description: A Helm chart for creating a Selenium Grid Server in Kubernetes type: application -version: 0.22.0 -appVersion: 4.13.0-20231004 +version: 0.23.0 +appVersion: 4.14.1-20231025 icon: https://github.com/SeleniumHQ/docker-selenium/raw/trunk/logo.png dependencies: - repository: https://kedacore.github.io/charts From 0f7367ed1ce9ead11019c373e3a38ea32103cc9b Mon Sep 17 00:00:00 2001 From: Viet Nguyen Duc Date: Fri, 27 Oct 2023 14:47:56 +0700 Subject: [PATCH 23/84] Fix minor issues after PR #1881 and #1981 (#1983) Signed-off-by: Viet Nguyen Duc --- Video/Dockerfile | 2 +- Video/supervisord.conf | 1 + charts/selenium-grid/templates/video-cm.yaml | 5 ++++- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/Video/Dockerfile b/Video/Dockerfile index bfd121903..808e8715a 100644 --- a/Video/Dockerfile +++ b/Video/Dockerfile @@ -6,7 +6,7 @@ LABEL authors="Selenium " #======================== RUN apk update \ && apk upgrade \ - && apk add --no-cache --update --virtual .build-deps supervisor bash curl jq xset python3 py3-psutil py3-pip \ + && apk add --no-cache --update --virtual .build-deps supervisor bash curl jq xset xdpyinfo python3 py3-psutil py3-pip \ && ln -sf python3 /usr/bin/python \ && rm -rf /tmp/* /var/cache/apk/* diff --git a/Video/supervisord.conf b/Video/supervisord.conf index 68d42b8a2..84b7d6ae2 100644 --- a/Video/supervisord.conf +++ b/Video/supervisord.conf @@ -10,6 +10,7 @@ pidfile=/var/run/supervisor/supervisord.pid ; (supervisord pidfile;default sup nodaemon=true ; (start in foreground if true;default false) minfds=1024 ; (min. avail startup file descriptors;default 1024) minprocs=200 ; (min. avail process descriptors;default 200) +user=root ; (default is current user, required if root) [program:video-recording] priority=0 diff --git a/charts/selenium-grid/templates/video-cm.yaml b/charts/selenium-grid/templates/video-cm.yaml index 41a13b027..400278720 100644 --- a/charts/selenium-grid/templates/video-cm.yaml +++ b/charts/selenium-grid/templates/video-cm.yaml @@ -20,7 +20,10 @@ data: return_code=1 max_attempts=600 attempts=0 - mkfifo /videos/uploadpipe + if [ ! -p /videos/uploadpipe ]; + then + mkfifo /videos/uploadpipe + fi if [[ "$UPLOAD_DESTINATION_PREFIX" = "" ]] then echo Upload destination not known since UPLOAD_DESTINATION_PREFIX is not set. Exiting video recorder. From fe80abaaa28102ac2a8d24a844a229dad3dbccc1 Mon Sep 17 00:00:00 2001 From: Viet Nguyen Duc Date: Fri, 27 Oct 2023 17:10:43 +0700 Subject: [PATCH 24/84] Improve default value for videoRecorder in chart (#1984) Signed-off-by: Viet Nguyen Duc --- charts/selenium-grid/templates/_helpers.tpl | 2 +- .../templates/chrome-node-deployment.yaml | 2 +- .../templates/chrome-node-scaledjobs.yaml | 2 +- .../selenium-grid/templates/edge-node-deployment.yaml | 2 +- .../selenium-grid/templates/edge-node-scaledjob.yaml | 2 +- .../templates/firefox-node-deployment.yaml | 2 +- .../templates/firefox-node-scaledjob.yaml | 2 +- charts/selenium-grid/templates/video-cm.yaml | 11 +++++++---- charts/selenium-grid/values.yaml | 8 +++++--- 9 files changed, 19 insertions(+), 14 deletions(-) diff --git a/charts/selenium-grid/templates/_helpers.tpl b/charts/selenium-grid/templates/_helpers.tpl index affe63635..3b95b017a 100644 --- a/charts/selenium-grid/templates/_helpers.tpl +++ b/charts/selenium-grid/templates/_helpers.tpl @@ -181,7 +181,7 @@ template: imagePullPolicy: {{ .Values.videoRecorder.imagePullPolicy }} env: - name: UPLOAD_DESTINATION_PREFIX - value: {{ .Values.videoRecorder.uploadDestinationPrefix }} + value: {{ .Values.videoRecorder.uploadDestinationPrefix | quote }} {{- with .Values.videoRecorder.extraEnvironmentVariables }} {{- tpl (toYaml .) $ | nindent 8 }} {{- end }} diff --git a/charts/selenium-grid/templates/chrome-node-deployment.yaml b/charts/selenium-grid/templates/chrome-node-deployment.yaml index a89800fdf..4d9a30ac0 100644 --- a/charts/selenium-grid/templates/chrome-node-deployment.yaml +++ b/charts/selenium-grid/templates/chrome-node-deployment.yaml @@ -25,6 +25,6 @@ spec: {{- $podScope := deepCopy . -}} {{- $_ := set $podScope "name" "selenium-chrome-node" -}} {{- $_ = set $podScope "node" .Values.chromeNode -}} -{{- $_ = set $podScope "uploader" (get .Values.videoRecorder .Values.videoRecorder.uploader) -}} +{{- $_ = set $podScope "uploader" (get .Values.videoRecorder (.Values.videoRecorder.uploader | toString)) -}} {{- include "seleniumGrid.podTemplate" $podScope | nindent 2 }} {{- end }} diff --git a/charts/selenium-grid/templates/chrome-node-scaledjobs.yaml b/charts/selenium-grid/templates/chrome-node-scaledjobs.yaml index b5770e8a2..c72818b05 100644 --- a/charts/selenium-grid/templates/chrome-node-scaledjobs.yaml +++ b/charts/selenium-grid/templates/chrome-node-scaledjobs.yaml @@ -35,6 +35,6 @@ spec: {{- $podScope := deepCopy . -}} {{- $_ := set $podScope "name" "selenium-chrome-node" -}} {{- $_ = set $podScope "node" .Values.chromeNode -}} -{{- $_ = set $podScope "uploader" (get .Values.videoRecorder .Values.videoRecorder.uploader) -}} +{{- $_ = set $podScope "uploader" (get .Values.videoRecorder (.Values.videoRecorder.uploader | toString)) -}} {{- include "seleniumGrid.podTemplate" $podScope | nindent 4 }} {{- end }} diff --git a/charts/selenium-grid/templates/edge-node-deployment.yaml b/charts/selenium-grid/templates/edge-node-deployment.yaml index d81b7ef93..6216dc101 100644 --- a/charts/selenium-grid/templates/edge-node-deployment.yaml +++ b/charts/selenium-grid/templates/edge-node-deployment.yaml @@ -25,6 +25,6 @@ spec: {{- $podScope := deepCopy . -}} {{- $_ := set $podScope "name" "selenium-edge-node" -}} {{- $_ = set $podScope "node" .Values.edgeNode -}} -{{- $_ = set $podScope "uploader" (get .Values.videoRecorder .Values.videoRecorder.uploader) -}} +{{- $_ = set $podScope "uploader" (get .Values.videoRecorder (.Values.videoRecorder.uploader | toString)) -}} {{- include "seleniumGrid.podTemplate" $podScope | nindent 2 }} {{- end }} diff --git a/charts/selenium-grid/templates/edge-node-scaledjob.yaml b/charts/selenium-grid/templates/edge-node-scaledjob.yaml index 6083226e5..eae9ba79a 100644 --- a/charts/selenium-grid/templates/edge-node-scaledjob.yaml +++ b/charts/selenium-grid/templates/edge-node-scaledjob.yaml @@ -35,6 +35,6 @@ spec: {{- $podScope := deepCopy . -}} {{- $_ := set $podScope "name" "selenium-edge-node" -}} {{- $_ = set $podScope "node" .Values.edgeNode -}} -{{- $_ = set $podScope "uploader" (get .Values.videoRecorder .Values.videoRecorder.uploader) -}} +{{- $_ = set $podScope "uploader" (get .Values.videoRecorder (.Values.videoRecorder.uploader | toString)) -}} {{- include "seleniumGrid.podTemplate" $podScope | nindent 4 }} {{- end }} diff --git a/charts/selenium-grid/templates/firefox-node-deployment.yaml b/charts/selenium-grid/templates/firefox-node-deployment.yaml index 645986c11..13dcf904f 100644 --- a/charts/selenium-grid/templates/firefox-node-deployment.yaml +++ b/charts/selenium-grid/templates/firefox-node-deployment.yaml @@ -25,6 +25,6 @@ spec: {{- $podScope := deepCopy . -}} {{- $_ := set $podScope "name" "selenium-firefox-node" -}} {{- $_ = set $podScope "node" .Values.firefoxNode -}} -{{- $_ = set $podScope "uploader" (get .Values.videoRecorder .Values.videoRecorder.uploader) -}} +{{- $_ = set $podScope "uploader" (get .Values.videoRecorder (.Values.videoRecorder.uploader | toString)) -}} {{- include "seleniumGrid.podTemplate" $podScope | nindent 2 }} {{- end }} diff --git a/charts/selenium-grid/templates/firefox-node-scaledjob.yaml b/charts/selenium-grid/templates/firefox-node-scaledjob.yaml index 4ec26225a..3fceee4f5 100644 --- a/charts/selenium-grid/templates/firefox-node-scaledjob.yaml +++ b/charts/selenium-grid/templates/firefox-node-scaledjob.yaml @@ -35,6 +35,6 @@ spec: {{- $podScope := deepCopy . -}} {{- $_ := set $podScope "name" "selenium-firefox-node" -}} {{- $_ = set $podScope "node" .Values.firefoxNode -}} -{{- $_ = set $podScope "uploader" (get .Values.videoRecorder .Values.videoRecorder.uploader) -}} +{{- $_ = set $podScope "uploader" (get .Values.videoRecorder (.Values.videoRecorder.uploader | toString)) -}} {{- include "seleniumGrid.podTemplate" $podScope | nindent 4 }} {{- end }} diff --git a/charts/selenium-grid/templates/video-cm.yaml b/charts/selenium-grid/templates/video-cm.yaml index 400278720..e3ea227d5 100644 --- a/charts/selenium-grid/templates/video-cm.yaml +++ b/charts/selenium-grid/templates/video-cm.yaml @@ -67,7 +67,7 @@ data: if [[ "$session_id" != "null" && "$session_id" != "" && "$recording_started" = "false" ]] then video_file_name="$session_id.mp4" - video_file="${VIDEO_LOCATION:-/videos}/$video_file_name" + video_file="${SE_VIDEO_FOLDER:-/videos}/$video_file_name" echo "Starting to record video" ffmpeg -nostdin -y -f x11grab -video_size ${VIDEO_SIZE} -r ${FRAME_RATE} -i ${DISPLAY} -codec:v ${CODEC} ${PRESET} -pix_fmt yuv420p $video_file & recording_started="true" @@ -77,9 +77,12 @@ data: echo "Stopping to record video" kill -INT %1 fg || echo ffmpeg exited with code $? - upload_destination=${UPLOAD_DESTINATION_PREFIX}${video_file_name} - echo "Uploading video to $upload_destination" - echo $video_file $upload_destination > /videos/uploadpipe & + if [[ "$UPLOAD_DESTINATION_PREFIX" != "false" ]] + then + upload_destination=${UPLOAD_DESTINATION_PREFIX}${video_file_name} + echo "Uploading video to $upload_destination" + echo $video_file $upload_destination > /videos/uploadpipe & + fi recording_started="false" elif [[ $recording_started = "true" ]] then diff --git a/charts/selenium-grid/values.yaml b/charts/selenium-grid/values.yaml index 28eb115d4..cb773015e 100644 --- a/charts/selenium-grid/values.yaml +++ b/charts/selenium-grid/values.yaml @@ -730,9 +730,10 @@ videoRecorder: imageName: selenium/video enabled: false # Where to upload the video file. Should be set to something like 's3://myvideobucket/' - uploadDestinationPrefix: "" + uploadDestinationPrefix: false # What uploader to use. See .videRecorder.s3 for how to create a new one. - uploader: s3 + # uploader: s3 + uploader: false # Image of video recorder imageTag: latest @@ -749,7 +750,7 @@ videoRecorder: memory: "1Gi" cpu: "1" extraEnvironmentVariables: [] - # - name: VIDEO_LOCATION + # - name: SE_VIDEO_FOLDER # value: /videos # Custom environment variables by sourcing entire configMap, Secret, etc. for video recorder. extraEnvFrom: @@ -761,6 +762,7 @@ videoRecorder: terminationGracePeriodSeconds: 30 volume: emptyDir: {} + # Container spec for the uploader if above it is defined as "uploader: s3" s3: imageName: public.ecr.aws/bitnami/aws-cli imageTag: "2" From 4f725b7a5d392fcb96af16438eb92518926ccdaa Mon Sep 17 00:00:00 2001 From: Viet Nguyen Duc Date: Mon, 30 Oct 2023 17:42:43 +0700 Subject: [PATCH 25/84] Improve chart templates in the section videoRecorder (#1987) Improve chart templates in section videoRecorder Signed-off-by: Viet Nguyen Duc --- charts/selenium-grid/README.md | 283 +++++++++++--------- charts/selenium-grid/templates/_helpers.tpl | 140 ++++++++-- charts/selenium-grid/values.yaml | 85 ++++-- 3 files changed, 325 insertions(+), 183 deletions(-) diff --git a/charts/selenium-grid/README.md b/charts/selenium-grid/README.md index fb37c0dd3..65e14ec6e 100644 --- a/charts/selenium-grid/README.md +++ b/charts/selenium-grid/README.md @@ -91,137 +91,158 @@ For now, global configuration supported is: This table contains the configuration parameters of the chart and their default values: -| Parameter | Default | Description | -|---------------------------------------------|---------------------------------------------|----------------------------------------------------------------------------------------------------------------------------| -| `isolateComponents` | `false` | Deploy Router, Distributor, EventBus, SessionMap and Nodes separately | -| `serviceAccount.create` | `true` | Enable or disable creation of service account (if `false`, `serviceAccount.name` MUST be specified | -| `serviceAccount.name` | `""` | Name of the service account to be made or existing service account to use for all deployments and jobs | -| `serviceAccount.annotations` | `{}` | Custom annotations for service account | -| `busConfigMap.name` | `selenium-event-bus-config` | Name of the configmap that contains SE_EVENT_BUS_HOST, SE_EVENT_BUS_PUBLISH_PORT and SE_EVENT_BUS_SUBSCRIBE_PORT variables | -| `busConfigMap.annotations` | `{}` | Custom annotations for configmap | -| `nodeConfigMap.name` | `selenium-node-config` | Name of the configmap that contains common environment variables for browser nodes | -| `nodeConfigMap.annotations` | `{}` | Custom annotations for configmap | -| `ingress.enabled` | `true` | Enable or disable ingress resource | -| `ingress.className` | `""` | Name of ingress class to select which controller will implement ingress resource | -| `ingress.annotations` | `{}` | Custom annotations for ingress resource | -| `ingress.hostname` | `selenium-grid.local` | Default host for the ingress resource | -| `ingress.path` | `/` | Default host path for the ingress resource | -| `ingress.tls` | `[]` | TLS backend configuration for ingress resource | -| `autoscaling.enableWithExistingKEDA` | `false` | Enable autoscaling of browser nodes. | -| `autoscaling.enabled` | `false` | Same as above plus installation of KEDA | -| `autoscaling.scalingType` | `job` | Which typ of KEDA scaling to use: job or deployment | -| `autoscaling.scaledJobOptions` | See `values.yaml` | Options for KEDA ScaledJobs | -| `autoscaling.deregisterLifecycle` | See `values.yaml` | Lifecycle applied to pods of deployments controlled by KEDA. Makes the node deregister from selenium hub | -| `chromeNode.enabled` | `true` | Enable chrome nodes | -| `chromeNode.deploymentEnabled` | `true` | Enable creation of Deployment for chrome nodes | -| `chromeNode.replicas` | `1` | Number of chrome nodes. Disabled if autoscaling is enabled. | -| `chromeNode.imageName` | `selenium/node-chrome` | Image of chrome nodes | -| `chromeNode.imageTag` | `4.14.1-20231025` | Image of chrome nodes | -| `chromeNode.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | -| `chromeNode.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | -| `chromeNode.ports` | `[5555]` | Port list to enable on container | -| `chromeNode.seleniumPort` | `5900` | Selenium port (spec.ports[0].targetPort in kubernetes service) | -| `chromeNode.seleniumServicePort` | `6900` | Selenium port exposed in service (spec.ports[0].port in kubernetes service) | -| `chromeNode.annotations` | `{}` | Annotations for chrome-node pods | -| `chromeNode.labels` | `{}` | Labels for chrome-node pods | -| `chromeNode.resources` | `See values.yaml` | Resources for chrome-node pods | -| `chromeNode.securityContext` | `See values.yaml` | Security context for chrome-node pods | -| `chromeNode.tolerations` | `[]` | Tolerations for chrome-node pods | -| `chromeNode.nodeSelector` | `{}` | Node Selector for chrome-node pods | -| `chromeNode.affinity` | `{}` | Affinity for chrome-node pods | -| `chromeNode.hostAliases` | `nil` | Custom host aliases for chrome nodes | -| `chromeNode.priorityClassName` | `""` | Priority class name for chrome-node pods | -| `chromeNode.extraEnvironmentVariables` | `nil` | Custom environment variables for chrome nodes | -| `chromeNode.extraEnvFrom` | `nil` | Custom environment taken from `configMap` or `secret` variables for chrome nodes | -| `chromeNode.service.enabled` | `true` | Create a service for node | -| `chromeNode.service.type` | `ClusterIP` | Service type | -| `chromeNode.service.annotations` | `{}` | Custom annotations for service | -| `chromeNode.dshmVolumeSizeLimit` | `1Gi` | Size limit for DSH volume mounted in container (if not set, default is "1Gi") | -| `chromeNode.startupProbe` | `{}` | Probe to check pod is started successfully | -| `chromeNode.livenessProbe` | `{}` | Liveness probe settings | -| `chromeNode.terminationGracePeriodSeconds` | `30` | Time to graceful terminate container (default: 30s) | -| `chromeNode.lifecycle` | `{}` | hooks to make pod correctly shutdown or started | -| `chromeNode.extraVolumeMounts` | `[]` | Extra mounts of declared ExtraVolumes into pod | -| `chromeNode.extraVolumes` | `[]` | Extra Volumes declarations to be used in the pod (can be any supported volume type: ConfigMap, Secret, PVC, NFS, etc.) | -| `chromeNode.hpa.url` | `{{ include "seleniumGrid.graphqlURL" . }}` | Graphql Url of the hub or the router | -| `chromeNode.hpa.browserName` | `chrome` | BrowserName from the capability | -| `chromeNode.hpa.browserVersion` | `` | BrowserVersion from the capability | -| `chromeNode.maxReplicaCount` | `8` | Max number of replicas that this browsernode can auto scale up to | -| `chromeNode.minReplicaCount` | `1` | Min number of replicas that this browsernode has when jobs are running | -| `firefoxNode.enabled` | `true` | Enable firefox nodes | -| `firefoxNode.deploymentEnabled` | `true` | Enable creation of Deployment for firefox nodes | -| `firefoxNode.replicas` | `1` | Number of firefox nodes. Disabled if autoscaling is enabled. | -| `firefoxNode.imageName` | `selenium/node-firefox` | Image of firefox nodes | -| `firefoxNode.imageTag` | `4.14.1-20231025` | Image of firefox nodes | -| `firefoxNode.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | -| `firefoxNode.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | -| `firefoxNode.ports` | `[5555]` | Port list to enable on container | -| `firefoxNode.seleniumPort` | `5900` | Selenium port (spec.ports[0].targetPort in kubernetes service) | -| `firefoxNode.seleniumServicePort` | `6900` | Selenium port exposed in service (spec.ports[0].port in kubernetes service) | -| `firefoxNode.annotations` | `{}` | Annotations for firefox-node pods | -| `firefoxNode.labels` | `{}` | Labels for firefox-node pods | -| `firefoxNode.resources` | `See values.yaml` | Resources for firefox-node pods | -| `firefoxNode.securityContext` | `See values.yaml` | Security context for firefox-node pods | -| `firefoxNode.tolerations` | `[]` | Tolerations for firefox-node pods | -| `firefoxNode.nodeSelector` | `{}` | Node Selector for firefox-node pods | -| `firefoxNode.affinity` | `{}` | Affinity for firefox-node pods | -| `firefoxNode.hostAliases` | `nil` | Custom host aliases for firefox nodes | -| `firefoxNode.priorityClassName` | `""` | Priority class name for firefox-node pods | -| `firefoxNode.extraEnvironmentVariables` | `nil` | Custom environment variables for firefox nodes | -| `firefoxNode.extraEnvFrom` | `nil` | Custom environment variables taken from `configMap` or `secret` for firefox nodes | -| `firefoxNode.service.enabled` | `true` | Create a service for node | -| `firefoxNode.service.type` | `ClusterIP` | Service type | -| `firefoxNode.service.annotations` | `{}` | Custom annotations for service | -| `firefoxNode.dshmVolumeSizeLimit` | `1Gi` | Size limit for DSH volume mounted in container (if not set, default is "1Gi") | -| `firefoxNode.startupProbe` | `{}` | Probe to check pod is started successfully | -| `firefoxNode.livenessProbe` | `{}` | Liveness probe settings | -| `firefoxNode.terminationGracePeriodSeconds` | `30` | Time to graceful terminate container (default: 30s) | -| `firefoxNode.lifecycle` | `{}` | hooks to make pod correctly shutdown or started | -| `firefoxNode.extraVolumeMounts` | `[]` | Extra mounts of declared ExtraVolumes into pod | -| `firefoxNode.extraVolumes` | `[]` | Extra Volumes declarations to be used in the pod (can be any supported volume type: ConfigMap, Secret, PVC, NFS, etc.) | -| `firefoxNode.hpa.url` | `{{ include "seleniumGrid.graphqlURL" . }}` | Graphql Url of the hub or the router | -| `firefoxNode.hpa.browserName` | `firefox` | BrowserName from the capability | -| `firefoxNode.hpa.browserVersion` | `` | BrowserVersion from the capability | -| `firefoxNode.maxReplicaCount` | `8` | Max number of replicas that this browsernode can auto scale up to | -| `firefoxNode.minReplicaCount` | `1` | Min number of replicas that this browsernode has when jobs are running | -| `edgeNode.enabled` | `true` | Enable edge nodes | -| `edgeNode.deploymentEnabled` | `true` | Enable creation of Deployment for edge nodes | -| `edgeNode.replicas` | `1` | Number of edge nodes. Disabled if autoscaling is enabled. | -| `edgeNode.imageName` | `selenium/node-edge` | Image of edge nodes | -| `edgeNode.imageTag` | `4.14.1-20231025` | Image of edge nodes | -| `edgeNode.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | -| `edgeNode.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | -| `edgeNode.ports` | `[5555]` | Port list to enable on container | -| `edgeNode.seleniumPort` | `5900` | Selenium port (spec.ports[0].targetPort in kubernetes service) | -| `edgeNode.seleniumServicePort` | `6900` | Selenium port exposed in service (spec.ports[0].port in kubernetes service) | -| `edgeNode.annotations` | `{}` | Annotations for edge-node pods | -| `edgeNode.labels` | `{}` | Labels for edge-node pods | -| `edgeNode.resources` | `See values.yaml` | Resources for edge-node pods | -| `edgeNode.securityContext` | `See values.yaml` | Security context for edge-node pods | -| `edgeNode.tolerations` | `[]` | Tolerations for edge-node pods | -| `edgeNode.nodeSelector` | `{}` | Node Selector for edge-node pods | -| `edgeNode.affinity` | `{}` | Affinity for edge-node pods | -| `edgeNode.hostAliases` | `nil` | Custom host aliases for edge nodes | -| `edgeNode.priorityClassName` | `""` | Priority class name for edge-node pods | -| `edgeNode.extraEnvironmentVariables` | `nil` | Custom environment variables for firefox nodes | -| `edgeNode.extraEnvFrom` | `nil` | Custom environment taken from `configMap` or `secret` variables for firefox nodes | -| `edgeNode.service.enabled` | `true` | Create a service for node | -| `edgeNode.service.type` | `ClusterIP` | Service type | -| `edgeNode.service.annotations` | `{}` | Custom annotations for service | -| `edgeNode.dshmVolumeSizeLimit` | `1Gi` | Size limit for DSH volume mounted in container (if not set, default is "1Gi") | -| `edgeNode.startupProbe` | `{}` | Probe to check pod is started successfully | -| `edgeNode.livenessProbe` | `{}` | Liveness probe settings | -| `edgeNode.terminationGracePeriodSeconds` | `30` | Time to graceful terminate container (default: 30s) | -| `edgeNode.lifecycle` | `{}` | hooks to make pod correctly shutdown or started | -| `edgeNode.extraVolumeMounts` | `[]` | Extra mounts of declared ExtraVolumes into pod | -| `edgeNode.extraVolumes` | `[]` | Extra Volumes declarations to be used in the pod (can be any supported volume type: ConfigMap, Secret, PVC, NFS, etc.) | -| `edgeNode.hpa.url` | `{{ include "seleniumGrid.graphqlURL" . }}` | Graphql Url of the hub or the router | -| `edgeNode.hpa.browserName` | `edge` | BrowserName from the capability | -| `edgeNode.hpa.browserVersion` | `` | BrowserVersion from the capability | -| `edgeNode.maxReplicaCount` | `8` | Max number of replicas that this browsernode can auto scale up to | -| `edgeNode.minReplicaCount` | `1` | Min number of replicas that this browsernode has when jobs are running | -| `customLabels` | `{}` | Custom labels for k8s resources | -| `customLabels` | `{}` | Custom labels for k8s resources | +| Parameter | Default | Description | +|-----------------------------------------------|---------------------------------------------|----------------------------------------------------------------------------------------------------------------------------| +| `isolateComponents` | `false` | Deploy Router, Distributor, EventBus, SessionMap and Nodes separately | +| `serviceAccount.create` | `true` | Enable or disable creation of service account (if `false`, `serviceAccount.name` MUST be specified | +| `serviceAccount.name` | `""` | Name of the service account to be made or existing service account to use for all deployments and jobs | +| `serviceAccount.annotations` | `{}` | Custom annotations for service account | +| `busConfigMap.name` | `selenium-event-bus-config` | Name of the configmap that contains SE_EVENT_BUS_HOST, SE_EVENT_BUS_PUBLISH_PORT and SE_EVENT_BUS_SUBSCRIBE_PORT variables | +| `busConfigMap.annotations` | `{}` | Custom annotations for configmap | +| `nodeConfigMap.name` | `selenium-node-config` | Name of the configmap that contains common environment variables for browser nodes | +| `nodeConfigMap.annotations` | `{}` | Custom annotations for configmap | +| `ingress.enabled` | `true` | Enable or disable ingress resource | +| `ingress.className` | `""` | Name of ingress class to select which controller will implement ingress resource | +| `ingress.annotations` | `{}` | Custom annotations for ingress resource | +| `ingress.hostname` | `selenium-grid.local` | Default host for the ingress resource | +| `ingress.path` | `/` | Default host path for the ingress resource | +| `ingress.tls` | `[]` | TLS backend configuration for ingress resource | +| `autoscaling.enableWithExistingKEDA` | `false` | Enable autoscaling of browser nodes. | +| `autoscaling.enabled` | `false` | Same as above plus installation of KEDA | +| `autoscaling.scalingType` | `job` | Which typ of KEDA scaling to use: job or deployment | +| `autoscaling.scaledJobOptions` | See `values.yaml` | Options for KEDA ScaledJobs | +| `autoscaling.deregisterLifecycle` | See `values.yaml` | Lifecycle applied to pods of deployments controlled by KEDA. Makes the node deregister from selenium hub | +| `chromeNode.enabled` | `true` | Enable chrome nodes | +| `chromeNode.deploymentEnabled` | `true` | Enable creation of Deployment for chrome nodes | +| `chromeNode.replicas` | `1` | Number of chrome nodes. Disabled if autoscaling is enabled. | +| `chromeNode.imageName` | `selenium/node-chrome` | Image of chrome nodes | +| `chromeNode.imageTag` | `4.14.1-20231025` | Image of chrome nodes | +| `chromeNode.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | +| `chromeNode.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | +| `chromeNode.ports` | `[5555]` | Port list to enable on container | +| `chromeNode.seleniumPort` | `5900` | Selenium port (spec.ports[0].targetPort in kubernetes service) | +| `chromeNode.seleniumServicePort` | `6900` | Selenium port exposed in service (spec.ports[0].port in kubernetes service) | +| `chromeNode.annotations` | `{}` | Annotations for chrome-node pods | +| `chromeNode.labels` | `{}` | Labels for chrome-node pods | +| `chromeNode.resources` | `See values.yaml` | Resources for chrome-node pods | +| `chromeNode.securityContext` | `See values.yaml` | Security context for chrome-node pods | +| `chromeNode.tolerations` | `[]` | Tolerations for chrome-node pods | +| `chromeNode.nodeSelector` | `{}` | Node Selector for chrome-node pods | +| `chromeNode.affinity` | `{}` | Affinity for chrome-node pods | +| `chromeNode.hostAliases` | `nil` | Custom host aliases for chrome nodes | +| `chromeNode.priorityClassName` | `""` | Priority class name for chrome-node pods | +| `chromeNode.extraEnvironmentVariables` | `nil` | Custom environment variables for chrome nodes | +| `chromeNode.extraEnvFrom` | `nil` | Custom environment taken from `configMap` or `secret` variables for chrome nodes | +| `chromeNode.service.enabled` | `true` | Create a service for node | +| `chromeNode.service.type` | `ClusterIP` | Service type | +| `chromeNode.service.annotations` | `{}` | Custom annotations for service | +| `chromeNode.dshmVolumeSizeLimit` | `1Gi` | Size limit for DSH volume mounted in container (if not set, default is "1Gi") | +| `chromeNode.startupProbe` | `{}` | Probe to check pod is started successfully | +| `chromeNode.livenessProbe` | `{}` | Liveness probe settings | +| `chromeNode.terminationGracePeriodSeconds` | `30` | Time to graceful terminate container (default: 30s) | +| `chromeNode.lifecycle` | `{}` | hooks to make pod correctly shutdown or started | +| `chromeNode.extraVolumeMounts` | `[]` | Extra mounts of declared ExtraVolumes into pod | +| `chromeNode.extraVolumes` | `[]` | Extra Volumes declarations to be used in the pod (can be any supported volume type: ConfigMap, Secret, PVC, NFS, etc.) | +| `chromeNode.hpa.url` | `{{ include "seleniumGrid.graphqlURL" . }}` | Graphql Url of the hub or the router | +| `chromeNode.hpa.browserName` | `chrome` | BrowserName from the capability | +| `chromeNode.hpa.browserVersion` | `` | BrowserVersion from the capability | +| `chromeNode.maxReplicaCount` | `8` | Max number of replicas that this browsernode can auto scale up to | +| `chromeNode.minReplicaCount` | `1` | Min number of replicas that this browsernode has when jobs are running | +| `firefoxNode.enabled` | `true` | Enable firefox nodes | +| `firefoxNode.deploymentEnabled` | `true` | Enable creation of Deployment for firefox nodes | +| `firefoxNode.replicas` | `1` | Number of firefox nodes. Disabled if autoscaling is enabled. | +| `firefoxNode.imageName` | `selenium/node-firefox` | Image of firefox nodes | +| `firefoxNode.imageTag` | `4.14.1-20231025` | Image of firefox nodes | +| `firefoxNode.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | +| `firefoxNode.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | +| `firefoxNode.ports` | `[5555]` | Port list to enable on container | +| `firefoxNode.seleniumPort` | `5900` | Selenium port (spec.ports[0].targetPort in kubernetes service) | +| `firefoxNode.seleniumServicePort` | `6900` | Selenium port exposed in service (spec.ports[0].port in kubernetes service) | +| `firefoxNode.annotations` | `{}` | Annotations for firefox-node pods | +| `firefoxNode.labels` | `{}` | Labels for firefox-node pods | +| `firefoxNode.resources` | `See values.yaml` | Resources for firefox-node pods | +| `firefoxNode.securityContext` | `See values.yaml` | Security context for firefox-node pods | +| `firefoxNode.tolerations` | `[]` | Tolerations for firefox-node pods | +| `firefoxNode.nodeSelector` | `{}` | Node Selector for firefox-node pods | +| `firefoxNode.affinity` | `{}` | Affinity for firefox-node pods | +| `firefoxNode.hostAliases` | `nil` | Custom host aliases for firefox nodes | +| `firefoxNode.priorityClassName` | `""` | Priority class name for firefox-node pods | +| `firefoxNode.extraEnvironmentVariables` | `nil` | Custom environment variables for firefox nodes | +| `firefoxNode.extraEnvFrom` | `nil` | Custom environment variables taken from `configMap` or `secret` for firefox nodes | +| `firefoxNode.service.enabled` | `true` | Create a service for node | +| `firefoxNode.service.type` | `ClusterIP` | Service type | +| `firefoxNode.service.annotations` | `{}` | Custom annotations for service | +| `firefoxNode.dshmVolumeSizeLimit` | `1Gi` | Size limit for DSH volume mounted in container (if not set, default is "1Gi") | +| `firefoxNode.startupProbe` | `{}` | Probe to check pod is started successfully | +| `firefoxNode.livenessProbe` | `{}` | Liveness probe settings | +| `firefoxNode.terminationGracePeriodSeconds` | `30` | Time to graceful terminate container (default: 30s) | +| `firefoxNode.lifecycle` | `{}` | hooks to make pod correctly shutdown or started | +| `firefoxNode.extraVolumeMounts` | `[]` | Extra mounts of declared ExtraVolumes into pod | +| `firefoxNode.extraVolumes` | `[]` | Extra Volumes declarations to be used in the pod (can be any supported volume type: ConfigMap, Secret, PVC, NFS, etc.) | +| `firefoxNode.hpa.url` | `{{ include "seleniumGrid.graphqlURL" . }}` | Graphql Url of the hub or the router | +| `firefoxNode.hpa.browserName` | `firefox` | BrowserName from the capability | +| `firefoxNode.hpa.browserVersion` | `` | BrowserVersion from the capability | +| `firefoxNode.maxReplicaCount` | `8` | Max number of replicas that this browsernode can auto scale up to | +| `firefoxNode.minReplicaCount` | `1` | Min number of replicas that this browsernode has when jobs are running | +| `edgeNode.enabled` | `true` | Enable edge nodes | +| `edgeNode.deploymentEnabled` | `true` | Enable creation of Deployment for edge nodes | +| `edgeNode.replicas` | `1` | Number of edge nodes. Disabled if autoscaling is enabled. | +| `edgeNode.imageName` | `selenium/node-edge` | Image of edge nodes | +| `edgeNode.imageTag` | `4.14.1-20231025` | Image of edge nodes | +| `edgeNode.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | +| `edgeNode.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | +| `edgeNode.ports` | `[5555]` | Port list to enable on container | +| `edgeNode.seleniumPort` | `5900` | Selenium port (spec.ports[0].targetPort in kubernetes service) | +| `edgeNode.seleniumServicePort` | `6900` | Selenium port exposed in service (spec.ports[0].port in kubernetes service) | +| `edgeNode.annotations` | `{}` | Annotations for edge-node pods | +| `edgeNode.labels` | `{}` | Labels for edge-node pods | +| `edgeNode.resources` | `See values.yaml` | Resources for edge-node pods | +| `edgeNode.securityContext` | `See values.yaml` | Security context for edge-node pods | +| `edgeNode.tolerations` | `[]` | Tolerations for edge-node pods | +| `edgeNode.nodeSelector` | `{}` | Node Selector for edge-node pods | +| `edgeNode.affinity` | `{}` | Affinity for edge-node pods | +| `edgeNode.hostAliases` | `nil` | Custom host aliases for edge nodes | +| `edgeNode.priorityClassName` | `""` | Priority class name for edge-node pods | +| `edgeNode.extraEnvironmentVariables` | `nil` | Custom environment variables for firefox nodes | +| `edgeNode.extraEnvFrom` | `nil` | Custom environment taken from `configMap` or `secret` variables for firefox nodes | +| `edgeNode.service.enabled` | `true` | Create a service for node | +| `edgeNode.service.type` | `ClusterIP` | Service type | +| `edgeNode.service.annotations` | `{}` | Custom annotations for service | +| `edgeNode.dshmVolumeSizeLimit` | `1Gi` | Size limit for DSH volume mounted in container (if not set, default is "1Gi") | +| `edgeNode.startupProbe` | `{}` | Probe to check pod is started successfully | +| `edgeNode.livenessProbe` | `{}` | Liveness probe settings | +| `edgeNode.terminationGracePeriodSeconds` | `30` | Time to graceful terminate container (default: 30s) | +| `edgeNode.lifecycle` | `{}` | hooks to make pod correctly shutdown or started | +| `edgeNode.extraVolumeMounts` | `[]` | Extra mounts of declared ExtraVolumes into pod | +| `edgeNode.extraVolumes` | `[]` | Extra Volumes declarations to be used in the pod (can be any supported volume type: ConfigMap, Secret, PVC, NFS, etc.) | +| `edgeNode.hpa.url` | `{{ include "seleniumGrid.graphqlURL" . }}` | Graphql Url of the hub or the router | +| `edgeNode.hpa.browserName` | `edge` | BrowserName from the capability | +| `edgeNode.hpa.browserVersion` | `` | BrowserVersion from the capability | +| `edgeNode.maxReplicaCount` | `8` | Max number of replicas that this browsernode can auto scale up to | +| `edgeNode.minReplicaCount` | `1` | Min number of replicas that this browsernode has when jobs are running | +| `videoRecorder.enabled` | `false` | Enable video recorder for node | +| `videoRecorder.imageName` | `selenium/video` | Selenium video recoder image name | +| `videoRecorder.imageTag` | `ffmpeg-6.0-20231025` | Image tag of video recorder | +| `videoRecorder.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | +| `videoRecorder.uploader` | `false` | Name of the uploader to use. The value `false` is used to disable uploader. Supported default `s3` | +| `videoRecorder.uploadDestinationPrefix` | `false` | Destination URL for uploading video file. The value `false` is used to disable the uploading | +| `videoRecorder.ports` | `[9000]` | Port list to enable on video recorder container | +| `videoRecorder.resources` | `See values.yaml` | Resources for video recorder | +| `videoRecorder.extraEnvironmentVariables` | `nil` | Custom environment variables for video recorder | +| `videoRecorder.extraEnvFrom` | `nil` | Custom environment taken from `configMap` or `secret` variables for video recorder | +| `videoRecorder.terminationGracePeriodSeconds` | `30` | Time to graceful terminate container (default: 30s) | +| `videoRecorder.startupProbe` | `{}` | Probe to check pod is started successfully | +| `videoRecorder.livenessProbe` | `{}` | Liveness probe settings | +| `videoRecorder.volume.name.folder` | `video` | Name is used to set for the volume to persist and share output video folder in container | +| `videoRecorder.volume.name.scripts` | `video-scripts` | Name is used to set for the volume to persist and share video recorder scripts in container | +| `videoRecorder.extraVolumeMounts` | `[]` | Extra mounts of declared ExtraVolumes into pod | +| `videoRecorder.extraVolumes` | `[]` | Extra Volumes declarations to be used in the pod (can be any supported volume type: ConfigMap, Secret, PVC, NFS, etc.) | +| `videoRecorder.s3` | `See values.yaml` | Container spec for the uploader if `videoRecorder.uploader` is `s3`. Similarly, create for your new uploader | +| `videoRecorder.s3.resources` | `See values.yaml` | Resources for video uploader | +| `videoRecorder.s3.extraEnvironmentVariables` | `` | Custom environment variables for video uploader container | +| `videoRecorder.s3.extraEnvFrom` | `` | Custom environment taken from `configMap` or `secret` variables for video uploader | +| `videoRecorder.s3.extraVolumeMounts` | `[]` | Extra mounts of declared ExtraVolumes into pod of video uploader | +| `customLabels` | `{}` | Custom labels for k8s resources | ### Configuration of KEDA diff --git a/charts/selenium-grid/templates/_helpers.tpl b/charts/selenium-grid/templates/_helpers.tpl index 3b95b017a..4d816fa11 100644 --- a/charts/selenium-grid/templates/_helpers.tpl +++ b/charts/selenium-grid/templates/_helpers.tpl @@ -101,7 +101,6 @@ Is autoscaling using KEDA enabled {{- or .Values.autoscaling.enabled .Values.autoscaling.enableWithExistingKEDA | ternary "true" "" -}} {{- end -}} - {{/* Common pod template */}} @@ -144,7 +143,7 @@ template: - configMapRef: name: {{ .Values.nodeConfigMap.name }} {{- with .node.extraEnvFrom }} - {{- toYaml . | nindent 10 }} + {{- tpl (toYaml .) $ | nindent 10 }} {{- end }} {{- if gt (len .node.ports) 0 }} ports: @@ -157,7 +156,7 @@ template: - name: dshm mountPath: /dev/shm {{- if .node.extraVolumeMounts }} - {{- toYaml .node.extraVolumeMounts | nindent 10 }} + {{- tpl (toYaml .node.extraVolumeMounts) $ | nindent 10 }} {{- end }} {{- with .node.resources }} resources: {{- toYaml . | nindent 10 }} @@ -189,7 +188,7 @@ template: - configMapRef: name: {{ .Values.busConfigMap.name }} {{- with .Values.videoRecorder.extraEnvFrom }} - {{- toYaml . | nindent 8 }} + {{- tpl (toYaml .) $ | nindent 8 }} {{- end }} {{- if gt (len .Values.videoRecorder.ports) 0 }} ports: @@ -201,17 +200,16 @@ template: volumeMounts: - name: dshm mountPath: /dev/shm - - name: video-scripts - mountPath: /opt/bin/video.sh - subPath: video.sh - - name: video - mountPath: /videos - {{- if .Values.videoRecorder.extraVolumeMounts }} - {{- toYaml .Values.videoRecorder.extraVolumeMounts | nindent 8 }} - {{- end }} + {{- tpl (include "seleniumGrid.video.volumeMounts" .) $ | nindent 8 }} {{- with .Values.videoRecorder.resources }} resources: {{- toYaml . | nindent 10 }} {{- end }} + {{- with .Values.videoRecorder.startupProbe }} + startupProbe: {{- toYaml . | nindent 10 }} + {{- end }} + {{- with .Values.videoRecorder.livenessProbe }} + livenessProbe: {{- toYaml . | nindent 10 }} + {{- end }} {{- if .uploader }} - name: uploader image: {{ printf "%s:%s" .uploader.imageName .uploader.imageTag }} @@ -227,14 +225,10 @@ template: {{- end }} {{- with .uploader.extraEnvFrom }} envFrom: - {{- toYaml . | nindent 10 }} + {{- tpl (toYaml .) $ | nindent 10 }} {{- end }} volumeMounts: - - name: video - mountPath: /videos - {{- if .uploader.extraVolumeMounts }} - {{- toYaml .uploader.extraVolumeMounts | nindent 8 }} - {{- end }} + {{- tpl (include "seleniumGrid.video.uploader.volumeMounts" .) $ | nindent 8 }} {{- with .uploader.resources }} resources: {{- toYaml . | nindent 10 }} {{- end }} @@ -267,16 +261,11 @@ template: medium: Memory sizeLimit: {{ default "1Gi" .node.dshmVolumeSizeLimit }} {{- if .node.extraVolumes }} - {{ toYaml .node.extraVolumes | nindent 6 }} + {{ tpl (toYaml .node.extraVolumes) $ | nindent 6 }} {{- end }} {{- if .Values.videoRecorder.enabled }} - - name: video-scripts - configMap: - name: {{ template "seleniumGrid.video.fullname" . }} - defaultMode: 0500 - - name: video - {{- toYaml .Values.videoRecorder.volume | nindent 8 }} - {{- end }} + {{- tpl (include "seleniumGrid.video.volumes" .) $ | nindent 6 }} + {{- end }} {{- end -}} {{/* @@ -310,3 +299,102 @@ deployment preStop hook to deregister from the selenium hub. lifecycle: {{ $lifecycle | nindent 2 }} {{- end -}} {{- end -}} + +{{/* +Default specs of VolumeMounts and Volumes for video recorder +*/}} +{{- define "seleniumGrid.video.volume.name.folder" -}} +{{- $name := default "video" (((.Values.videoRecorder).volume).name).folder -}} +{{- $name -}} +{{- end -}} + +{{- define "seleniumGrid.video.volume.name.scripts" -}} +{{- $name := default "video-scripts" (((.Values.videoRecorder).volume).name).scripts -}} +{{- $name -}} +{{- end -}} + +{{- define "seleniumGrid.video.volumeMounts.default" -}} +- name: {{ include "seleniumGrid.video.volume.name.scripts" . }} + mountPath: /opt/bin/video.sh + subPath: video.sh +- name: {{ include "seleniumGrid.video.volume.name.folder" . }} + mountPath: /videos +{{- end -}} + +{{- define "seleniumGrid.video.volumes.default" -}} +- name: {{ include "seleniumGrid.video.volume.name.scripts" . }} + configMap: + name: {{ template "seleniumGrid.video.fullname" . }} + defaultMode: 0500 +- name: {{ include "seleniumGrid.video.volume.name.folder" . }} + emptyDir: {} +{{- end -}} + +{{- define "seleniumGrid.video.uploader.volumeMounts.default" -}} +- name: {{ include "seleniumGrid.video.volume.name.folder" . }} + mountPath: /videos +{{- end -}} + +{{/* Combine videoRecorder.extraVolumeMounts with the default ones for container video recorder */}} +{{- define "seleniumGrid.video.volumeMounts" -}} +{{- $videoVolumeMounts := list -}} +{{- if .Values.videoRecorder.extraVolumeMounts -}} + {{- range .Values.videoRecorder.extraVolumeMounts -}} + {{- $videoVolumeMounts = append $videoVolumeMounts . -}} + {{- end -}} +{{- end -}} +{{- $defaultVolumeMounts := (include "seleniumGrid.video.volumeMounts.default" . | toString | fromYamlArray ) -}} +{{- $videoVolumeMounts = include "utils.appendDefaultIfNotExist" (dict "currentArray" $videoVolumeMounts "defaultArray" $defaultVolumeMounts "uniqueKey" "mountPath") -}} +{{- not (empty $videoVolumeMounts) | ternary $videoVolumeMounts "" -}} +{{- end -}} + +{{/* Combine videoRecorder.uploader.extraVolumeMounts with the default ones for container video uploader */}} +{{- define "seleniumGrid.video.uploader.volumeMounts" -}} +{{- $videoUploaderVolumeMounts := list -}} +{{- if .uploader.extraVolumeMounts -}} + {{- range .uploader.extraVolumeMounts -}} + {{- $videoUploaderVolumeMounts = append $videoUploaderVolumeMounts . -}} + {{- end -}} +{{- end }} +{{- $defaultVolumeMounts := (include "seleniumGrid.video.uploader.volumeMounts.default" . | toString | fromYamlArray ) -}} +{{- $videoUploaderVolumeMounts = include "utils.appendDefaultIfNotExist" (dict "currentArray" $videoUploaderVolumeMounts "defaultArray" $defaultVolumeMounts "uniqueKey" "mountPath") -}} +{{- not (empty $videoUploaderVolumeMounts) | ternary $videoUploaderVolumeMounts "" -}} +{{- end -}} + +{{/* Combine videoRecorder.extraVolumes with the default ones for the node pod */}} +{{- define "seleniumGrid.video.volumes" -}} +{{- $videoVolumes := list -}} +{{- if .Values.videoRecorder.extraVolumes -}} + {{- range .Values.videoRecorder.extraVolumes -}} + {{- $videoVolumes = append $videoVolumes . -}} + {{- end -}} +{{- end -}} +{{- $defaultVolumes := (include "seleniumGrid.video.volumes.default" . | toString | fromYamlArray ) -}} +{{- $videoVolumes = include "utils.appendDefaultIfNotExist" (dict "currentArray" $videoVolumes "defaultArray" $defaultVolumes "uniqueKey" "name") -}} +{{- not (empty $videoVolumes) | ternary $videoVolumes "" -}} +{{- end -}} + +{{/* +Is used to append default items needed to an array if they are not already present. Args: currentArray, defaultArray, uniqueKey +Usage: {{- $thisArray = include "utils.appendDefaultIfNotExist" (dict "currentArray" $thisArray "defaultArray" $defaultArray "uniqueKey" $uniqueKey }} +*/}} +{{- define "utils.appendDefaultIfNotExist" -}} + {{- $currentArray := index . "currentArray" -}} + {{- $defaultArray := index . "defaultArray" -}} + {{- $uniqueKey := index . "uniqueKey" -}} + {{- range $default := $defaultArray -}} + {{- if eq (len $currentArray) 0 -}} + {{- $currentArray = append $currentArray $default -}} + {{- end -}} + {{- $isExisting := false -}} + {{- range $current := $currentArray -}} + {{- if eq (index $default $uniqueKey | toString) (index $current $uniqueKey | toString) -}} + {{- $isExisting = true -}} + {{- end -}} + {{- end -}} + {{- if not $isExisting -}} + {{- $currentArray = append $currentArray $default -}} + {{- end -}} + {{- end -}} + {{- $currentArray | toYaml -}} +{{- end -}} diff --git a/charts/selenium-grid/values.yaml b/charts/selenium-grid/values.yaml index cb773015e..1388715d6 100644 --- a/charts/selenium-grid/values.yaml +++ b/charts/selenium-grid/values.yaml @@ -726,22 +726,23 @@ edgeNode: sidecars: [] videoRecorder: + enabled: false # Image of video recorder imageName: selenium/video - enabled: false - # Where to upload the video file. Should be set to something like 's3://myvideobucket/' - uploadDestinationPrefix: false - # What uploader to use. See .videRecorder.s3 for how to create a new one. - # uploader: s3 - uploader: false - # Image of video recorder - imageTag: latest + imageTag: ffmpeg-6.0-20231025 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent + # Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) + + # What uploader to use. See .videRecorder.s3 for how to create a new one. + # uploader: s3 + uploader: false + # Where to upload the video file. Should be set to something like 's3://myvideobucket/' + uploadDestinationPrefix: false ports: - - 5666 + - 9000 resources: requests: memory: "1Gi" @@ -749,19 +750,52 @@ videoRecorder: limits: memory: "1Gi" cpu: "1" - extraEnvironmentVariables: [] + extraEnvironmentVariables: # - name: SE_VIDEO_FOLDER # value: /videos # Custom environment variables by sourcing entire configMap, Secret, etc. for video recorder. extraEnvFrom: - # - configMapRef: - # name: proxy-settings - # - secretRef: - # name: mysecret + # - configMapRef: + # name: proxy-settings + # - secretRef: + # name: mysecret # Wait for pod startup terminationGracePeriodSeconds: 30 + + # Wait for pod startup + startupProbe: {} + # httpGet: + # path: / + # port: 9000 + # failureThreshold: 120 + # periodSeconds: 5 + + # Liveness probe settings + livenessProbe: {} + volume: - emptyDir: {} + # name: + # folder: video + # scripts: video-scripts + # Custom video recorder back-end scripts (video.sh, video_ready.py, etc.) further by ConfigMap. + # NOTE: For the mount point with the name "video", or "video-scripts", it will override the default. For other names, it will be appended. + extraVolumeMounts: [] + # - name: video-scripts + # mountPath: /opt/bin/video.sh + # subPath: custom_video.sh + # - name: video-scripts + # mountPath: /opt/bin/video_ready.py + # subPath: video_ready.py + + extraVolumes: [] + # - name: video-scripts + # configMap: + # name: my-video-scripts-cm + # defaultMode: 0500 + # - name: video + # persistentVolumeClaim: + # claimName: video-pv-claim + # Container spec for the uploader if above it is defined as "uploader: s3" s3: imageName: public.ecr.aws/bitnami/aws-cli @@ -789,17 +823,16 @@ videoRecorder: aws s3 cp --no-progress $FILE $DESTINATION fi done - # extraEnvironmentVariables: - # - name: AWS_ACCESS_KEY_ID - # value: aws_access_key_id - # - name: AWS_SECRET_ACCESS_KEY - # value: aws_secret_access_key - # - name: - # valueFrom: - # secretKeyRef: - # name: secret-name - # key: secret-key - + extraEnvironmentVariables: + # - name: AWS_ACCESS_KEY_ID + # value: aws_access_key_id + # - name: AWS_SECRET_ACCESS_KEY + # value: aws_secret_access_key + # - name: + # valueFrom: + # secretKeyRef: + # name: secret-name + # key: secret-key # Custom labels for k8s resources customLabels: {} From b1c358cff1d5dd7f6b700213468da19237efa6f2 Mon Sep 17 00:00:00 2001 From: Luis Correia Date: Thu, 2 Nov 2023 11:05:11 +0000 Subject: [PATCH 26/84] Update to Selenium 4.15.0 (#1990) * Update Dockerfile * Update bootstrap.sh [deploy] --- Base/Dockerfile | 2 +- tests/bootstrap.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Base/Dockerfile b/Base/Dockerfile index 2c1c1f72d..44dc86e36 100644 --- a/Base/Dockerfile +++ b/Base/Dockerfile @@ -73,7 +73,7 @@ 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.14.0/selenium-server-4.14.1.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 \ && 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 \ diff --git a/tests/bootstrap.sh b/tests/bootstrap.sh index fad306dfd..a210862fa 100755 --- a/tests/bootstrap.sh +++ b/tests/bootstrap.sh @@ -7,7 +7,7 @@ if [ "${CI:-false}" = "false" ]; then source docker-selenium-tests/bin/activate fi -python -m pip install selenium==4.14.0 \ +python -m pip install selenium==4.15.0 \ docker===6.1.3 \ | grep -v 'Requirement already satisfied' From cef5534ff56b5b2ef9f3e461f8186434ba9c68b6 Mon Sep 17 00:00:00 2001 From: Selenium CI Bot Date: Thu, 2 Nov 2023 11:16:50 +0000 Subject: [PATCH 27/84] Update tag in docs and files [skip ci] --- .github/ISSUE_TEMPLATE/bug_report.yml | 2 +- NodeDocker/config.toml | 8 +- README.md | 134 ++++++++++++------------ charts/selenium-grid/CHANGELOG.md | 2 +- charts/selenium-grid/README.md | 12 +-- charts/selenium-grid/values.yaml | 24 ++--- docker-compose-v2-tracing.yml | 8 +- docker-compose-v2.yml | 8 +- docker-compose-v3-basicauth.yml | 8 +- docker-compose-v3-dev.yml | 8 +- docker-compose-v3-dynamic-grid.yml | 4 +- docker-compose-v3-full-grid-dev.yml | 16 +-- docker-compose-v3-full-grid-swarm.yml | 8 +- docker-compose-v3-full-grid-tracing.yml | 16 +-- docker-compose-v3-full-grid.yml | 16 +-- docker-compose-v3-swarm.yml | 8 +- docker-compose-v3-tracing.yml | 8 +- docker-compose-v3-video.yml | 14 +-- docker-compose-v3.yml | 8 +- 19 files changed, 156 insertions(+), 156 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index c078eb9f5..f277ee18d 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -55,6 +55,6 @@ body: attributes: label: Docker Selenium version (tag) description: What version of Docker Selenium are you using? - placeholder: 4.14.1-20231025? Please use the full tag, avoid "latest" + placeholder: 4.15.0-20231102? Please use the full tag, avoid "latest" validations: required: true \ No newline at end of file diff --git a/NodeDocker/config.toml b/NodeDocker/config.toml index 3a85fff32..433eb3f15 100644 --- a/NodeDocker/config.toml +++ b/NodeDocker/config.toml @@ -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.14.1-20231025", '{"browserName": "firefox", "platformName": "linux"}', - "selenium/standalone-chrome:4.14.1-20231025", '{"browserName": "chrome", "platformName": "linux"}', - "selenium/standalone-edge:4.14.1-20231025", '{"browserName": "MicrosoftEdge", "platformName": "linux"}' + "selenium/standalone-firefox:4.15.0-20231102", '{"browserName": "firefox", "platformName": "linux"}', + "selenium/standalone-chrome:4.15.0-20231102", '{"browserName": "chrome", "platformName": "linux"}', + "selenium/standalone-edge:4.15.0-20231102", '{"browserName": "MicrosoftEdge", "platformName": "linux"}' ] # URL for connecting to the docker daemon @@ -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-6.0-20231025" +video-image = "selenium/video:ffmpeg-6.0-20231102" # Uncomment the following section if you are running the node on a separate VM # Fill out the placeholders with appropriate values diff --git a/README.md b/README.md index 5e0906068..7d4fee314 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ The project is made possible by volunteer contributors who have put in thousands and made the source code freely available under the [Apache License 2.0](LICENSE.md). These Docker images come with a handful of tags to simplify its usage, have a look at them in one of -our [releases](https://github.com/SeleniumHQ/docker-selenium/releases/tag/4.14.1-20231025). +our [releases](https://github.com/SeleniumHQ/docker-selenium/releases/tag/4.15.0-20231102). To get notifications of new releases, add yourself as a "Releases only" watcher. @@ -64,7 +64,7 @@ Talk to us at https://www.selenium.dev/support/ 1. Start a Docker container with Firefox ```bash -docker run -d -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-firefox:4.14.1-20231025 +docker run -d -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-firefox:4.15.0-20231102 ``` 2. Point your WebDriver tests to http://localhost:4444 @@ -251,17 +251,17 @@ For more information on the Dev and Beta channel container images, see the blog ![Firefox](https://raw.githubusercontent.com/alrra/browser-logos/main/src/firefox/firefox_24x24.png) Firefox ```bash -docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-firefox:4.14.1-20231025 +docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-firefox:4.15.0-20231102 ``` ![Chrome](https://raw.githubusercontent.com/alrra/browser-logos/main/src/chrome/chrome_24x24.png) Chrome ```bash -docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-chrome:4.14.1-20231025 +docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-chrome:4.15.0-20231102 ``` ![Edge](https://raw.githubusercontent.com/alrra/browser-logos/main/src/edge/edge_24x24.png) Edge ```bash -docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-edge:4.14.1-20231025 +docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-edge:4.15.0-20231102 ``` _Note: Only one Standalone container can run on port_ `4444` _at the same time._ @@ -280,44 +280,44 @@ A Docker [network](https://docs.docker.com/engine/reference/commandline/network_ ```bash $ docker network create grid -$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.14.1-20231025 +$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.15.0-20231102 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-chrome:4.14.1-20231025 + selenium/node-chrome:4.15.0-20231102 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-edge:4.14.1-20231025 + selenium/node-edge:4.15.0-20231102 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-firefox:4.14.1-20231025 + selenium/node-firefox:4.15.0-20231102 ``` ##### Windows PowerShell ```powershell $ docker network create grid -$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.14.1-20231025 +$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.15.0-20231102 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub ` --shm-size="2g" ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` - selenium/node-chrome:4.14.1-20231025 + selenium/node-chrome:4.15.0-20231102 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub ` --shm-size="2g" ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` - selenium/node-edge:4.14.1-20231025 + selenium/node-edge:4.15.0-20231102 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub ` --shm-size="2g" ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` - selenium/node-firefox:4.14.1-20231025 + selenium/node-firefox:4.15.0-20231102 ``` When you are done using the Grid, and the containers have exited, the network can be removed with the following command: @@ -334,7 +334,7 @@ configured to expose different ports. ##### Hub - Machine/VM 1 ```bash -$ docker run -d -p 4442-4444:4442-4444 --name selenium-hub selenium/hub:4.14.1-20231025 +$ docker run -d -p 4442-4444:4442-4444 --name selenium-hub selenium/hub:4.15.0-20231102 ``` ##### Node Chrome - Machine/VM 2 @@ -348,7 +348,7 @@ $ docker run -d -p 5555:5555 \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ -e SE_NODE_HOST= \ - selenium/node-chrome:4.14.1-20231025 + selenium/node-chrome:4.15.0-20231102 ``` ###### Windows PowerShell @@ -360,7 +360,7 @@ $ docker run -d -p 5555:5555 ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` -e SE_NODE_HOST= ` - selenium/node-chrome:4.14.1-20231025 + selenium/node-chrome:4.15.0-20231102 ``` @@ -375,7 +375,7 @@ $ docker run -d -p 5555:5555 \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ -e SE_NODE_HOST= \ - selenium/node-edge:4.14.1-20231025 + selenium/node-edge:4.15.0-20231102 ``` ###### Windows PowerShell @@ -387,7 +387,7 @@ $ docker run -d -p 5555:5555 ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` -e SE_NODE_HOST= ` - selenium/node-edge:4.14.1-20231025 + selenium/node-edge:4.15.0-20231102 ``` ##### Node Firefox - Machine/VM 4 @@ -401,7 +401,7 @@ $ docker run -d -p 5555:5555 \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ -e SE_NODE_HOST= \ - selenium/node-firefox:4.14.1-20231025 + selenium/node-firefox:4.15.0-20231102 ``` ###### Windows PowerShell @@ -413,7 +413,7 @@ $ docker run -d -p 5555:5555 ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` -e SE_NODE_HOST= ` - selenium/node-firefox:4.14.1-20231025 + selenium/node-firefox:4.15.0-20231102 ``` ##### Node Chrome - Machine/VM 4 @@ -428,7 +428,7 @@ $ docker run -d -p 5556:5556 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ -e SE_NODE_HOST= \ -e SE_NODE_PORT=5556 \ - selenium/node-chrome:4.14.1-20231025 + selenium/node-chrome:4.15.0-20231102 ``` ###### Windows PowerShell @@ -441,7 +441,7 @@ $ docker run -d -p 5556:5556 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` -e SE_NODE_HOST= ` -e SE_NODE_PORT=5556 ` - selenium/node-chrome:4.14.1-20231025 + selenium/node-chrome:4.15.0-20231102 ``` #### Docker Compose @@ -473,7 +473,7 @@ ___ ## Video recording -Tests execution can be recorded by using the `selenium/video:ffmpeg-6.0-20231025` +Tests execution can be recorded by using the `selenium/video:ffmpeg-6.0-20231102` Docker image. One container is needed per each container where a browser is running. This means if you are running 5 Nodes/Standalone containers, you will need 5 video containers, the mapping is 1-1. @@ -499,8 +499,8 @@ This example shows how to start the containers manually: ``` bash $ docker network create grid -$ docker run -d -p 4444:4444 -p 6900:5900 --net grid --name selenium --shm-size="2g" selenium/standalone-chrome:4.14.1-20231025 -$ docker run -d --net grid --name video -v /tmp/videos:/videos selenium/video:ffmpeg-6.0-20231025 +$ docker run -d -p 4444:4444 -p 6900:5900 --net grid --name selenium --shm-size="2g" selenium/standalone-chrome:4.15.0-20231102 +$ docker run -d --net grid --name video -v /tmp/videos:/videos selenium/video:ffmpeg-6.0-20231102 # Run your tests $ docker stop video && docker rm video $ docker stop selenium && docker rm selenium @@ -532,9 +532,9 @@ You can save this file locally and name it, for example, `config.toml`. # 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.14.1-20231025", '{"browserName": "firefox"}', - "selenium/standalone-chrome:4.14.1-20231025", '{"browserName": "chrome"}', - "selenium/standalone-edge:4.14.1-20231025", '{"browserName": "MicrosoftEdge"}' + "selenium/standalone-firefox:4.15.0-20231102", '{"browserName": "firefox"}', + "selenium/standalone-chrome:4.15.0-20231102", '{"browserName": "chrome"}', + "selenium/standalone-edge:4.15.0-20231102", '{"browserName": "MicrosoftEdge"}' ] # URL for connecting to the docker daemon @@ -547,7 +547,7 @@ configs = [ # Linux: varies from machine to machine, please mount /var/run/docker.sock. If this does not work, please create an issue. url = "http://127.0.0.1:2375" # Docker image used for video recording -video-image = "selenium/video:ffmpeg-6.0-20231025" +video-image = "selenium/video:ffmpeg-6.0-20231102" # Uncomment the following section if you are running the node on a separate VM # Fill out the placeholders with appropriate values @@ -566,28 +566,28 @@ virtual machines. ```bash $ docker network create grid -$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.14.1-20231025 +$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.15.0-20231102 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ -v ${PWD}/config.toml:/opt/bin/config.toml \ -v ${PWD}/assets:/opt/selenium/assets \ -v /var/run/docker.sock:/var/run/docker.sock \ - selenium/node-docker:4.14.1-20231025 + selenium/node-docker:4.15.0-20231102 ``` #### Windows PowerShell ```powershell $ docker network create grid -$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.14.1-20231025 +$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.15.0-20231102 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` -v ${PWD}/config.toml:/opt/bin/config.toml ` -v ${PWD}/assets:/opt/selenium/assets ` -v /var/run/docker.sock:/var/run/docker.sock ` - selenium/node-docker:4.14.1-20231025 + selenium/node-docker:4.15.0-20231102 ``` To have the assets saved on your host, please mount your host path to `/opt/selenium/assets`. @@ -608,7 +608,7 @@ docker run --rm --name selenium-docker -p 4444:4444 \ -v ${PWD}/config.toml:/opt/bin/config.toml \ -v ${PWD}/assets:/opt/selenium/assets \ -v /var/run/docker.sock:/var/run/docker.sock \ - selenium/standalone-docker:4.14.1-20231025 + selenium/standalone-docker:4.15.0-20231102 ``` #### Windows PowerShell @@ -618,7 +618,7 @@ docker run --rm --name selenium-docker -p 4444:4444 ` -v ${PWD}/config.toml:/opt/bin/config.toml ` -v ${PWD}/assets:/opt/selenium/assets ` -v /var/run/docker.sock:/var/run/docker.sock ` - selenium/standalone-docker:4.14.1-20231025 + selenium/standalone-docker:4.15.0-20231102 ``` ### Using Dynamic Grid in different machines/VMs @@ -626,7 +626,7 @@ docker run --rm --name selenium-docker -p 4444:4444 ` #### Hub - Machine/VM 1 ```bash -$ docker run -d -p 4442-4444:4442-4444 --name selenium-hub selenium/hub:4.14.1-20231025 +$ docker run -d -p 4442-4444:4442-4444 --name selenium-hub selenium/hub:4.15.0-20231102 ``` #### Node Chrome - Machine/VM 2 @@ -641,7 +641,7 @@ $ docker run -d -p 5555:5555 \ -v ${PWD}/config.toml:/opt/bin/config.toml \ -v ${PWD}/assets:/opt/selenium/assets \ -v /var/run/docker.sock:/var/run/docker.sock \ - selenium/node-docker:4.14.1-20231025 + selenium/node-docker:4.15.0-20231102 ``` #### Windows PowerShell @@ -654,7 +654,7 @@ $ docker run -d -p 5555:5555 ` -v ${PWD}/config.toml:/opt/bin/config.toml ` -v ${PWD}/assets:/opt/selenium/assets ` -v /var/run/docker.sock:/var/run/docker.sock ` - selenium/node-docker:4.14.1-20231025 + selenium/node-docker:4.15.0-20231102 ``` Complete the `[server]` section in the `config.toml` file. @@ -663,9 +663,9 @@ Complete the `[server]` section in the `config.toml` file. # 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.14.1-20231025", "{\"browserName\": \"firefox\"}", - "selenium/standalone-chrome:4.14.1-20231025", "{\"browserName\": \"chrome\"}", - "selenium/standalone-edge:4.14.1-20231025", "{\"browserName\": \"MicrosoftEdge\"}" + "selenium/standalone-firefox:4.15.0-20231102", "{\"browserName\": \"firefox\"}", + "selenium/standalone-chrome:4.15.0-20231102", "{\"browserName\": \"chrome\"}", + "selenium/standalone-edge:4.15.0-20231102", "{\"browserName\": \"MicrosoftEdge\"}" ] # URL for connecting to the docker daemon @@ -678,7 +678,7 @@ configs = [ # Linux: varies from machine to machine, please mount /var/run/docker.sock. If this does not work, please create an issue. url = "http://127.0.0.1:2375" # Docker image used for video recording -video-image = "selenium/video:ffmpeg-6.0-20231025" +video-image = "selenium/video:ffmpeg-6.0-20231102" # Uncomment the following section if you are running the node on a separate VM # Fill out the placeholders with appropriate values @@ -712,7 +712,7 @@ docker run --rm --name selenium-docker -p 4444:4444 \ -v ${PWD}/config.toml:/opt/bin/config.toml \ -v ${PWD}/assets:/opt/selenium/assets \ -v /var/run/docker.sock:/var/run/docker.sock \ - selenium/standalone-docker:4.14.1-20231025 + selenium/standalone-docker:4.15.0-20231102 ``` #### Windows PowerShell @@ -723,7 +723,7 @@ docker run --rm --name selenium-docker -p 4444:4444 ` -v ${PWD}/config.toml:/opt/bin/config.toml ` -v ${PWD}/assets:/opt/selenium/assets ` -v /var/run/docker.sock:/var/run/docker.sock ` - selenium/standalone-docker:4.14.1-20231025 + selenium/standalone-docker:4.15.0-20231102 ``` @@ -761,7 +761,7 @@ ___ You can pass `SE_OPTS` variable with additional command line parameters for starting a hub or a node. ``` bash -$ docker run -d -p 4444:4444 -e SE_OPTS="--log-level FINE" --name selenium-hub selenium/hub:4.14.1-20231025 +$ docker run -d -p 4444:4444 -e SE_OPTS="--log-level FINE" --name selenium-hub selenium/hub:4.15.0-20231102 ``` ### SE_JAVA_OPTS Java Environment Options @@ -769,7 +769,7 @@ $ docker run -d -p 4444:4444 -e SE_OPTS="--log-level FINE" --name selenium-hub s You can pass `SE_JAVA_OPTS` environment variable to the Java process. ``` bash -$ docker run -d -p 4444:4444 -e SE_JAVA_OPTS=-Xmx512m --name selenium-hub selenium/hub:4.14.1-20231025 +$ docker run -d -p 4444:4444 -e SE_JAVA_OPTS=-Xmx512m --name selenium-hub selenium/hub:4.15.0-20231102 ``` ### Node configuration options @@ -791,7 +791,7 @@ $ docker run -d \ -e SE_EVENT_BUS_HOST= \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 -e SE_NODE_STEREOTYPE="{\"browserName\":\"${SE_NODE_BROWSER_NAME}\",\"browserVersion\":\"${SE_NODE_BROWSER_VERSION}\",\"platformName\": \"Linux\"}" \ - --shm-size="2g" selenium/node-chrome:4.14.1-20231025 + --shm-size="2g" selenium/node-chrome:4.15.0-20231102 ``` ### Setting Sub Path @@ -810,7 +810,7 @@ These settings can be adjusted by specifying `SE_SCREEN_WIDTH`, `SE_SCREEN_HEIGH environmental variables when starting the container. ``` bash -docker run -d -e SE_SCREEN_WIDTH=1366 -e SE_SCREEN_HEIGHT=768 -e SE_SCREEN_DEPTH=24 -e SE_SCREEN_DPI=74 selenium/standalone-firefox:4.14.1-20231025 +docker run -d -e SE_SCREEN_WIDTH=1366 -e SE_SCREEN_HEIGHT=768 -e SE_SCREEN_DEPTH=24 -e SE_SCREEN_DPI=74 selenium/standalone-firefox:4.15.0-20231102 ``` ### Grid Url and Session Timeout @@ -860,7 +860,7 @@ To avoid starting the server you can set the `START_XVFB` environment variable t ``` bash $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ - -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 -e START_XVFB=false --shm-size="2g" selenium/node-chrome:4.14.1-20231025 + -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 -e START_XVFB=false --shm-size="2g" selenium/node-chrome:4.15.0-20231102 ``` For more information, see this GitHub [issue](https://github.com/SeleniumHQ/docker-selenium/issues/567). @@ -873,7 +873,7 @@ pod and then scale a new one after N sessions. Set the environment variable `SE_ a value higher than zero to enable this behaviour. ``` bash -$ docker run -e SE_DRAIN_AFTER_SESSION_COUNT=5 --shm-size="2g" selenium/standalone-firefox:4.14.1-20231025 +$ docker run -e SE_DRAIN_AFTER_SESSION_COUNT=5 --shm-size="2g" selenium/standalone-firefox:4.15.0-20231102 ``` With the previous command, the Standalone container will shut down after 5 sessions have been executed. @@ -965,22 +965,22 @@ $ docker network create grid $ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub \ --health-cmd='/opt/bin/check-grid.sh --host 0.0.0.0 --port 4444' \ --health-interval=15s --health-timeout=30s --health-retries=5 \ - selenium/hub:4.14.1-20231025 + selenium/hub:4.15.0-20231102 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-chrome:4.14.1-20231025 + selenium/node-chrome:4.15.0-20231102 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-edge:4.14.1-20231025 + selenium/node-edge:4.15.0-20231102 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-firefox:4.14.1-20231025 + selenium/node-firefox:4.15.0-20231102 ``` **Note:** The `\` line delimiter won't work on Windows-based terminals, try either `^` or a backtick. @@ -1113,7 +1113,7 @@ RUN mkdir -p -m755 /seluser/.pki/nssdb \ && chown -R 1200:1201 /seluser # Start from Selenium image and add relevant files from build image -FROM selenium/node-chrome:4.14.1-20231025 +FROM selenium/node-chrome:4.15.0-20231102 USER root COPY --from=build /seluser/ /home/seluser/ USER seluser @@ -1128,7 +1128,7 @@ RUN mkdir -p "/distribution" "/certs" && \ echo '{ "policies": { "Certificates": { "Install": ["/opt/firefox-latest/YOUR_CA.pem"] }} }' >"/distribution/policies.json" # Start from Selenium image and add relevant files from build image -FROM selenium/node-firefox:4.14.1-20231025 +FROM selenium/node-firefox:4.15.0-20231102 USER root COPY --from=build /certs /opt/firefox-latest COPY --from=build /distribution /opt/firefox-latest/distribution @@ -1151,9 +1151,9 @@ You can override it with the `SE_VNC_PORT` environment variable in case you want Here is an example with the standalone images, the same concept applies to the node images. ``` bash -$ docker run -d -p 4444:4444 -p 5900:5900 --shm-size="2g" selenium/standalone-chrome:4.14.1-20231025 -$ docker run -d -p 4445:4444 -p 5901:5900 --shm-size="2g" selenium/standalone-edge:4.14.1-20231025 -$ docker run -d -p 4446:4444 -p 5902:5900 --shm-size="2g" selenium/standalone-firefox:4.14.1-20231025 +$ docker run -d -p 4444:4444 -p 5900:5900 --shm-size="2g" selenium/standalone-chrome:4.15.0-20231102 +$ docker run -d -p 4445:4444 -p 5901:5900 --shm-size="2g" selenium/standalone-edge:4.15.0-20231102 +$ docker run -d -p 4446:4444 -p 5902:5900 --shm-size="2g" selenium/standalone-firefox:4.15.0-20231102 ``` Then, you would use in your VNC client: @@ -1179,9 +1179,9 @@ You can also override it with the `SE_NO_VNC_PORT` environment variable in case Here is an example with the standalone images, the same concept applies to the node images. ``` bash -$ docker run -d -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-chrome:4.14.1-20231025 -$ docker run -d -p 4445:4444 -p 7901:7900 --shm-size="2g" selenium/standalone-edge:4.14.1-20231025 -$ docker run -d -p 4446:4444 -p 7902:7900 --shm-size="2g" selenium/standalone-firefox:4.14.1-20231025 +$ docker run -d -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-chrome:4.15.0-20231102 +$ docker run -d -p 4445:4444 -p 7901:7900 --shm-size="2g" selenium/standalone-edge:4.15.0-20231102 +$ docker run -d -p 4446:4444 -p 7902:7900 --shm-size="2g" selenium/standalone-firefox:4.15.0-20231102 ``` Then, you would use in your browser: @@ -1206,28 +1206,28 @@ In order to enable tracing in the Selenium Grid container, the following command ```bash docker network create grid docker run -d -p 16686:16686 -p 14250:14250 --net grid --name jaeger jaegertracing/all-in-one:1.17 -docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.14.1-20231025 +docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.15.0-20231102 docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_ENABLE_TRACING=true \ -e JAVA_OPTS="-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-hub" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-chrome:4.14.1-20231025 + selenium/node-chrome:4.15.0-20231102 docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_ENABLE_TRACING=true \ -e JAVA_OPTS="-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-edge" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-edge:4.14.1-20231025 + selenium/node-edge:4.15.0-20231102 docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_ENABLE_TRACING=true \ -e JAVA_OPTS="-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-firefox" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-firefox:4.14.1-20231025 + selenium/node-firefox:4.15.0-20231102 ``` You can also refer to the below docker-compose yaml files to be able to start a simple grid (or) a dynamic grid. @@ -1287,7 +1287,7 @@ container in the following way: ```bash docker run -d -p 4444:4444 --shm-size="2g" \ -v /home/ubuntu/files:/home/seluser/files \ - selenium/standalone-chrome:4.14.1-20231025 + selenium/standalone-chrome:4.15.0-20231102 ``` That will mount the host `/home/ubuntu/files` directory diff --git a/charts/selenium-grid/CHANGELOG.md b/charts/selenium-grid/CHANGELOG.md index 0291683e1..a6bbe036a 100644 --- a/charts/selenium-grid/CHANGELOG.md +++ b/charts/selenium-grid/CHANGELOG.md @@ -11,7 +11,7 @@ All notable changes to this helm chart will be documented in this file. - Update Video/Dockerfile with based image ffmpeg:6.0-alpine (#1981) :: Viet Nguyen Duc ### Changed -- Update image tag to 4.14.1-20231025 +- Update image tag to 4.15.0-20231102 ## :heavy_check_mark: 0.22.0 diff --git a/charts/selenium-grid/README.md b/charts/selenium-grid/README.md index 65e14ec6e..29b4239d9 100644 --- a/charts/selenium-grid/README.md +++ b/charts/selenium-grid/README.md @@ -83,8 +83,8 @@ For now, global configuration supported is: | Parameter | Default | Description | |---------------------------------------|-------------------|---------------------------------------| -| `global.seleniumGrid.imageTag` | `4.14.1-20231025` | Image tag for all selenium components | -| `global.seleniumGrid.nodesImageTag` | `4.14.1-20231025` | Image tag for browser's nodes | +| `global.seleniumGrid.imageTag` | `4.15.0-20231102` | Image tag for all selenium components | +| `global.seleniumGrid.nodesImageTag` | `4.15.0-20231102` | Image tag for browser's nodes | | `global.seleniumGrid.imagePullSecret` | `""` | Pull secret to be used for all images | | `global.seleniumGrid.imagePullSecret` | `""` | Pull secret to be used for all images | | `global.seleniumGrid.affinity` | `{}` | Affinity assigned globally | @@ -116,7 +116,7 @@ This table contains the configuration parameters of the chart and their default | `chromeNode.deploymentEnabled` | `true` | Enable creation of Deployment for chrome nodes | | `chromeNode.replicas` | `1` | Number of chrome nodes. Disabled if autoscaling is enabled. | | `chromeNode.imageName` | `selenium/node-chrome` | Image of chrome nodes | -| `chromeNode.imageTag` | `4.14.1-20231025` | Image of chrome nodes | +| `chromeNode.imageTag` | `4.15.0-20231102` | Image of chrome nodes | | `chromeNode.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | | `chromeNode.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | | `chromeNode.ports` | `[5555]` | Port list to enable on container | @@ -152,7 +152,7 @@ This table contains the configuration parameters of the chart and their default | `firefoxNode.deploymentEnabled` | `true` | Enable creation of Deployment for firefox nodes | | `firefoxNode.replicas` | `1` | Number of firefox nodes. Disabled if autoscaling is enabled. | | `firefoxNode.imageName` | `selenium/node-firefox` | Image of firefox nodes | -| `firefoxNode.imageTag` | `4.14.1-20231025` | Image of firefox nodes | +| `firefoxNode.imageTag` | `4.15.0-20231102` | Image of firefox nodes | | `firefoxNode.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | | `firefoxNode.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | | `firefoxNode.ports` | `[5555]` | Port list to enable on container | @@ -188,7 +188,7 @@ This table contains the configuration parameters of the chart and their default | `edgeNode.deploymentEnabled` | `true` | Enable creation of Deployment for edge nodes | | `edgeNode.replicas` | `1` | Number of edge nodes. Disabled if autoscaling is enabled. | | `edgeNode.imageName` | `selenium/node-edge` | Image of edge nodes | -| `edgeNode.imageTag` | `4.14.1-20231025` | Image of edge nodes | +| `edgeNode.imageTag` | `4.15.0-20231102` | Image of edge nodes | | `edgeNode.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | | `edgeNode.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | | `edgeNode.ports` | `[5555]` | Port list to enable on container | @@ -222,7 +222,7 @@ This table contains the configuration parameters of the chart and their default | `edgeNode.minReplicaCount` | `1` | Min number of replicas that this browsernode has when jobs are running | | `videoRecorder.enabled` | `false` | Enable video recorder for node | | `videoRecorder.imageName` | `selenium/video` | Selenium video recoder image name | -| `videoRecorder.imageTag` | `ffmpeg-6.0-20231025` | Image tag of video recorder | +| `videoRecorder.imageTag` | `ffmpeg-6.0-20231102` | Image tag of video recorder | | `videoRecorder.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | | `videoRecorder.uploader` | `false` | Name of the uploader to use. The value `false` is used to disable uploader. Supported default `s3` | | `videoRecorder.uploadDestinationPrefix` | `false` | Destination URL for uploading video file. The value `false` is used to disable the uploading | diff --git a/charts/selenium-grid/values.yaml b/charts/selenium-grid/values.yaml index 1388715d6..2d4625b6f 100644 --- a/charts/selenium-grid/values.yaml +++ b/charts/selenium-grid/values.yaml @@ -1,9 +1,9 @@ global: seleniumGrid: # Image tag for all selenium components - imageTag: 4.14.1-20231025 + imageTag: 4.15.0-20231102 # Image tag for browser's nodes - nodesImageTag: 4.14.1-20231025 + nodesImageTag: 4.15.0-20231102 # Pull secret for all components, can be overridden individually imagePullSecret: "" @@ -62,7 +62,7 @@ components: # Router image name imageName: selenium/router # Router image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.14.1-20231025 + # imageTag: 4.15.0-20231102 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent @@ -113,7 +113,7 @@ components: # Distributor image name imageName: selenium/distributor # Distributor image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.14.1-20231025 + # imageTag: 4.15.0-20231102 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent @@ -144,7 +144,7 @@ components: # Event Bus image name imageName: selenium/event-bus # Event Bus image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.14.1-20231025 + # imageTag: 4.15.0-20231102 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent @@ -179,7 +179,7 @@ components: # Session Map image name imageName: selenium/sessions # Session Map image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.14.1-20231025 + # imageTag: 4.15.0-20231102 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent @@ -209,7 +209,7 @@ components: # Session Queue image name imageName: selenium/session-queue # Session Queue image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.14.1-20231025 + # imageTag: 4.15.0-20231102 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent @@ -259,7 +259,7 @@ hub: # Selenium Hub image name imageName: selenium/hub # Selenium Hub image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.14.1-20231025 + # imageTag: 4.15.0-20231102 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent # Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) @@ -379,7 +379,7 @@ chromeNode: # Image of chrome nodes imageName: selenium/node-chrome # Image of chrome nodes (this overwrites global.seleniumGrid.nodesImageTag) - # imageTag: 4.14.1-20231025 + # imageTag: 4.15.0-20231102 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent # Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) @@ -502,7 +502,7 @@ firefoxNode: # Image of firefox nodes imageName: selenium/node-firefox # Image of firefox nodes (this overwrites global.seleniumGrid.nodesImageTag) - # imageTag: 4.14.1-20231025 + # imageTag: 4.15.0-20231102 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent # Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) @@ -621,7 +621,7 @@ edgeNode: # Image of edge nodes imageName: selenium/node-edge # Image of edge nodes (this overwrites global.seleniumGrid.nodesImageTag) - # imageTag: 4.14.1-20231025 + # imageTag: 4.15.0-20231102 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent # Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) @@ -730,7 +730,7 @@ videoRecorder: # Image of video recorder imageName: selenium/video # Image of video recorder - imageTag: ffmpeg-6.0-20231025 + imageTag: ffmpeg-6.0-20231102 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent # Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) diff --git a/docker-compose-v2-tracing.yml b/docker-compose-v2-tracing.yml index e2bc521a7..10bd70ba1 100644 --- a/docker-compose-v2-tracing.yml +++ b/docker-compose-v2-tracing.yml @@ -9,7 +9,7 @@ services: - "16686:16686" - "14250:14250" chrome: - image: selenium/node-chrome:4.14.1-20231025 + image: selenium/node-chrome:4.15.0-20231102 shm_size: 2gb depends_on: - selenium-hub @@ -23,7 +23,7 @@ services: - "6900:5900" edge: - image: selenium/node-edge:4.14.1-20231025 + image: selenium/node-edge:4.15.0-20231102 shm_size: 2gb depends_on: - selenium-hub @@ -37,7 +37,7 @@ services: - "6901:5900" firefox: - image: selenium/node-firefox:4.14.1-20231025 + image: selenium/node-firefox:4.15.0-20231102 shm_size: 2gb depends_on: - selenium-hub @@ -51,7 +51,7 @@ services: - "6902:5900" selenium-hub: - image: selenium/hub:4.14.1-20231025 + image: selenium/hub:4.15.0-20231102 ports: - "4442:4442" - "4443:4443" diff --git a/docker-compose-v2.yml b/docker-compose-v2.yml index 42a79616f..5a33f39fb 100644 --- a/docker-compose-v2.yml +++ b/docker-compose-v2.yml @@ -4,7 +4,7 @@ version: '2' services: chrome: - image: selenium/node-chrome:4.14.1-20231025 + image: selenium/node-chrome:4.15.0-20231102 shm_size: 2gb depends_on: - selenium-hub @@ -16,7 +16,7 @@ services: - "6900:5900" edge: - image: selenium/node-edge:4.14.1-20231025 + image: selenium/node-edge:4.15.0-20231102 shm_size: 2gb depends_on: - selenium-hub @@ -28,7 +28,7 @@ services: - "6901:5900" firefox: - image: selenium/node-firefox:4.14.1-20231025 + image: selenium/node-firefox:4.15.0-20231102 shm_size: 2gb depends_on: - selenium-hub @@ -40,7 +40,7 @@ services: - "6902:5900" selenium-hub: - image: selenium/hub:4.14.1-20231025 + image: selenium/hub:4.15.0-20231102 ports: - "4442:4442" - "4443:4443" diff --git a/docker-compose-v3-basicauth.yml b/docker-compose-v3-basicauth.yml index e7846549c..7a738a9df 100644 --- a/docker-compose-v3-basicauth.yml +++ b/docker-compose-v3-basicauth.yml @@ -4,7 +4,7 @@ version: "3" services: chrome: - image: selenium/node-chrome:4.14.1-20231025 + image: selenium/node-chrome:4.15.0-20231102 shm_size: 2gb depends_on: - selenium-hub @@ -14,7 +14,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.14.1-20231025 + image: selenium/node-edge:4.15.0-20231102 shm_size: 2gb depends_on: - selenium-hub @@ -24,7 +24,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.14.1-20231025 + image: selenium/node-firefox:4.15.0-20231102 shm_size: 2gb depends_on: - selenium-hub @@ -34,7 +34,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-hub: - image: selenium/hub:4.14.1-20231025 + image: selenium/hub:4.15.0-20231102 container_name: selenium-hub ports: - "4442:4442" diff --git a/docker-compose-v3-dev.yml b/docker-compose-v3-dev.yml index d81a24cd0..cd52da6f0 100644 --- a/docker-compose-v3-dev.yml +++ b/docker-compose-v3-dev.yml @@ -4,7 +4,7 @@ version: "3" services: chrome: - image: selenium/node-chrome:4.14.1-20231025 + image: selenium/node-chrome:4.15.0-20231102 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar @@ -16,7 +16,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.14.1-20231025 + image: selenium/node-edge:4.15.0-20231102 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar @@ -28,7 +28,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.14.1-20231025 + image: selenium/node-firefox:4.15.0-20231102 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar @@ -40,7 +40,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-hub: - image: selenium/hub:4.14.1-20231025 + image: selenium/hub:4.15.0-20231102 container_name: selenium-hub volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar diff --git a/docker-compose-v3-dynamic-grid.yml b/docker-compose-v3-dynamic-grid.yml index 1970d9dbe..86b92f1ac 100644 --- a/docker-compose-v3-dynamic-grid.yml +++ b/docker-compose-v3-dynamic-grid.yml @@ -4,7 +4,7 @@ version: "3" services: node-docker: - image: selenium/node-docker:4.14.1-20231025 + image: selenium/node-docker:4.15.0-20231102 volumes: - ./assets:/opt/selenium/assets - ./NodeDocker/config.toml:/opt/bin/config.toml @@ -17,7 +17,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-hub: - image: selenium/hub:4.14.1-20231025 + image: selenium/hub:4.15.0-20231102 container_name: selenium-hub ports: - "4442:4442" diff --git a/docker-compose-v3-full-grid-dev.yml b/docker-compose-v3-full-grid-dev.yml index 7fc9990a8..670e6be82 100644 --- a/docker-compose-v3-full-grid-dev.yml +++ b/docker-compose-v3-full-grid-dev.yml @@ -4,7 +4,7 @@ version: "3" services: selenium-event-bus: - image: selenium/event-bus:4.14.1-20231025 + image: selenium/event-bus:4.15.0-20231102 volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar container_name: selenium-event-bus @@ -14,7 +14,7 @@ services: - "5557:5557" selenium-sessions: - image: selenium/sessions:4.14.1-20231025 + image: selenium/sessions:4.15.0-20231102 volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar container_name: selenium-sessions @@ -28,7 +28,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-session-queue: - image: selenium/session-queue:4.14.1-20231025 + image: selenium/session-queue:4.15.0-20231102 volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar container_name: selenium-session-queue @@ -36,7 +36,7 @@ services: - "5559:5559" selenium-distributor: - image: selenium/distributor:4.14.1-20231025 + image: selenium/distributor:4.15.0-20231102 volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar container_name: selenium-distributor @@ -56,7 +56,7 @@ services: - SE_SESSION_QUEUE_PORT=5559 selenium-router: - image: selenium/router:4.14.1-20231025 + image: selenium/router:4.15.0-20231102 volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar container_name: selenium-router @@ -75,7 +75,7 @@ services: - SE_SESSION_QUEUE_PORT=5559 chrome: - image: selenium/node-chrome:4.14.1-20231025 + image: selenium/node-chrome:4.15.0-20231102 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar @@ -87,7 +87,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.14.1-20231025 + image: selenium/node-edge:4.15.0-20231102 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar @@ -99,7 +99,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.14.1-20231025 + image: selenium/node-firefox:4.15.0-20231102 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar diff --git a/docker-compose-v3-full-grid-swarm.yml b/docker-compose-v3-full-grid-swarm.yml index bd2ac0738..cce8bacfa 100644 --- a/docker-compose-v3-full-grid-swarm.yml +++ b/docker-compose-v3-full-grid-swarm.yml @@ -7,7 +7,7 @@ version: '3.7' services: chrome: - image: selenium/node-chrome:4.14.1-20231025 + image: selenium/node-chrome:4.15.0-20231102 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -18,7 +18,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' edge: - image: selenium/node-edge:4.14.1-20231025 + image: selenium/node-edge:4.15.0-20231102 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -29,7 +29,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' firefox: - image: selenium/node-firefox:4.14.1-20231025 + image: selenium/node-firefox:4.15.0-20231102 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -40,7 +40,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' selenium-hub: - image: selenium/hub:4.14.1-20231025 + image: selenium/hub:4.15.0-20231102 ports: - "4442:4442" - "4443:4443" diff --git a/docker-compose-v3-full-grid-tracing.yml b/docker-compose-v3-full-grid-tracing.yml index c624b5d8a..dfaea31cc 100644 --- a/docker-compose-v3-full-grid-tracing.yml +++ b/docker-compose-v3-full-grid-tracing.yml @@ -9,7 +9,7 @@ services: - "16686:16686" - "14250:14250" selenium-event-bus: - image: selenium/event-bus:4.14.1-20231025 + image: selenium/event-bus:4.15.0-20231102 container_name: selenium-event-bus ports: - "4442:4442" @@ -21,7 +21,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-event-bus selenium-sessions: - image: selenium/sessions:4.14.1-20231025 + image: selenium/sessions:4.15.0-20231102 container_name: selenium-sessions ports: - "5556:5556" @@ -34,7 +34,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-sessions selenium-session-queue: - image: selenium/session-queue:4.14.1-20231025 + image: selenium/session-queue:4.15.0-20231102 container_name: selenium-session-queue ports: - "5559:5559" @@ -42,7 +42,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-session-queue selenium-distributor: - image: selenium/distributor:4.14.1-20231025 + image: selenium/distributor:4.15.0-20231102 container_name: selenium-distributor ports: - "5553:5553" @@ -61,7 +61,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-distributor selenium-router: - image: selenium/router:4.14.1-20231025 + image: selenium/router:4.15.0-20231102 container_name: selenium-router ports: - "4444:4444" @@ -79,7 +79,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-router chrome: - image: selenium/node-chrome:4.14.1-20231025 + image: selenium/node-chrome:4.15.0-20231102 shm_size: 2gb depends_on: - selenium-event-bus @@ -90,7 +90,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-chrome edge: - image: selenium/node-edge:4.14.1-20231025 + image: selenium/node-edge:4.15.0-20231102 shm_size: 2gb depends_on: - selenium-event-bus @@ -101,7 +101,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-edge firefox: - image: selenium/node-firefox:4.14.1-20231025 + image: selenium/node-firefox:4.15.0-20231102 shm_size: 2gb depends_on: - selenium-event-bus diff --git a/docker-compose-v3-full-grid.yml b/docker-compose-v3-full-grid.yml index 267fadf49..896c863aa 100644 --- a/docker-compose-v3-full-grid.yml +++ b/docker-compose-v3-full-grid.yml @@ -4,7 +4,7 @@ version: "3" services: selenium-event-bus: - image: selenium/event-bus:4.14.1-20231025 + image: selenium/event-bus:4.15.0-20231102 container_name: selenium-event-bus ports: - "4442:4442" @@ -12,7 +12,7 @@ services: - "5557:5557" selenium-sessions: - image: selenium/sessions:4.14.1-20231025 + image: selenium/sessions:4.15.0-20231102 container_name: selenium-sessions ports: - "5556:5556" @@ -24,13 +24,13 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-session-queue: - image: selenium/session-queue:4.14.1-20231025 + image: selenium/session-queue:4.15.0-20231102 container_name: selenium-session-queue ports: - "5559:5559" selenium-distributor: - image: selenium/distributor:4.14.1-20231025 + image: selenium/distributor:4.15.0-20231102 container_name: selenium-distributor ports: - "5553:5553" @@ -48,7 +48,7 @@ services: - SE_SESSION_QUEUE_PORT=5559 selenium-router: - image: selenium/router:4.14.1-20231025 + image: selenium/router:4.15.0-20231102 container_name: selenium-router ports: - "4444:4444" @@ -65,7 +65,7 @@ services: - SE_SESSION_QUEUE_PORT=5559 chrome: - image: selenium/node-chrome:4.14.1-20231025 + image: selenium/node-chrome:4.15.0-20231102 shm_size: 2gb depends_on: - selenium-event-bus @@ -75,7 +75,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.14.1-20231025 + image: selenium/node-edge:4.15.0-20231102 shm_size: 2gb depends_on: - selenium-event-bus @@ -85,7 +85,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.14.1-20231025 + image: selenium/node-firefox:4.15.0-20231102 shm_size: 2gb depends_on: - selenium-event-bus diff --git a/docker-compose-v3-swarm.yml b/docker-compose-v3-swarm.yml index bd2ac0738..cce8bacfa 100644 --- a/docker-compose-v3-swarm.yml +++ b/docker-compose-v3-swarm.yml @@ -7,7 +7,7 @@ version: '3.7' services: chrome: - image: selenium/node-chrome:4.14.1-20231025 + image: selenium/node-chrome:4.15.0-20231102 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -18,7 +18,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' edge: - image: selenium/node-edge:4.14.1-20231025 + image: selenium/node-edge:4.15.0-20231102 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -29,7 +29,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' firefox: - image: selenium/node-firefox:4.14.1-20231025 + image: selenium/node-firefox:4.15.0-20231102 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -40,7 +40,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' selenium-hub: - image: selenium/hub:4.14.1-20231025 + image: selenium/hub:4.15.0-20231102 ports: - "4442:4442" - "4443:4443" diff --git a/docker-compose-v3-tracing.yml b/docker-compose-v3-tracing.yml index 596e26238..ae0d4328c 100644 --- a/docker-compose-v3-tracing.yml +++ b/docker-compose-v3-tracing.yml @@ -9,7 +9,7 @@ services: - "16686:16686" - "14250:14250" chrome: - image: selenium/node-chrome:4.14.1-20231025 + image: selenium/node-chrome:4.15.0-20231102 shm_size: 2gb depends_on: - selenium-hub @@ -21,7 +21,7 @@ services: - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-chrome edge: - image: selenium/node-edge:4.14.1-20231025 + image: selenium/node-edge:4.15.0-20231102 shm_size: 2gb depends_on: - selenium-hub @@ -33,7 +33,7 @@ services: - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-edge firefox: - image: selenium/node-firefox:4.14.1-20231025 + image: selenium/node-firefox:4.15.0-20231102 shm_size: 2gb depends_on: - selenium-hub @@ -45,7 +45,7 @@ services: - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-firefox selenium-hub: - image: selenium/hub:4.14.1-20231025 + image: selenium/hub:4.15.0-20231102 container_name: selenium-hub ports: - "4442:4442" diff --git a/docker-compose-v3-video.yml b/docker-compose-v3-video.yml index 848f943bd..c37b57453 100644 --- a/docker-compose-v3-video.yml +++ b/docker-compose-v3-video.yml @@ -4,7 +4,7 @@ version: "3" services: chrome: - image: selenium/node-chrome:4.14.1-20231025 + image: selenium/node-chrome:4.15.0-20231102 shm_size: 2gb depends_on: - selenium-hub @@ -14,7 +14,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.14.1-20231025 + image: selenium/node-edge:4.15.0-20231102 shm_size: 2gb depends_on: - selenium-hub @@ -24,7 +24,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.14.1-20231025 + image: selenium/node-firefox:4.15.0-20231102 shm_size: 2gb depends_on: - selenium-hub @@ -34,7 +34,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 chrome_video: - image: selenium/video:ffmpeg-6.0-20231025 + image: selenium/video:ffmpeg-6.0-20231102 volumes: - /tmp/videos:/videos depends_on: @@ -44,7 +44,7 @@ services: - FILE_NAME=chrome_video.mp4 edge_video: - image: selenium/video:ffmpeg-6.0-20231025 + image: selenium/video:ffmpeg-6.0-20231102 volumes: - /tmp/videos:/videos depends_on: @@ -54,7 +54,7 @@ services: - FILE_NAME=edge_video.mp4 firefox_video: - image: selenium/video:ffmpeg-6.0-20231025 + image: selenium/video:ffmpeg-6.0-20231102 volumes: - /tmp/videos:/videos depends_on: @@ -64,7 +64,7 @@ services: - FILE_NAME=firefox_video.mp4 selenium-hub: - image: selenium/hub:4.14.1-20231025 + image: selenium/hub:4.15.0-20231102 container_name: selenium-hub ports: - "4442:4442" diff --git a/docker-compose-v3.yml b/docker-compose-v3.yml index e728b9b79..29054d43b 100644 --- a/docker-compose-v3.yml +++ b/docker-compose-v3.yml @@ -4,7 +4,7 @@ version: "3" services: chrome: - image: selenium/node-chrome:4.14.1-20231025 + image: selenium/node-chrome:4.15.0-20231102 shm_size: 2gb depends_on: - selenium-hub @@ -14,7 +14,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.14.1-20231025 + image: selenium/node-edge:4.15.0-20231102 shm_size: 2gb depends_on: - selenium-hub @@ -24,7 +24,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.14.1-20231025 + image: selenium/node-firefox:4.15.0-20231102 shm_size: 2gb depends_on: - selenium-hub @@ -34,7 +34,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-hub: - image: selenium/hub:4.14.1-20231025 + image: selenium/hub:4.15.0-20231102 container_name: selenium-hub ports: - "4442:4442" From 599c704708625856ca7bdc73374d66f55b2bc16b Mon Sep 17 00:00:00 2001 From: Viet Nguyen Duc Date: Mon, 6 Nov 2023 14:13:08 +0530 Subject: [PATCH 28/84] feat(autoscaling): Unified parameters to set scaled options for browser nodes (#1989) * feat(autoscaling): Unified parameters to set scaled options for browser nodes Signed-off-by: Viet Nguyen Duc * Update value to get from template .fullname Signed-off-by: Viet Nguyen Duc --------- Signed-off-by: Viet Nguyen Duc --- charts/selenium-grid/README.md | 24 ++++++---- charts/selenium-grid/templates/_helpers.tpl | 41 +++++++++++++++++ .../templates/chrome-node-deployment.yaml | 4 +- .../templates/chrome-node-hpa.yaml | 13 ++---- .../templates/chrome-node-scaledjobs.yaml | 24 +++------- .../templates/edge-node-deployment.yaml | 4 +- .../templates/edge-node-hpa.yaml | 13 ++---- .../templates/edge-node-scaledjob.yaml | 24 +++------- .../templates/event-bus-configmap.yaml | 2 +- .../templates/firefox-node-deployment.yaml | 4 +- .../templates/firefox-node-hpa.yaml | 13 ++---- .../templates/firefox-node-scaledjob.yaml | 24 +++------- charts/selenium-grid/values.yaml | 44 +++++++++++++++---- 13 files changed, 130 insertions(+), 104 deletions(-) diff --git a/charts/selenium-grid/README.md b/charts/selenium-grid/README.md index 29b4239d9..2c7240df7 100644 --- a/charts/selenium-grid/README.md +++ b/charts/selenium-grid/README.md @@ -109,8 +109,13 @@ This table contains the configuration parameters of the chart and their default | `ingress.tls` | `[]` | TLS backend configuration for ingress resource | | `autoscaling.enableWithExistingKEDA` | `false` | Enable autoscaling of browser nodes. | | `autoscaling.enabled` | `false` | Same as above plus installation of KEDA | -| `autoscaling.scalingType` | `job` | Which typ of KEDA scaling to use: job or deployment | -| `autoscaling.scaledJobOptions` | See `values.yaml` | Options for KEDA ScaledJobs | +| `autoscaling.scalingType` | `job` | Which typ of KEDA scaling to use: `job` or `deployment` | +| `autoscaling.scaledOptions` | See `values.yaml` | Common options for KEDA scaled resources (both ScaledJobs and ScaledObjects) | +| `autoscaling.scaledOptions.minReplicaCount` | `0` | Min number of replicas that each browser nodes has when autoscaling | +| `autoscaling.scaledOptions.maxReplicaCount` | `8` | Max number of replicas that each browser nodes can auto scale up to | +| `autoscaling.scaledOptions.pollingInterval` | `10` | The interval to check each trigger on | +| `autoscaling.scaledJobOptions` | See `values.yaml` | Options for KEDA ScaledJobs (when `scalingType` is set to `job`) | +| `autoscaling.scaledObjectOptions` | See `values.yaml` | Options for KEDA ScaledObjects (when `scalingType` is set to `deployment`) | | `autoscaling.deregisterLifecycle` | See `values.yaml` | Lifecycle applied to pods of deployments controlled by KEDA. Makes the node deregister from selenium hub | | `chromeNode.enabled` | `true` | Enable chrome nodes | | `chromeNode.deploymentEnabled` | `true` | Enable creation of Deployment for chrome nodes | @@ -146,8 +151,9 @@ This table contains the configuration parameters of the chart and their default | `chromeNode.hpa.url` | `{{ include "seleniumGrid.graphqlURL" . }}` | Graphql Url of the hub or the router | | `chromeNode.hpa.browserName` | `chrome` | BrowserName from the capability | | `chromeNode.hpa.browserVersion` | `` | BrowserVersion from the capability | -| `chromeNode.maxReplicaCount` | `8` | Max number of replicas that this browsernode can auto scale up to | -| `chromeNode.minReplicaCount` | `1` | Min number of replicas that this browsernode has when jobs are running | +| `chromeNode.scaledOptions` | See `values.yaml` | Override the global `autoscaling.scaledOptions` with specific scaled options for chrome nodes | +| `chromeNode.scaledJobOptions` | See `values.yaml` | Override the global `autoscaling.scaledJobOptions` with specific scaled options for chrome nodes | +| `chromeNode.scaledObjectOptions` | See `values.yaml` | Override the global `autoscaling.scaledObjectOptions` with specific scaled options for chrome nodes | | `firefoxNode.enabled` | `true` | Enable firefox nodes | | `firefoxNode.deploymentEnabled` | `true` | Enable creation of Deployment for firefox nodes | | `firefoxNode.replicas` | `1` | Number of firefox nodes. Disabled if autoscaling is enabled. | @@ -182,8 +188,9 @@ This table contains the configuration parameters of the chart and their default | `firefoxNode.hpa.url` | `{{ include "seleniumGrid.graphqlURL" . }}` | Graphql Url of the hub or the router | | `firefoxNode.hpa.browserName` | `firefox` | BrowserName from the capability | | `firefoxNode.hpa.browserVersion` | `` | BrowserVersion from the capability | -| `firefoxNode.maxReplicaCount` | `8` | Max number of replicas that this browsernode can auto scale up to | -| `firefoxNode.minReplicaCount` | `1` | Min number of replicas that this browsernode has when jobs are running | +| `firefoxNode.scaledOptions` | See `values.yaml` | Override the global `autoscaling.scaledOptions` with specific scaled options for firefox nodes | +| `firefoxNode.scaledJobOptions` | See `values.yaml` | Override the global `autoscaling.scaledJobOptions` with specific scaled options for firefox nodes | +| `firefoxNode.scaledObjectOptions` | See `values.yaml` | Override the global `autoscaling.scaledObjectOptions` with specific scaled options for firefox nodes | | `edgeNode.enabled` | `true` | Enable edge nodes | | `edgeNode.deploymentEnabled` | `true` | Enable creation of Deployment for edge nodes | | `edgeNode.replicas` | `1` | Number of edge nodes. Disabled if autoscaling is enabled. | @@ -218,8 +225,9 @@ This table contains the configuration parameters of the chart and their default | `edgeNode.hpa.url` | `{{ include "seleniumGrid.graphqlURL" . }}` | Graphql Url of the hub or the router | | `edgeNode.hpa.browserName` | `edge` | BrowserName from the capability | | `edgeNode.hpa.browserVersion` | `` | BrowserVersion from the capability | -| `edgeNode.maxReplicaCount` | `8` | Max number of replicas that this browsernode can auto scale up to | -| `edgeNode.minReplicaCount` | `1` | Min number of replicas that this browsernode has when jobs are running | +| `edgeNode.scaledOptions` | See `values.yaml` | Override the global `autoscaling.scaledOptions` with specific scaled options for edge nodes | +| `edgeNode.scaledJobOptions` | See `values.yaml` | Override the global `autoscaling.scaledJobOptions` with specific scaled options for edge nodes | +| `edgeNode.scaledObjectOptions` | See `values.yaml` | Override the global `autoscaling.scaledObjectOptions` with specific scaled options for edge nodes | | `videoRecorder.enabled` | `false` | Enable video recorder for node | | `videoRecorder.imageName` | `selenium/video` | Selenium video recoder image name | | `videoRecorder.imageTag` | `ffmpeg-6.0-20231102` | Image tag of video recorder | diff --git a/charts/selenium-grid/templates/_helpers.tpl b/charts/selenium-grid/templates/_helpers.tpl index 4d816fa11..5fa362094 100644 --- a/charts/selenium-grid/templates/_helpers.tpl +++ b/charts/selenium-grid/templates/_helpers.tpl @@ -101,6 +101,47 @@ Is autoscaling using KEDA enabled {{- or .Values.autoscaling.enabled .Values.autoscaling.enableWithExistingKEDA | ternary "true" "" -}} {{- end -}} +{{/* +Common autoscaling spec template +*/}} +{{- define "seleniumGrid.autoscalingTemplate" -}} +{{- $spec := toYaml (dict) -}} +{{/* Merge with precedence from right to left */}} +{{- with .Values.autoscaling.scaledOptions -}} + {{- $spec = mergeOverwrite ($spec | fromYaml) . | toYaml -}} +{{- end -}} +{{- with .node.scaledOptions -}} + {{- $spec = mergeOverwrite ($spec | fromYaml) . | toYaml -}} +{{- end -}} +{{- if eq .Values.autoscaling.scalingType "deployment" -}} + {{- with .Values.autoscaling.scaledObjectOptions -}} + {{- $spec = mergeOverwrite ($spec | fromYaml) . | toYaml -}} + {{- end -}} + {{- with .node.scaledObjectOptions -}} + {{- $spec = mergeOverwrite ($spec | fromYaml) . | toYaml -}} + {{- end -}} + {{- $spec = mergeOverwrite ($spec | fromYaml) (dict "scaleTargetRef" (dict "name" .name)) | toYaml -}} +{{- else if eq .Values.autoscaling.scalingType "job" -}} + {{- with .Values.autoscaling.scaledJobOptions -}} + {{- $spec = mergeOverwrite ($spec | fromYaml) . | toYaml -}} + {{- end -}} + {{- with .node.scaledJobOptions -}} + {{- $spec = mergeOverwrite ($spec | fromYaml) . | toYaml -}} + {{- end -}} + {{- $spec = mergeOverwrite ($spec | fromYaml) (dict "jobTargetRef" .podTemplate) | toYaml -}} +{{- end -}} +{{- if and $spec (ne $spec "{}") -}} + {{ tpl $spec $ }} +{{- end -}} +{{- if not .Values.autoscaling.scaledOptions.triggers }} +triggers: + - type: selenium-grid + {{- with .node.hpa }} + metadata: {{- tpl (toYaml .) $ | nindent 6 }} + {{- end }} +{{- end }} +{{- end -}} + {{/* Common pod template */}} diff --git a/charts/selenium-grid/templates/chrome-node-deployment.yaml b/charts/selenium-grid/templates/chrome-node-deployment.yaml index 4d9a30ac0..2ea8c010c 100644 --- a/charts/selenium-grid/templates/chrome-node-deployment.yaml +++ b/charts/selenium-grid/templates/chrome-node-deployment.yaml @@ -23,8 +23,8 @@ spec: app: selenium-chrome-node app.kubernetes.io/instance: {{ .Release.Name }} {{- $podScope := deepCopy . -}} -{{- $_ := set $podScope "name" "selenium-chrome-node" -}} -{{- $_ = set $podScope "node" .Values.chromeNode -}} +{{- $_ := set $podScope "name" (include "seleniumGrid.chromeNode.fullname" .) -}} +{{- $_ = set $podScope "node" .Values.chromeNode -}} {{- $_ = set $podScope "uploader" (get .Values.videoRecorder (.Values.videoRecorder.uploader | toString)) -}} {{- include "seleniumGrid.podTemplate" $podScope | nindent 2 }} {{- end }} diff --git a/charts/selenium-grid/templates/chrome-node-hpa.yaml b/charts/selenium-grid/templates/chrome-node-hpa.yaml index 7cb78043c..74c588198 100644 --- a/charts/selenium-grid/templates/chrome-node-hpa.yaml +++ b/charts/selenium-grid/templates/chrome-node-hpa.yaml @@ -11,13 +11,8 @@ metadata: labels: deploymentName: {{ template "seleniumGrid.chromeNode.fullname" . }} spec: - maxReplicaCount: {{ .Values.chromeNode.maxReplicaCount }} - minReplicaCount: {{ .Values.chromeNode.minReplicaCount }} - scaleTargetRef: - name: {{ template "seleniumGrid.chromeNode.fullname" . }} - triggers: - - type: selenium-grid - {{- with .Values.chromeNode.hpa }} - metadata: {{- tpl (toYaml .) $ | nindent 8 }} - {{- end }} + {{- $podScope := deepCopy . -}} + {{- $_ := set $podScope "name" (include "seleniumGrid.chromeNode.fullname" .) -}} + {{- $_ = set $podScope "node" .Values.chromeNode -}} + {{- include "seleniumGrid.autoscalingTemplate" $podScope | nindent 2 }} {{- end }} diff --git a/charts/selenium-grid/templates/chrome-node-scaledjobs.yaml b/charts/selenium-grid/templates/chrome-node-scaledjobs.yaml index c72818b05..22a9fcef2 100644 --- a/charts/selenium-grid/templates/chrome-node-scaledjobs.yaml +++ b/charts/selenium-grid/templates/chrome-node-scaledjobs.yaml @@ -19,22 +19,10 @@ metadata: {{- toYaml . | nindent 4 }} {{- end }} spec: - maxReplicaCount: {{ .Values.chromeNode.maxReplicaCount }} - {{- with .Values.autoscaling.scaledJobOptions -}} - {{ toYaml . | nindent 2 }} - {{- end }} - triggers: - - type: selenium-grid - {{- with .Values.chromeNode.hpa }} - metadata: {{- tpl (toYaml .) $ | nindent 8 }} - {{- end }} - jobTargetRef: - parallelism: 1 - completions: 1 - backoffLimit: 0 -{{- $podScope := deepCopy . -}} -{{- $_ := set $podScope "name" "selenium-chrome-node" -}} -{{- $_ = set $podScope "node" .Values.chromeNode -}} -{{- $_ = set $podScope "uploader" (get .Values.videoRecorder (.Values.videoRecorder.uploader | toString)) -}} -{{- include "seleniumGrid.podTemplate" $podScope | nindent 4 }} + {{- $podScope := deepCopy . -}} + {{- $_ := set $podScope "name" (include "seleniumGrid.chromeNode.fullname" .) -}} + {{- $_ = set $podScope "node" .Values.chromeNode -}} + {{- $_ = set $podScope "uploader" (get .Values.videoRecorder (.Values.videoRecorder.uploader | toString)) -}} + {{- $_ = set $podScope "podTemplate" (include "seleniumGrid.podTemplate" $podScope | fromYaml) }} + {{- include "seleniumGrid.autoscalingTemplate" $podScope | nindent 2 }} {{- end }} diff --git a/charts/selenium-grid/templates/edge-node-deployment.yaml b/charts/selenium-grid/templates/edge-node-deployment.yaml index 6216dc101..33fc360aa 100644 --- a/charts/selenium-grid/templates/edge-node-deployment.yaml +++ b/charts/selenium-grid/templates/edge-node-deployment.yaml @@ -23,8 +23,8 @@ spec: app: selenium-edge-node app.kubernetes.io/instance: {{ .Release.Name }} {{- $podScope := deepCopy . -}} -{{- $_ := set $podScope "name" "selenium-edge-node" -}} -{{- $_ = set $podScope "node" .Values.edgeNode -}} +{{- $_ := set $podScope "name" (include "seleniumGrid.edgeNode.fullname" .) -}} +{{- $_ = set $podScope "node" .Values.edgeNode -}} {{- $_ = set $podScope "uploader" (get .Values.videoRecorder (.Values.videoRecorder.uploader | toString)) -}} {{- include "seleniumGrid.podTemplate" $podScope | nindent 2 }} {{- end }} diff --git a/charts/selenium-grid/templates/edge-node-hpa.yaml b/charts/selenium-grid/templates/edge-node-hpa.yaml index b115de353..0839a3bdd 100644 --- a/charts/selenium-grid/templates/edge-node-hpa.yaml +++ b/charts/selenium-grid/templates/edge-node-hpa.yaml @@ -11,13 +11,8 @@ metadata: labels: deploymentName: {{ template "seleniumGrid.edgeNode.fullname" . }} spec: - maxReplicaCount: {{ .Values.edgeNode.maxReplicaCount }} - minReplicaCount: {{ .Values.edgeNode.minReplicaCount }} - scaleTargetRef: - name: {{ template "seleniumGrid.edgeNode.fullname" . }} - triggers: - - type: selenium-grid - {{- with .Values.edgeNode.hpa }} - metadata: {{- tpl (toYaml .) $ | nindent 8 }} - {{- end }} + {{- $podScope := deepCopy . -}} + {{- $_ := set $podScope "name" (include "seleniumGrid.edgeNode.fullname" .) -}} + {{- $_ = set $podScope "node" .Values.edgeNode -}} + {{- include "seleniumGrid.autoscalingTemplate" $podScope | nindent 2 }} {{- end }} diff --git a/charts/selenium-grid/templates/edge-node-scaledjob.yaml b/charts/selenium-grid/templates/edge-node-scaledjob.yaml index eae9ba79a..a9f235c31 100644 --- a/charts/selenium-grid/templates/edge-node-scaledjob.yaml +++ b/charts/selenium-grid/templates/edge-node-scaledjob.yaml @@ -19,22 +19,10 @@ metadata: {{- toYaml . | nindent 4 }} {{- end }} spec: - maxReplicaCount: {{ .Values.edgeNode.maxReplicaCount }} - {{- with .Values.autoscaling.scaledJobOptions -}} - {{ toYaml . | nindent 2 }} - {{- end }} - triggers: - - type: selenium-grid - {{- with .Values.edgeNode.hpa }} - metadata: {{- tpl (toYaml .) $ | nindent 8 }} - {{- end }} - jobTargetRef: - parallelism: 1 - completions: 1 - backoffLimit: 0 -{{- $podScope := deepCopy . -}} -{{- $_ := set $podScope "name" "selenium-edge-node" -}} -{{- $_ = set $podScope "node" .Values.edgeNode -}} -{{- $_ = set $podScope "uploader" (get .Values.videoRecorder (.Values.videoRecorder.uploader | toString)) -}} -{{- include "seleniumGrid.podTemplate" $podScope | nindent 4 }} + {{- $podScope := deepCopy . -}} + {{- $_ := set $podScope "name" (include "seleniumGrid.edgeNode.fullname" .) -}} + {{- $_ = set $podScope "node" .Values.edgeNode -}} + {{- $_ = set $podScope "uploader" (get .Values.videoRecorder (.Values.videoRecorder.uploader | toString)) -}} + {{- $_ = set $podScope "podTemplate" (include "seleniumGrid.podTemplate" $podScope | fromYaml) }} + {{- include "seleniumGrid.autoscalingTemplate" $podScope | nindent 2 }} {{- end }} diff --git a/charts/selenium-grid/templates/event-bus-configmap.yaml b/charts/selenium-grid/templates/event-bus-configmap.yaml index efe33fa7d..05f279bba 100644 --- a/charts/selenium-grid/templates/event-bus-configmap.yaml +++ b/charts/selenium-grid/templates/event-bus-configmap.yaml @@ -15,6 +15,6 @@ metadata: {{- toYaml . | nindent 4 }} {{- end }} data: - SE_EVENT_BUS_HOST: {{ $eventBusHost }} + SE_EVENT_BUS_HOST: {{ $eventBusHost | quote }} SE_EVENT_BUS_PUBLISH_PORT: {{ $eventBusPublishPort | quote }} SE_EVENT_BUS_SUBSCRIBE_PORT: {{ $eventBusSubscribePort | quote }} diff --git a/charts/selenium-grid/templates/firefox-node-deployment.yaml b/charts/selenium-grid/templates/firefox-node-deployment.yaml index 13dcf904f..f5dc6d962 100644 --- a/charts/selenium-grid/templates/firefox-node-deployment.yaml +++ b/charts/selenium-grid/templates/firefox-node-deployment.yaml @@ -23,8 +23,8 @@ spec: app: selenium-firefox-node app.kubernetes.io/instance: {{ .Release.Name }} {{- $podScope := deepCopy . -}} -{{- $_ := set $podScope "name" "selenium-firefox-node" -}} -{{- $_ = set $podScope "node" .Values.firefoxNode -}} +{{- $_ := set $podScope "name" (include "seleniumGrid.firefoxNode.fullname" .) -}} +{{- $_ = set $podScope "node" .Values.firefoxNode -}} {{- $_ = set $podScope "uploader" (get .Values.videoRecorder (.Values.videoRecorder.uploader | toString)) -}} {{- include "seleniumGrid.podTemplate" $podScope | nindent 2 }} {{- end }} diff --git a/charts/selenium-grid/templates/firefox-node-hpa.yaml b/charts/selenium-grid/templates/firefox-node-hpa.yaml index 70a463e79..ad18269a5 100644 --- a/charts/selenium-grid/templates/firefox-node-hpa.yaml +++ b/charts/selenium-grid/templates/firefox-node-hpa.yaml @@ -11,13 +11,8 @@ metadata: labels: deploymentName: {{ template "seleniumGrid.firefoxNode.fullname" . }} spec: - maxReplicaCount: {{ .Values.firefoxNode.maxReplicaCount }} - minReplicaCount: {{ .Values.firefoxNode.minReplicaCount }} - scaleTargetRef: - name: {{ template "seleniumGrid.firefoxNode.fullname" . }} - triggers: - - type: selenium-grid - {{- with .Values.firefoxNode.hpa }} - metadata: {{- tpl (toYaml .) $ | nindent 8 }} - {{- end }} + {{- $podScope := deepCopy . -}} + {{- $_ := set $podScope "name" (include "seleniumGrid.firefoxNode.fullname" .) -}} + {{- $_ = set $podScope "node" .Values.firefoxNode -}} + {{- include "seleniumGrid.autoscalingTemplate" $podScope | nindent 2 }} {{- end }} diff --git a/charts/selenium-grid/templates/firefox-node-scaledjob.yaml b/charts/selenium-grid/templates/firefox-node-scaledjob.yaml index 3fceee4f5..9105bc358 100644 --- a/charts/selenium-grid/templates/firefox-node-scaledjob.yaml +++ b/charts/selenium-grid/templates/firefox-node-scaledjob.yaml @@ -19,22 +19,10 @@ metadata: {{- toYaml . | nindent 4 }} {{- end }} spec: - maxReplicaCount: {{ .Values.firefoxNode.maxReplicaCount }} - {{- with .Values.autoscaling.scaledJobOptions -}} - {{ toYaml . | nindent 2 }} - {{- end }} - triggers: - - type: selenium-grid - {{- with .Values.firefoxNode.hpa }} - metadata: {{- tpl (toYaml .) $ | nindent 8 }} - {{- end }} - jobTargetRef: - parallelism: 1 - completions: 1 - backoffLimit: 0 -{{- $podScope := deepCopy . -}} -{{- $_ := set $podScope "name" "selenium-firefox-node" -}} -{{- $_ = set $podScope "node" .Values.firefoxNode -}} -{{- $_ = set $podScope "uploader" (get .Values.videoRecorder (.Values.videoRecorder.uploader | toString)) -}} -{{- include "seleniumGrid.podTemplate" $podScope | nindent 4 }} + {{- $podScope := deepCopy . -}} + {{- $_ := set $podScope "name" (include "seleniumGrid.firefoxNode.fullname" .) -}} + {{- $_ = set $podScope "node" .Values.firefoxNode -}} + {{- $_ = set $podScope "uploader" (get .Values.videoRecorder (.Values.videoRecorder.uploader | toString)) -}} + {{- $_ = set $podScope "podTemplate" (include "seleniumGrid.podTemplate" $podScope | fromYaml) }} + {{- include "seleniumGrid.autoscalingTemplate" $podScope | nindent 2 }} {{- end }} diff --git a/charts/selenium-grid/values.yaml b/charts/selenium-grid/values.yaml index 2d4625b6f..6fdb961ef 100644 --- a/charts/selenium-grid/values.yaml +++ b/charts/selenium-grid/values.yaml @@ -348,11 +348,31 @@ autoscaling: # Annotations for KEDA resources: ScaledObject and ScaledJob annotations: helm.sh/hook: post-install,post-upgrade - # Options for KEDA ScaledJobs - scaledJobOptions: + # Options for KEDA scaled resources (keep only common options used for both ScaledJob and ScaledObject) + scaledOptions: + minReplicaCount: 0 + maxReplicaCount: 8 pollingInterval: 10 + # List of triggers. Be careful, the default trigger of selenium-grid will be overwritten if you specify this + #triggers: + # Options for KEDA ScaledJobs (only used when scalingType is set to "job") + # see https://keda.sh/docs/latest/concepts/scaling-jobs/#scaledjob-spec + scaledJobOptions: scalingStrategy: strategy: accurate + # Number of Completed jobs should be kept + successfulJobsHistoryLimit: 0 + # Number of Failed jobs should be kept (for troubleshooting purposes) + failedJobsHistoryLimit: 100 + jobTargetRef: + parallelism: 1 + completions: 1 + backoffLimit: 0 + # Options for KEDA ScaledObjects (only used when scalingType is set to "deployment") + # see https://keda.sh/docs/latest/concepts/scaling-deployments/#scaledobject-spec + scaledObjectOptions: + scaleTargetRef: + kind: Deployment deregisterLifecycle: preStop: exec: @@ -472,8 +492,10 @@ chromeNode: # persistentVolumeClaim: # claimName: my-pv-claim - maxReplicaCount: 8 - minReplicaCount: 1 + # Override the scaled options for chrome nodes + #scaledOptions: + #scaledJobOptions: + #scaledObjectOptions: hpa: url: '{{ include "seleniumGrid.graphqlURL" . }}' browserName: chrome @@ -594,8 +616,11 @@ firefoxNode: # - name: my-extra-volume-from-pvc # persistentVolumeClaim: # claimName: my-pv-claim - maxReplicaCount: 8 - minReplicaCount: 1 + + # Override the scaled options for firefox nodes + #scaledOptions: + #scaledJobOptions: + #scaledObjectOptions: hpa: url: '{{ include "seleniumGrid.graphqlURL" . }}' browserName: firefox @@ -713,8 +738,11 @@ edgeNode: # - name: my-extra-volume-from-pvc # persistentVolumeClaim: # claimName: my-pv-claim - maxReplicaCount: 8 - minReplicaCount: 1 + + # Override the scaled options for edge nodes + #scaledOptions: + #scaledJobOptions: + #scaledObjectOptions: hpa: url: '{{ include "seleniumGrid.graphqlURL" . }}' browserName: MicrosoftEdge From 009d47c1faed690f3e105922820514e9f7103f70 Mon Sep 17 00:00:00 2001 From: Viet Nguyen Duc Date: Mon, 6 Nov 2023 19:28:52 +0530 Subject: [PATCH 29/84] Add chart parameter ingress.paths to configure custom paths (#1994) * Add chart parameter ingress.paths to configure custom paths Signed-off-by: Viet Nguyen Duc * #1810 Update dafault value for ingress.hostname Signed-off-by: Viet Nguyen Duc * Update chart README for config parameters basicAuth. Signed-off-by: Viet Nguyen Duc --------- Signed-off-by: Viet Nguyen Duc --- charts/selenium-grid/README.md | 9 ++++++++- charts/selenium-grid/templates/ingress.yaml | 6 +++++- charts/selenium-grid/values.yaml | 6 +++++- 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/charts/selenium-grid/README.md b/charts/selenium-grid/README.md index 2c7240df7..cd2826e04 100644 --- a/charts/selenium-grid/README.md +++ b/charts/selenium-grid/README.md @@ -27,6 +27,8 @@ helm install selenium-grid docker-selenium/selenium-grid --version # In both cases grid exposed by default using ingress. You may want to set hostname for the grid. Default hostname is selenium-grid.local. helm install selenium-grid --set ingress.hostname=selenium-grid.k8s.local docker-selenium/chart/selenium-grid/. +# Verify ingress configuration via kubectl get ingress +# Notes: In case you want to set hostname is selenium-grid.local. You need to add the IP and hostname to the local host file in `/etc/hosts` ``` ## Enable Selenium Grid Autoscaling @@ -93,6 +95,9 @@ This table contains the configuration parameters of the chart and their default | Parameter | Default | Description | |-----------------------------------------------|---------------------------------------------|----------------------------------------------------------------------------------------------------------------------------| +| `basicAuth.enabled` | `true` | Enable or disable basic auth for Selenium Grid | +| `basicAuth.username` | `admin` | Username of basic auth for Selenium Grid | +| `basicAuth.password` | `admin` | Password of basic auth for Selenium Grid | | `isolateComponents` | `false` | Deploy Router, Distributor, EventBus, SessionMap and Nodes separately | | `serviceAccount.create` | `true` | Enable or disable creation of service account (if `false`, `serviceAccount.name` MUST be specified | | `serviceAccount.name` | `""` | Name of the service account to be made or existing service account to use for all deployments and jobs | @@ -104,8 +109,10 @@ This table contains the configuration parameters of the chart and their default | `ingress.enabled` | `true` | Enable or disable ingress resource | | `ingress.className` | `""` | Name of ingress class to select which controller will implement ingress resource | | `ingress.annotations` | `{}` | Custom annotations for ingress resource | -| `ingress.hostname` | `selenium-grid.local` | Default host for the ingress resource | +| `ingress.hostname` | `` | Default host for the ingress resource | | `ingress.path` | `/` | Default host path for the ingress resource | +| `ingress.pathType` | `Prefix` | Default path type for the ingress resource | +| `ingress.paths` | `[]` | List of paths config for the ingress resource. This will override the default path | | `ingress.tls` | `[]` | TLS backend configuration for ingress resource | | `autoscaling.enableWithExistingKEDA` | `false` | Enable autoscaling of browser nodes. | | `autoscaling.enabled` | `false` | Same as above plus installation of KEDA | diff --git a/charts/selenium-grid/templates/ingress.yaml b/charts/selenium-grid/templates/ingress.yaml index 77aa8604c..f574c6c2f 100644 --- a/charts/selenium-grid/templates/ingress.yaml +++ b/charts/selenium-grid/templates/ingress.yaml @@ -47,8 +47,9 @@ spec: {{- end }} {{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.Version }} paths: + {{- if empty (.Values.ingress.paths) }} - path: {{ $.Values.ingress.path | default "/" }} - pathType: Prefix + pathType: {{ $.Values.ingress.pathType | default "Prefix" }} backend: service: {{- if $.Values.isolateComponents }} @@ -60,6 +61,9 @@ spec: port: number: {{ $.Values.hub.port }} {{- end }} + {{- else }} + {{- tpl (toYaml .Values.ingress.paths | nindent 10) . }} + {{- end }} {{- else }} paths: - path: / diff --git a/charts/selenium-grid/values.yaml b/charts/selenium-grid/values.yaml index 6fdb961ef..36322c4d0 100644 --- a/charts/selenium-grid/values.yaml +++ b/charts/selenium-grid/values.yaml @@ -35,9 +35,13 @@ ingress: # Custom annotations for ingress resource annotations: {} # Default host for the ingress resource - hostname: selenium-grid.local + hostname: "" # Default host path for the ingress resource path: / + # Default path type for the ingress resource + pathType: Prefix + # List of paths for the ingress resource. This will override the default path + paths: [] # TLS backend configuration for ingress resource tls: [] From 87c0cf66f7994b2986585b41730b30a3771a1738 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 6 Nov 2023 18:18:48 +0100 Subject: [PATCH 30/84] Bump helm/chart-releaser-action from 1.5.0 to 1.6.0 (#1993) Bumps [helm/chart-releaser-action](https://github.com/helm/chart-releaser-action) from 1.5.0 to 1.6.0. - [Release notes](https://github.com/helm/chart-releaser-action/releases) - [Commits](https://github.com/helm/chart-releaser-action/compare/v1.5.0...v1.6.0) --- updated-dependencies: - dependency-name: helm/chart-releaser-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/helm-chart-release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/helm-chart-release.yml b/.github/workflows/helm-chart-release.yml index 6a5722f3e..e31046aba 100644 --- a/.github/workflows/helm-chart-release.yml +++ b/.github/workflows/helm-chart-release.yml @@ -23,6 +23,6 @@ jobs: git config user.email "$GITHUB_ACTOR@users.noreply.github.com" - 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 }}" From fe17f6dec9dd32bd70649cf56b080d5e97cad446 Mon Sep 17 00:00:00 2001 From: Viet Nguyen Duc Date: Wed, 8 Nov 2023 17:35:22 +0530 Subject: [PATCH 31/84] feat: Adding port to nodes service (#1996) * Bumping chart version Signed-off-by: Viet Nguyen Duc * #1995 feat: Adding port to nodes service Signed-off-by: Viet Nguyen Duc * Update chart CHANGELOG Signed-off-by: Viet Nguyen Duc --------- Signed-off-by: Viet Nguyen Duc --- charts/selenium-grid/CHANGELOG.md | 19 ++++++++++++++- charts/selenium-grid/Chart.yaml | 4 ++-- charts/selenium-grid/README.md | 6 +++++ .../templates/chrome-node-service.yaml | 16 +++++++++++++ .../templates/edge-node-service.yaml | 16 +++++++++++++ .../templates/firefox-node-service.yaml | 16 +++++++++++++ charts/selenium-grid/values.yaml | 24 +++++++++++++++++-- 7 files changed, 96 insertions(+), 5 deletions(-) diff --git a/charts/selenium-grid/CHANGELOG.md b/charts/selenium-grid/CHANGELOG.md index a6bbe036a..2515b9207 100644 --- a/charts/selenium-grid/CHANGELOG.md +++ b/charts/selenium-grid/CHANGELOG.md @@ -2,6 +2,23 @@ All notable changes to this helm chart will be documented in this file. +## :heavy_check_mark: 0.24.0 + +### Added + +- Update tag in docs and files [skip ci] :: Selenium CI Bot +- Bumping chart version :: Diego Molina +- Fix minor issues after PR #1881 and #1981 (#1983) :: Viet Nguyen Duc +- Improve default value for videoRecorder in chart (#1984) :: Viet Nguyen Duc +- Improve chart templates in the section videoRecorder (#1987) :: Viet Nguyen Duc +- Update to Selenium 4.15.0 (#1990) :: Luis Correia +- feat(autoscaling): Unified parameters to set scaled options for browser nodes (#1989) :: Viet Nguyen Duc +- Add chart parameter ingress.paths to configure custom paths (#1994) :: Viet Nguyen Duc +- feat: Adding port to nodes service (#1196) :: Viet Nguyen Duc + +### Changed +- Update image tag to 4.15.0-20231102 + ## :heavy_check_mark: 0.23.0 ### Added @@ -11,7 +28,7 @@ All notable changes to this helm chart will be documented in this file. - Update Video/Dockerfile with based image ffmpeg:6.0-alpine (#1981) :: Viet Nguyen Duc ### Changed -- Update image tag to 4.15.0-20231102 +- Update image tag to 4.14.1-20231025 ## :heavy_check_mark: 0.22.0 diff --git a/charts/selenium-grid/Chart.yaml b/charts/selenium-grid/Chart.yaml index e5d9c79ec..f68a7851c 100644 --- a/charts/selenium-grid/Chart.yaml +++ b/charts/selenium-grid/Chart.yaml @@ -2,8 +2,8 @@ apiVersion: v2 name: selenium-grid description: A Helm chart for creating a Selenium Grid Server in Kubernetes type: application -version: 0.23.0 -appVersion: 4.14.1-20231025 +version: 0.24.0 +appVersion: 4.15.0-20231102 icon: https://github.com/SeleniumHQ/docker-selenium/raw/trunk/logo.png dependencies: - repository: https://kedacore.github.io/charts diff --git a/charts/selenium-grid/README.md b/charts/selenium-grid/README.md index cd2826e04..55c03b22e 100644 --- a/charts/selenium-grid/README.md +++ b/charts/selenium-grid/README.md @@ -147,6 +147,8 @@ This table contains the configuration parameters of the chart and their default | `chromeNode.extraEnvFrom` | `nil` | Custom environment taken from `configMap` or `secret` variables for chrome nodes | | `chromeNode.service.enabled` | `true` | Create a service for node | | `chromeNode.service.type` | `ClusterIP` | Service type | +| `chromeNode.service.loadBalancerIP` | `` | Set specific loadBalancerIP when serviceType is LoadBalancer | +| `chromeNode.service.ports` | `[]` | Extra ports exposed in node service | | `chromeNode.service.annotations` | `{}` | Custom annotations for service | | `chromeNode.dshmVolumeSizeLimit` | `1Gi` | Size limit for DSH volume mounted in container (if not set, default is "1Gi") | | `chromeNode.startupProbe` | `{}` | Probe to check pod is started successfully | @@ -184,6 +186,8 @@ This table contains the configuration parameters of the chart and their default | `firefoxNode.extraEnvFrom` | `nil` | Custom environment variables taken from `configMap` or `secret` for firefox nodes | | `firefoxNode.service.enabled` | `true` | Create a service for node | | `firefoxNode.service.type` | `ClusterIP` | Service type | +| `firefoxNode.service.loadBalancerIP` | `` | Set specific loadBalancerIP when serviceType is LoadBalancer | +| `firefoxNode.service.ports` | `[]` | Extra ports exposed in node service | | `firefoxNode.service.annotations` | `{}` | Custom annotations for service | | `firefoxNode.dshmVolumeSizeLimit` | `1Gi` | Size limit for DSH volume mounted in container (if not set, default is "1Gi") | | `firefoxNode.startupProbe` | `{}` | Probe to check pod is started successfully | @@ -221,6 +225,8 @@ This table contains the configuration parameters of the chart and their default | `edgeNode.extraEnvFrom` | `nil` | Custom environment taken from `configMap` or `secret` variables for firefox nodes | | `edgeNode.service.enabled` | `true` | Create a service for node | | `edgeNode.service.type` | `ClusterIP` | Service type | +| `edgeNode.service.loadBalancerIP` | `` | Set specific loadBalancerIP when serviceType is LoadBalancer | +| `edgeNode.service.ports` | `[]` | Extra ports exposed in node service | | `edgeNode.service.annotations` | `{}` | Custom annotations for service | | `edgeNode.dshmVolumeSizeLimit` | `1Gi` | Size limit for DSH volume mounted in container (if not set, default is "1Gi") | | `edgeNode.startupProbe` | `{}` | Probe to check pod is started successfully | diff --git a/charts/selenium-grid/templates/chrome-node-service.yaml b/charts/selenium-grid/templates/chrome-node-service.yaml index 41aebd570..754f941ab 100644 --- a/charts/selenium-grid/templates/chrome-node-service.yaml +++ b/charts/selenium-grid/templates/chrome-node-service.yaml @@ -16,9 +16,25 @@ spec: selector: app: selenium-chrome-node app.kubernetes.io/instance: {{ .Release.Name }} + {{- if and (eq .Values.chromeNode.service.type "LoadBalancer") (.Values.chromeNode.service.loadBalancerIP) }} + loadBalancerIP: {{ .Values.chromeNode.service.loadBalancerIP }} + {{- end }} ports: - name: tcp-chrome protocol: TCP port: {{ .Values.chromeNode.seleniumServicePort }} targetPort: {{ .Values.chromeNode.seleniumPort }} + {{- with .Values.chromeNode.service.ports }} + {{- range . }} + - name: {{ .name }} + port: {{ .port }} + targetPort: {{ .targetPort }} + {{- if .protocol }} + protocol: {{ .protocol }} + {{- end }} + {{- if and (eq $.Values.chromeNode.service.type "NodePort") .nodePort }} + nodePort: {{ .nodePort }} + {{- end }} + {{- end }} + {{- end }} {{- end }} diff --git a/charts/selenium-grid/templates/edge-node-service.yaml b/charts/selenium-grid/templates/edge-node-service.yaml index ae59a4a63..ca253835a 100644 --- a/charts/selenium-grid/templates/edge-node-service.yaml +++ b/charts/selenium-grid/templates/edge-node-service.yaml @@ -16,9 +16,25 @@ spec: selector: app: selenium-edge-node app.kubernetes.io/instance: {{ .Release.Name }} + {{- if and (eq .Values.edgeNode.service.type "LoadBalancer") (.Values.edgeNode.service.loadBalancerIP) }} + loadBalancerIP: {{ .Values.edgeNode.service.loadBalancerIP }} + {{- end }} ports: - name: tcp-edge protocol: TCP port: {{ .Values.edgeNode.seleniumServicePort }} targetPort: {{ .Values.edgeNode.seleniumPort }} + {{- with .Values.edgeNode.service.ports }} + {{- range . }} + - name: {{ .name }} + port: {{ .port }} + targetPort: {{ .targetPort }} + {{- if .protocol }} + protocol: {{ .protocol }} + {{- end }} + {{- if and (eq $.Values.edgeNode.service.type "NodePort") .nodePort }} + nodePort: {{ .nodePort }} + {{- end }} + {{- end }} + {{- end }} {{- end }} diff --git a/charts/selenium-grid/templates/firefox-node-service.yaml b/charts/selenium-grid/templates/firefox-node-service.yaml index 473225f93..d8cb4c844 100644 --- a/charts/selenium-grid/templates/firefox-node-service.yaml +++ b/charts/selenium-grid/templates/firefox-node-service.yaml @@ -16,9 +16,25 @@ spec: selector: app: selenium-firefox-node app.kubernetes.io/instance: {{ .Release.Name }} + {{- if and (eq .Values.firefoxNode.service.type "LoadBalancer") (.Values.firefoxNode.service.loadBalancerIP) }} + loadBalancerIP: {{ .Values.firefoxNode.service.loadBalancerIP }} + {{- end }} ports: - name: tcp-firefox protocol: TCP port: {{ .Values.firefoxNode.seleniumServicePort }} targetPort: {{ .Values.firefoxNode.seleniumPort }} + {{- with .Values.firefoxNode.service.ports }} + {{- range . }} + - name: {{ .name }} + port: {{ .port }} + targetPort: {{ .targetPort }} + {{- if .protocol }} + protocol: {{ .protocol }} + {{- end }} + {{- if and (eq $.Values.firefoxNode.service.type "NodePort") .nodePort }} + nodePort: {{ .nodePort }} + {{- end }} + {{- end }} + {{- end }} {{- end }} diff --git a/charts/selenium-grid/values.yaml b/charts/selenium-grid/values.yaml index 36322c4d0..66841ffc9 100644 --- a/charts/selenium-grid/values.yaml +++ b/charts/selenium-grid/values.yaml @@ -464,6 +464,13 @@ chromeNode: enabled: true # Service type type: ClusterIP + # Set specific loadBalancerIP when serviceType is LoadBalancer (see https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer) + loadBalancerIP: "" + # Extra ports exposed in node service + ports: + # - name: node-port + # port: 5555 + # targetPort: 5555 # Custom annotations for service annotations: {} # Size limit for DSH volume mounted in container (if not set, default is "1Gi") @@ -589,6 +596,13 @@ firefoxNode: enabled: true # Service type type: ClusterIP + # Set specific loadBalancerIP when serviceType is LoadBalancer (see https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer) + loadBalancerIP: "" + # Extra ports exposed in node service + ports: + # - name: node-port + # port: 5555 + # targetPort: 5555 # Custom annotations for service annotations: {} # Size limit for DSH volume mounted in container (if not set, default is "1Gi") @@ -710,9 +724,15 @@ edgeNode: enabled: true # Service type type: ClusterIP + # Set specific loadBalancerIP when serviceType is LoadBalancer (see https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer) + loadBalancerIP: "" + # Extra ports exposed in node service + ports: + # - name: node-port + # port: 5555 + # targetPort: 5555 # Custom annotations for service - annotations: - hello: world + annotations: {} # Size limit for DSH volume mounted in container (if not set, default is "1Gi") dshmVolumeSizeLimit: 1Gi # Priority class name for edge-node pods From e071a316b80e7d781d75edce2bd8255c031e7d51 Mon Sep 17 00:00:00 2001 From: Matt Colman <33348891+mtcolman@users.noreply.github.com> Date: Wed, 8 Nov 2023 14:12:10 +0000 Subject: [PATCH 32/84] Update Dockerfile external jar versions (#1998) Update Dockerfile uplifting external jar versions. [deploy] --- Base/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Base/Dockerfile b/Base/Dockerfile index 44dc86e36..a0d034594 100644 --- a/Base/Dockerfile +++ b/Base/Dockerfile @@ -88,7 +88,7 @@ RUN curl -fLo /tmp/cs https://github.com/coursier/launchers/raw/master/coursier && mkdir -p /external_jars \ && chmod -R 775 /external_jars -RUN /tmp/cs fetch --classpath --cache /external_jars io.opentelemetry:opentelemetry-exporter-otlp:1.30.1 io.opentelemetry:opentelemetry-exporter-jaeger:1.30.1 io.grpc:grpc-netty:1.58.0 > /external_jars/.classpath.txt +RUN /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 RUN chmod 664 /external_jars/.classpath.txt RUN rm -fr /root/.cache/* From 6b7356b9a16bc5dae79e364dcd8c122cda83a7ce Mon Sep 17 00:00:00 2001 From: Selenium CI Bot Date: Wed, 8 Nov 2023 14:31:01 +0000 Subject: [PATCH 33/84] Update tag in docs and files [skip ci] --- .github/ISSUE_TEMPLATE/bug_report.yml | 2 +- NodeDocker/config.toml | 8 +- README.md | 134 ++++++++++++------------ charts/selenium-grid/CHANGELOG.md | 2 +- charts/selenium-grid/README.md | 12 +-- charts/selenium-grid/values.yaml | 24 ++--- docker-compose-v2-tracing.yml | 8 +- docker-compose-v2.yml | 8 +- docker-compose-v3-basicauth.yml | 8 +- docker-compose-v3-dev.yml | 8 +- docker-compose-v3-dynamic-grid.yml | 4 +- docker-compose-v3-full-grid-dev.yml | 16 +-- docker-compose-v3-full-grid-swarm.yml | 8 +- docker-compose-v3-full-grid-tracing.yml | 16 +-- docker-compose-v3-full-grid.yml | 16 +-- docker-compose-v3-swarm.yml | 8 +- docker-compose-v3-tracing.yml | 8 +- docker-compose-v3-video.yml | 14 +-- docker-compose-v3.yml | 8 +- 19 files changed, 156 insertions(+), 156 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index f277ee18d..fdf692cea 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -55,6 +55,6 @@ body: attributes: label: Docker Selenium version (tag) description: What version of Docker Selenium are you using? - placeholder: 4.15.0-20231102? Please use the full tag, avoid "latest" + placeholder: 4.15.0-20231108? Please use the full tag, avoid "latest" validations: required: true \ No newline at end of file diff --git a/NodeDocker/config.toml b/NodeDocker/config.toml index 433eb3f15..7474ff465 100644 --- a/NodeDocker/config.toml +++ b/NodeDocker/config.toml @@ -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.15.0-20231102", '{"browserName": "firefox", "platformName": "linux"}', - "selenium/standalone-chrome:4.15.0-20231102", '{"browserName": "chrome", "platformName": "linux"}', - "selenium/standalone-edge:4.15.0-20231102", '{"browserName": "MicrosoftEdge", "platformName": "linux"}' + "selenium/standalone-firefox:4.15.0-20231108", '{"browserName": "firefox", "platformName": "linux"}', + "selenium/standalone-chrome:4.15.0-20231108", '{"browserName": "chrome", "platformName": "linux"}', + "selenium/standalone-edge:4.15.0-20231108", '{"browserName": "MicrosoftEdge", "platformName": "linux"}' ] # URL for connecting to the docker daemon @@ -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-6.0-20231102" +video-image = "selenium/video:ffmpeg-6.0-20231108" # Uncomment the following section if you are running the node on a separate VM # Fill out the placeholders with appropriate values diff --git a/README.md b/README.md index 7d4fee314..0cc87f724 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ The project is made possible by volunteer contributors who have put in thousands and made the source code freely available under the [Apache License 2.0](LICENSE.md). These Docker images come with a handful of tags to simplify its usage, have a look at them in one of -our [releases](https://github.com/SeleniumHQ/docker-selenium/releases/tag/4.15.0-20231102). +our [releases](https://github.com/SeleniumHQ/docker-selenium/releases/tag/4.15.0-20231108). To get notifications of new releases, add yourself as a "Releases only" watcher. @@ -64,7 +64,7 @@ Talk to us at https://www.selenium.dev/support/ 1. Start a Docker container with Firefox ```bash -docker run -d -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-firefox:4.15.0-20231102 +docker run -d -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-firefox:4.15.0-20231108 ``` 2. Point your WebDriver tests to http://localhost:4444 @@ -251,17 +251,17 @@ For more information on the Dev and Beta channel container images, see the blog ![Firefox](https://raw.githubusercontent.com/alrra/browser-logos/main/src/firefox/firefox_24x24.png) Firefox ```bash -docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-firefox:4.15.0-20231102 +docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-firefox:4.15.0-20231108 ``` ![Chrome](https://raw.githubusercontent.com/alrra/browser-logos/main/src/chrome/chrome_24x24.png) Chrome ```bash -docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-chrome:4.15.0-20231102 +docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-chrome:4.15.0-20231108 ``` ![Edge](https://raw.githubusercontent.com/alrra/browser-logos/main/src/edge/edge_24x24.png) Edge ```bash -docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-edge:4.15.0-20231102 +docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-edge:4.15.0-20231108 ``` _Note: Only one Standalone container can run on port_ `4444` _at the same time._ @@ -280,44 +280,44 @@ A Docker [network](https://docs.docker.com/engine/reference/commandline/network_ ```bash $ docker network create grid -$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.15.0-20231102 +$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.15.0-20231108 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-chrome:4.15.0-20231102 + selenium/node-chrome:4.15.0-20231108 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-edge:4.15.0-20231102 + selenium/node-edge:4.15.0-20231108 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-firefox:4.15.0-20231102 + selenium/node-firefox:4.15.0-20231108 ``` ##### Windows PowerShell ```powershell $ docker network create grid -$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.15.0-20231102 +$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.15.0-20231108 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub ` --shm-size="2g" ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` - selenium/node-chrome:4.15.0-20231102 + selenium/node-chrome:4.15.0-20231108 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub ` --shm-size="2g" ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` - selenium/node-edge:4.15.0-20231102 + selenium/node-edge:4.15.0-20231108 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub ` --shm-size="2g" ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` - selenium/node-firefox:4.15.0-20231102 + selenium/node-firefox:4.15.0-20231108 ``` When you are done using the Grid, and the containers have exited, the network can be removed with the following command: @@ -334,7 +334,7 @@ configured to expose different ports. ##### Hub - Machine/VM 1 ```bash -$ docker run -d -p 4442-4444:4442-4444 --name selenium-hub selenium/hub:4.15.0-20231102 +$ docker run -d -p 4442-4444:4442-4444 --name selenium-hub selenium/hub:4.15.0-20231108 ``` ##### Node Chrome - Machine/VM 2 @@ -348,7 +348,7 @@ $ docker run -d -p 5555:5555 \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ -e SE_NODE_HOST= \ - selenium/node-chrome:4.15.0-20231102 + selenium/node-chrome:4.15.0-20231108 ``` ###### Windows PowerShell @@ -360,7 +360,7 @@ $ docker run -d -p 5555:5555 ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` -e SE_NODE_HOST= ` - selenium/node-chrome:4.15.0-20231102 + selenium/node-chrome:4.15.0-20231108 ``` @@ -375,7 +375,7 @@ $ docker run -d -p 5555:5555 \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ -e SE_NODE_HOST= \ - selenium/node-edge:4.15.0-20231102 + selenium/node-edge:4.15.0-20231108 ``` ###### Windows PowerShell @@ -387,7 +387,7 @@ $ docker run -d -p 5555:5555 ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` -e SE_NODE_HOST= ` - selenium/node-edge:4.15.0-20231102 + selenium/node-edge:4.15.0-20231108 ``` ##### Node Firefox - Machine/VM 4 @@ -401,7 +401,7 @@ $ docker run -d -p 5555:5555 \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ -e SE_NODE_HOST= \ - selenium/node-firefox:4.15.0-20231102 + selenium/node-firefox:4.15.0-20231108 ``` ###### Windows PowerShell @@ -413,7 +413,7 @@ $ docker run -d -p 5555:5555 ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` -e SE_NODE_HOST= ` - selenium/node-firefox:4.15.0-20231102 + selenium/node-firefox:4.15.0-20231108 ``` ##### Node Chrome - Machine/VM 4 @@ -428,7 +428,7 @@ $ docker run -d -p 5556:5556 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ -e SE_NODE_HOST= \ -e SE_NODE_PORT=5556 \ - selenium/node-chrome:4.15.0-20231102 + selenium/node-chrome:4.15.0-20231108 ``` ###### Windows PowerShell @@ -441,7 +441,7 @@ $ docker run -d -p 5556:5556 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` -e SE_NODE_HOST= ` -e SE_NODE_PORT=5556 ` - selenium/node-chrome:4.15.0-20231102 + selenium/node-chrome:4.15.0-20231108 ``` #### Docker Compose @@ -473,7 +473,7 @@ ___ ## Video recording -Tests execution can be recorded by using the `selenium/video:ffmpeg-6.0-20231102` +Tests execution can be recorded by using the `selenium/video:ffmpeg-6.0-20231108` Docker image. One container is needed per each container where a browser is running. This means if you are running 5 Nodes/Standalone containers, you will need 5 video containers, the mapping is 1-1. @@ -499,8 +499,8 @@ This example shows how to start the containers manually: ``` bash $ docker network create grid -$ docker run -d -p 4444:4444 -p 6900:5900 --net grid --name selenium --shm-size="2g" selenium/standalone-chrome:4.15.0-20231102 -$ docker run -d --net grid --name video -v /tmp/videos:/videos selenium/video:ffmpeg-6.0-20231102 +$ docker run -d -p 4444:4444 -p 6900:5900 --net grid --name selenium --shm-size="2g" selenium/standalone-chrome:4.15.0-20231108 +$ docker run -d --net grid --name video -v /tmp/videos:/videos selenium/video:ffmpeg-6.0-20231108 # Run your tests $ docker stop video && docker rm video $ docker stop selenium && docker rm selenium @@ -532,9 +532,9 @@ You can save this file locally and name it, for example, `config.toml`. # 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.15.0-20231102", '{"browserName": "firefox"}', - "selenium/standalone-chrome:4.15.0-20231102", '{"browserName": "chrome"}', - "selenium/standalone-edge:4.15.0-20231102", '{"browserName": "MicrosoftEdge"}' + "selenium/standalone-firefox:4.15.0-20231108", '{"browserName": "firefox"}', + "selenium/standalone-chrome:4.15.0-20231108", '{"browserName": "chrome"}', + "selenium/standalone-edge:4.15.0-20231108", '{"browserName": "MicrosoftEdge"}' ] # URL for connecting to the docker daemon @@ -547,7 +547,7 @@ configs = [ # Linux: varies from machine to machine, please mount /var/run/docker.sock. If this does not work, please create an issue. url = "http://127.0.0.1:2375" # Docker image used for video recording -video-image = "selenium/video:ffmpeg-6.0-20231102" +video-image = "selenium/video:ffmpeg-6.0-20231108" # Uncomment the following section if you are running the node on a separate VM # Fill out the placeholders with appropriate values @@ -566,28 +566,28 @@ virtual machines. ```bash $ docker network create grid -$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.15.0-20231102 +$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.15.0-20231108 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ -v ${PWD}/config.toml:/opt/bin/config.toml \ -v ${PWD}/assets:/opt/selenium/assets \ -v /var/run/docker.sock:/var/run/docker.sock \ - selenium/node-docker:4.15.0-20231102 + selenium/node-docker:4.15.0-20231108 ``` #### Windows PowerShell ```powershell $ docker network create grid -$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.15.0-20231102 +$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.15.0-20231108 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` -v ${PWD}/config.toml:/opt/bin/config.toml ` -v ${PWD}/assets:/opt/selenium/assets ` -v /var/run/docker.sock:/var/run/docker.sock ` - selenium/node-docker:4.15.0-20231102 + selenium/node-docker:4.15.0-20231108 ``` To have the assets saved on your host, please mount your host path to `/opt/selenium/assets`. @@ -608,7 +608,7 @@ docker run --rm --name selenium-docker -p 4444:4444 \ -v ${PWD}/config.toml:/opt/bin/config.toml \ -v ${PWD}/assets:/opt/selenium/assets \ -v /var/run/docker.sock:/var/run/docker.sock \ - selenium/standalone-docker:4.15.0-20231102 + selenium/standalone-docker:4.15.0-20231108 ``` #### Windows PowerShell @@ -618,7 +618,7 @@ docker run --rm --name selenium-docker -p 4444:4444 ` -v ${PWD}/config.toml:/opt/bin/config.toml ` -v ${PWD}/assets:/opt/selenium/assets ` -v /var/run/docker.sock:/var/run/docker.sock ` - selenium/standalone-docker:4.15.0-20231102 + selenium/standalone-docker:4.15.0-20231108 ``` ### Using Dynamic Grid in different machines/VMs @@ -626,7 +626,7 @@ docker run --rm --name selenium-docker -p 4444:4444 ` #### Hub - Machine/VM 1 ```bash -$ docker run -d -p 4442-4444:4442-4444 --name selenium-hub selenium/hub:4.15.0-20231102 +$ docker run -d -p 4442-4444:4442-4444 --name selenium-hub selenium/hub:4.15.0-20231108 ``` #### Node Chrome - Machine/VM 2 @@ -641,7 +641,7 @@ $ docker run -d -p 5555:5555 \ -v ${PWD}/config.toml:/opt/bin/config.toml \ -v ${PWD}/assets:/opt/selenium/assets \ -v /var/run/docker.sock:/var/run/docker.sock \ - selenium/node-docker:4.15.0-20231102 + selenium/node-docker:4.15.0-20231108 ``` #### Windows PowerShell @@ -654,7 +654,7 @@ $ docker run -d -p 5555:5555 ` -v ${PWD}/config.toml:/opt/bin/config.toml ` -v ${PWD}/assets:/opt/selenium/assets ` -v /var/run/docker.sock:/var/run/docker.sock ` - selenium/node-docker:4.15.0-20231102 + selenium/node-docker:4.15.0-20231108 ``` Complete the `[server]` section in the `config.toml` file. @@ -663,9 +663,9 @@ Complete the `[server]` section in the `config.toml` file. # 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.15.0-20231102", "{\"browserName\": \"firefox\"}", - "selenium/standalone-chrome:4.15.0-20231102", "{\"browserName\": \"chrome\"}", - "selenium/standalone-edge:4.15.0-20231102", "{\"browserName\": \"MicrosoftEdge\"}" + "selenium/standalone-firefox:4.15.0-20231108", "{\"browserName\": \"firefox\"}", + "selenium/standalone-chrome:4.15.0-20231108", "{\"browserName\": \"chrome\"}", + "selenium/standalone-edge:4.15.0-20231108", "{\"browserName\": \"MicrosoftEdge\"}" ] # URL for connecting to the docker daemon @@ -678,7 +678,7 @@ configs = [ # Linux: varies from machine to machine, please mount /var/run/docker.sock. If this does not work, please create an issue. url = "http://127.0.0.1:2375" # Docker image used for video recording -video-image = "selenium/video:ffmpeg-6.0-20231102" +video-image = "selenium/video:ffmpeg-6.0-20231108" # Uncomment the following section if you are running the node on a separate VM # Fill out the placeholders with appropriate values @@ -712,7 +712,7 @@ docker run --rm --name selenium-docker -p 4444:4444 \ -v ${PWD}/config.toml:/opt/bin/config.toml \ -v ${PWD}/assets:/opt/selenium/assets \ -v /var/run/docker.sock:/var/run/docker.sock \ - selenium/standalone-docker:4.15.0-20231102 + selenium/standalone-docker:4.15.0-20231108 ``` #### Windows PowerShell @@ -723,7 +723,7 @@ docker run --rm --name selenium-docker -p 4444:4444 ` -v ${PWD}/config.toml:/opt/bin/config.toml ` -v ${PWD}/assets:/opt/selenium/assets ` -v /var/run/docker.sock:/var/run/docker.sock ` - selenium/standalone-docker:4.15.0-20231102 + selenium/standalone-docker:4.15.0-20231108 ``` @@ -761,7 +761,7 @@ ___ You can pass `SE_OPTS` variable with additional command line parameters for starting a hub or a node. ``` bash -$ docker run -d -p 4444:4444 -e SE_OPTS="--log-level FINE" --name selenium-hub selenium/hub:4.15.0-20231102 +$ docker run -d -p 4444:4444 -e SE_OPTS="--log-level FINE" --name selenium-hub selenium/hub:4.15.0-20231108 ``` ### SE_JAVA_OPTS Java Environment Options @@ -769,7 +769,7 @@ $ docker run -d -p 4444:4444 -e SE_OPTS="--log-level FINE" --name selenium-hub s You can pass `SE_JAVA_OPTS` environment variable to the Java process. ``` bash -$ docker run -d -p 4444:4444 -e SE_JAVA_OPTS=-Xmx512m --name selenium-hub selenium/hub:4.15.0-20231102 +$ docker run -d -p 4444:4444 -e SE_JAVA_OPTS=-Xmx512m --name selenium-hub selenium/hub:4.15.0-20231108 ``` ### Node configuration options @@ -791,7 +791,7 @@ $ docker run -d \ -e SE_EVENT_BUS_HOST= \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 -e SE_NODE_STEREOTYPE="{\"browserName\":\"${SE_NODE_BROWSER_NAME}\",\"browserVersion\":\"${SE_NODE_BROWSER_VERSION}\",\"platformName\": \"Linux\"}" \ - --shm-size="2g" selenium/node-chrome:4.15.0-20231102 + --shm-size="2g" selenium/node-chrome:4.15.0-20231108 ``` ### Setting Sub Path @@ -810,7 +810,7 @@ These settings can be adjusted by specifying `SE_SCREEN_WIDTH`, `SE_SCREEN_HEIGH environmental variables when starting the container. ``` bash -docker run -d -e SE_SCREEN_WIDTH=1366 -e SE_SCREEN_HEIGHT=768 -e SE_SCREEN_DEPTH=24 -e SE_SCREEN_DPI=74 selenium/standalone-firefox:4.15.0-20231102 +docker run -d -e SE_SCREEN_WIDTH=1366 -e SE_SCREEN_HEIGHT=768 -e SE_SCREEN_DEPTH=24 -e SE_SCREEN_DPI=74 selenium/standalone-firefox:4.15.0-20231108 ``` ### Grid Url and Session Timeout @@ -860,7 +860,7 @@ To avoid starting the server you can set the `START_XVFB` environment variable t ``` bash $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ - -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 -e START_XVFB=false --shm-size="2g" selenium/node-chrome:4.15.0-20231102 + -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 -e START_XVFB=false --shm-size="2g" selenium/node-chrome:4.15.0-20231108 ``` For more information, see this GitHub [issue](https://github.com/SeleniumHQ/docker-selenium/issues/567). @@ -873,7 +873,7 @@ pod and then scale a new one after N sessions. Set the environment variable `SE_ a value higher than zero to enable this behaviour. ``` bash -$ docker run -e SE_DRAIN_AFTER_SESSION_COUNT=5 --shm-size="2g" selenium/standalone-firefox:4.15.0-20231102 +$ docker run -e SE_DRAIN_AFTER_SESSION_COUNT=5 --shm-size="2g" selenium/standalone-firefox:4.15.0-20231108 ``` With the previous command, the Standalone container will shut down after 5 sessions have been executed. @@ -965,22 +965,22 @@ $ docker network create grid $ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub \ --health-cmd='/opt/bin/check-grid.sh --host 0.0.0.0 --port 4444' \ --health-interval=15s --health-timeout=30s --health-retries=5 \ - selenium/hub:4.15.0-20231102 + selenium/hub:4.15.0-20231108 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-chrome:4.15.0-20231102 + selenium/node-chrome:4.15.0-20231108 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-edge:4.15.0-20231102 + selenium/node-edge:4.15.0-20231108 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-firefox:4.15.0-20231102 + selenium/node-firefox:4.15.0-20231108 ``` **Note:** The `\` line delimiter won't work on Windows-based terminals, try either `^` or a backtick. @@ -1113,7 +1113,7 @@ RUN mkdir -p -m755 /seluser/.pki/nssdb \ && chown -R 1200:1201 /seluser # Start from Selenium image and add relevant files from build image -FROM selenium/node-chrome:4.15.0-20231102 +FROM selenium/node-chrome:4.15.0-20231108 USER root COPY --from=build /seluser/ /home/seluser/ USER seluser @@ -1128,7 +1128,7 @@ RUN mkdir -p "/distribution" "/certs" && \ echo '{ "policies": { "Certificates": { "Install": ["/opt/firefox-latest/YOUR_CA.pem"] }} }' >"/distribution/policies.json" # Start from Selenium image and add relevant files from build image -FROM selenium/node-firefox:4.15.0-20231102 +FROM selenium/node-firefox:4.15.0-20231108 USER root COPY --from=build /certs /opt/firefox-latest COPY --from=build /distribution /opt/firefox-latest/distribution @@ -1151,9 +1151,9 @@ You can override it with the `SE_VNC_PORT` environment variable in case you want Here is an example with the standalone images, the same concept applies to the node images. ``` bash -$ docker run -d -p 4444:4444 -p 5900:5900 --shm-size="2g" selenium/standalone-chrome:4.15.0-20231102 -$ docker run -d -p 4445:4444 -p 5901:5900 --shm-size="2g" selenium/standalone-edge:4.15.0-20231102 -$ docker run -d -p 4446:4444 -p 5902:5900 --shm-size="2g" selenium/standalone-firefox:4.15.0-20231102 +$ docker run -d -p 4444:4444 -p 5900:5900 --shm-size="2g" selenium/standalone-chrome:4.15.0-20231108 +$ docker run -d -p 4445:4444 -p 5901:5900 --shm-size="2g" selenium/standalone-edge:4.15.0-20231108 +$ docker run -d -p 4446:4444 -p 5902:5900 --shm-size="2g" selenium/standalone-firefox:4.15.0-20231108 ``` Then, you would use in your VNC client: @@ -1179,9 +1179,9 @@ You can also override it with the `SE_NO_VNC_PORT` environment variable in case Here is an example with the standalone images, the same concept applies to the node images. ``` bash -$ docker run -d -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-chrome:4.15.0-20231102 -$ docker run -d -p 4445:4444 -p 7901:7900 --shm-size="2g" selenium/standalone-edge:4.15.0-20231102 -$ docker run -d -p 4446:4444 -p 7902:7900 --shm-size="2g" selenium/standalone-firefox:4.15.0-20231102 +$ docker run -d -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-chrome:4.15.0-20231108 +$ docker run -d -p 4445:4444 -p 7901:7900 --shm-size="2g" selenium/standalone-edge:4.15.0-20231108 +$ docker run -d -p 4446:4444 -p 7902:7900 --shm-size="2g" selenium/standalone-firefox:4.15.0-20231108 ``` Then, you would use in your browser: @@ -1206,28 +1206,28 @@ In order to enable tracing in the Selenium Grid container, the following command ```bash docker network create grid docker run -d -p 16686:16686 -p 14250:14250 --net grid --name jaeger jaegertracing/all-in-one:1.17 -docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.15.0-20231102 +docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.15.0-20231108 docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_ENABLE_TRACING=true \ -e JAVA_OPTS="-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-hub" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-chrome:4.15.0-20231102 + selenium/node-chrome:4.15.0-20231108 docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_ENABLE_TRACING=true \ -e JAVA_OPTS="-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-edge" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-edge:4.15.0-20231102 + selenium/node-edge:4.15.0-20231108 docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_ENABLE_TRACING=true \ -e JAVA_OPTS="-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-firefox" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-firefox:4.15.0-20231102 + selenium/node-firefox:4.15.0-20231108 ``` You can also refer to the below docker-compose yaml files to be able to start a simple grid (or) a dynamic grid. @@ -1287,7 +1287,7 @@ container in the following way: ```bash docker run -d -p 4444:4444 --shm-size="2g" \ -v /home/ubuntu/files:/home/seluser/files \ - selenium/standalone-chrome:4.15.0-20231102 + selenium/standalone-chrome:4.15.0-20231108 ``` That will mount the host `/home/ubuntu/files` directory diff --git a/charts/selenium-grid/CHANGELOG.md b/charts/selenium-grid/CHANGELOG.md index 2515b9207..8db79e982 100644 --- a/charts/selenium-grid/CHANGELOG.md +++ b/charts/selenium-grid/CHANGELOG.md @@ -17,7 +17,7 @@ All notable changes to this helm chart will be documented in this file. - feat: Adding port to nodes service (#1196) :: Viet Nguyen Duc ### Changed -- Update image tag to 4.15.0-20231102 +- Update image tag to 4.15.0-20231108 ## :heavy_check_mark: 0.23.0 diff --git a/charts/selenium-grid/README.md b/charts/selenium-grid/README.md index 55c03b22e..805214018 100644 --- a/charts/selenium-grid/README.md +++ b/charts/selenium-grid/README.md @@ -85,8 +85,8 @@ For now, global configuration supported is: | Parameter | Default | Description | |---------------------------------------|-------------------|---------------------------------------| -| `global.seleniumGrid.imageTag` | `4.15.0-20231102` | Image tag for all selenium components | -| `global.seleniumGrid.nodesImageTag` | `4.15.0-20231102` | Image tag for browser's nodes | +| `global.seleniumGrid.imageTag` | `4.15.0-20231108` | Image tag for all selenium components | +| `global.seleniumGrid.nodesImageTag` | `4.15.0-20231108` | Image tag for browser's nodes | | `global.seleniumGrid.imagePullSecret` | `""` | Pull secret to be used for all images | | `global.seleniumGrid.imagePullSecret` | `""` | Pull secret to be used for all images | | `global.seleniumGrid.affinity` | `{}` | Affinity assigned globally | @@ -128,7 +128,7 @@ This table contains the configuration parameters of the chart and their default | `chromeNode.deploymentEnabled` | `true` | Enable creation of Deployment for chrome nodes | | `chromeNode.replicas` | `1` | Number of chrome nodes. Disabled if autoscaling is enabled. | | `chromeNode.imageName` | `selenium/node-chrome` | Image of chrome nodes | -| `chromeNode.imageTag` | `4.15.0-20231102` | Image of chrome nodes | +| `chromeNode.imageTag` | `4.15.0-20231108` | Image of chrome nodes | | `chromeNode.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | | `chromeNode.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | | `chromeNode.ports` | `[5555]` | Port list to enable on container | @@ -167,7 +167,7 @@ This table contains the configuration parameters of the chart and their default | `firefoxNode.deploymentEnabled` | `true` | Enable creation of Deployment for firefox nodes | | `firefoxNode.replicas` | `1` | Number of firefox nodes. Disabled if autoscaling is enabled. | | `firefoxNode.imageName` | `selenium/node-firefox` | Image of firefox nodes | -| `firefoxNode.imageTag` | `4.15.0-20231102` | Image of firefox nodes | +| `firefoxNode.imageTag` | `4.15.0-20231108` | Image of firefox nodes | | `firefoxNode.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | | `firefoxNode.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | | `firefoxNode.ports` | `[5555]` | Port list to enable on container | @@ -206,7 +206,7 @@ This table contains the configuration parameters of the chart and their default | `edgeNode.deploymentEnabled` | `true` | Enable creation of Deployment for edge nodes | | `edgeNode.replicas` | `1` | Number of edge nodes. Disabled if autoscaling is enabled. | | `edgeNode.imageName` | `selenium/node-edge` | Image of edge nodes | -| `edgeNode.imageTag` | `4.15.0-20231102` | Image of edge nodes | +| `edgeNode.imageTag` | `4.15.0-20231108` | Image of edge nodes | | `edgeNode.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | | `edgeNode.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | | `edgeNode.ports` | `[5555]` | Port list to enable on container | @@ -243,7 +243,7 @@ This table contains the configuration parameters of the chart and their default | `edgeNode.scaledObjectOptions` | See `values.yaml` | Override the global `autoscaling.scaledObjectOptions` with specific scaled options for edge nodes | | `videoRecorder.enabled` | `false` | Enable video recorder for node | | `videoRecorder.imageName` | `selenium/video` | Selenium video recoder image name | -| `videoRecorder.imageTag` | `ffmpeg-6.0-20231102` | Image tag of video recorder | +| `videoRecorder.imageTag` | `ffmpeg-6.0-20231108` | Image tag of video recorder | | `videoRecorder.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | | `videoRecorder.uploader` | `false` | Name of the uploader to use. The value `false` is used to disable uploader. Supported default `s3` | | `videoRecorder.uploadDestinationPrefix` | `false` | Destination URL for uploading video file. The value `false` is used to disable the uploading | diff --git a/charts/selenium-grid/values.yaml b/charts/selenium-grid/values.yaml index 66841ffc9..9f8cc1926 100644 --- a/charts/selenium-grid/values.yaml +++ b/charts/selenium-grid/values.yaml @@ -1,9 +1,9 @@ global: seleniumGrid: # Image tag for all selenium components - imageTag: 4.15.0-20231102 + imageTag: 4.15.0-20231108 # Image tag for browser's nodes - nodesImageTag: 4.15.0-20231102 + nodesImageTag: 4.15.0-20231108 # Pull secret for all components, can be overridden individually imagePullSecret: "" @@ -66,7 +66,7 @@ components: # Router image name imageName: selenium/router # Router image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.15.0-20231102 + # imageTag: 4.15.0-20231108 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent @@ -117,7 +117,7 @@ components: # Distributor image name imageName: selenium/distributor # Distributor image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.15.0-20231102 + # imageTag: 4.15.0-20231108 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent @@ -148,7 +148,7 @@ components: # Event Bus image name imageName: selenium/event-bus # Event Bus image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.15.0-20231102 + # imageTag: 4.15.0-20231108 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent @@ -183,7 +183,7 @@ components: # Session Map image name imageName: selenium/sessions # Session Map image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.15.0-20231102 + # imageTag: 4.15.0-20231108 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent @@ -213,7 +213,7 @@ components: # Session Queue image name imageName: selenium/session-queue # Session Queue image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.15.0-20231102 + # imageTag: 4.15.0-20231108 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent @@ -263,7 +263,7 @@ hub: # Selenium Hub image name imageName: selenium/hub # Selenium Hub image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.15.0-20231102 + # imageTag: 4.15.0-20231108 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent # Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) @@ -403,7 +403,7 @@ chromeNode: # Image of chrome nodes imageName: selenium/node-chrome # Image of chrome nodes (this overwrites global.seleniumGrid.nodesImageTag) - # imageTag: 4.15.0-20231102 + # imageTag: 4.15.0-20231108 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent # Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) @@ -535,7 +535,7 @@ firefoxNode: # Image of firefox nodes imageName: selenium/node-firefox # Image of firefox nodes (this overwrites global.seleniumGrid.nodesImageTag) - # imageTag: 4.15.0-20231102 + # imageTag: 4.15.0-20231108 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent # Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) @@ -664,7 +664,7 @@ edgeNode: # Image of edge nodes imageName: selenium/node-edge # Image of edge nodes (this overwrites global.seleniumGrid.nodesImageTag) - # imageTag: 4.15.0-20231102 + # imageTag: 4.15.0-20231108 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent # Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) @@ -782,7 +782,7 @@ videoRecorder: # Image of video recorder imageName: selenium/video # Image of video recorder - imageTag: ffmpeg-6.0-20231102 + imageTag: ffmpeg-6.0-20231108 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent # Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) diff --git a/docker-compose-v2-tracing.yml b/docker-compose-v2-tracing.yml index 10bd70ba1..e72c2c62f 100644 --- a/docker-compose-v2-tracing.yml +++ b/docker-compose-v2-tracing.yml @@ -9,7 +9,7 @@ services: - "16686:16686" - "14250:14250" chrome: - image: selenium/node-chrome:4.15.0-20231102 + image: selenium/node-chrome:4.15.0-20231108 shm_size: 2gb depends_on: - selenium-hub @@ -23,7 +23,7 @@ services: - "6900:5900" edge: - image: selenium/node-edge:4.15.0-20231102 + image: selenium/node-edge:4.15.0-20231108 shm_size: 2gb depends_on: - selenium-hub @@ -37,7 +37,7 @@ services: - "6901:5900" firefox: - image: selenium/node-firefox:4.15.0-20231102 + image: selenium/node-firefox:4.15.0-20231108 shm_size: 2gb depends_on: - selenium-hub @@ -51,7 +51,7 @@ services: - "6902:5900" selenium-hub: - image: selenium/hub:4.15.0-20231102 + image: selenium/hub:4.15.0-20231108 ports: - "4442:4442" - "4443:4443" diff --git a/docker-compose-v2.yml b/docker-compose-v2.yml index 5a33f39fb..47507b6e6 100644 --- a/docker-compose-v2.yml +++ b/docker-compose-v2.yml @@ -4,7 +4,7 @@ version: '2' services: chrome: - image: selenium/node-chrome:4.15.0-20231102 + image: selenium/node-chrome:4.15.0-20231108 shm_size: 2gb depends_on: - selenium-hub @@ -16,7 +16,7 @@ services: - "6900:5900" edge: - image: selenium/node-edge:4.15.0-20231102 + image: selenium/node-edge:4.15.0-20231108 shm_size: 2gb depends_on: - selenium-hub @@ -28,7 +28,7 @@ services: - "6901:5900" firefox: - image: selenium/node-firefox:4.15.0-20231102 + image: selenium/node-firefox:4.15.0-20231108 shm_size: 2gb depends_on: - selenium-hub @@ -40,7 +40,7 @@ services: - "6902:5900" selenium-hub: - image: selenium/hub:4.15.0-20231102 + image: selenium/hub:4.15.0-20231108 ports: - "4442:4442" - "4443:4443" diff --git a/docker-compose-v3-basicauth.yml b/docker-compose-v3-basicauth.yml index 7a738a9df..8fea17789 100644 --- a/docker-compose-v3-basicauth.yml +++ b/docker-compose-v3-basicauth.yml @@ -4,7 +4,7 @@ version: "3" services: chrome: - image: selenium/node-chrome:4.15.0-20231102 + image: selenium/node-chrome:4.15.0-20231108 shm_size: 2gb depends_on: - selenium-hub @@ -14,7 +14,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.15.0-20231102 + image: selenium/node-edge:4.15.0-20231108 shm_size: 2gb depends_on: - selenium-hub @@ -24,7 +24,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.15.0-20231102 + image: selenium/node-firefox:4.15.0-20231108 shm_size: 2gb depends_on: - selenium-hub @@ -34,7 +34,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-hub: - image: selenium/hub:4.15.0-20231102 + image: selenium/hub:4.15.0-20231108 container_name: selenium-hub ports: - "4442:4442" diff --git a/docker-compose-v3-dev.yml b/docker-compose-v3-dev.yml index cd52da6f0..049c93026 100644 --- a/docker-compose-v3-dev.yml +++ b/docker-compose-v3-dev.yml @@ -4,7 +4,7 @@ version: "3" services: chrome: - image: selenium/node-chrome:4.15.0-20231102 + image: selenium/node-chrome:4.15.0-20231108 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar @@ -16,7 +16,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.15.0-20231102 + image: selenium/node-edge:4.15.0-20231108 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar @@ -28,7 +28,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.15.0-20231102 + image: selenium/node-firefox:4.15.0-20231108 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar @@ -40,7 +40,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-hub: - image: selenium/hub:4.15.0-20231102 + image: selenium/hub:4.15.0-20231108 container_name: selenium-hub volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar diff --git a/docker-compose-v3-dynamic-grid.yml b/docker-compose-v3-dynamic-grid.yml index 86b92f1ac..d9462fafb 100644 --- a/docker-compose-v3-dynamic-grid.yml +++ b/docker-compose-v3-dynamic-grid.yml @@ -4,7 +4,7 @@ version: "3" services: node-docker: - image: selenium/node-docker:4.15.0-20231102 + image: selenium/node-docker:4.15.0-20231108 volumes: - ./assets:/opt/selenium/assets - ./NodeDocker/config.toml:/opt/bin/config.toml @@ -17,7 +17,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-hub: - image: selenium/hub:4.15.0-20231102 + image: selenium/hub:4.15.0-20231108 container_name: selenium-hub ports: - "4442:4442" diff --git a/docker-compose-v3-full-grid-dev.yml b/docker-compose-v3-full-grid-dev.yml index 670e6be82..b55ecb69b 100644 --- a/docker-compose-v3-full-grid-dev.yml +++ b/docker-compose-v3-full-grid-dev.yml @@ -4,7 +4,7 @@ version: "3" services: selenium-event-bus: - image: selenium/event-bus:4.15.0-20231102 + image: selenium/event-bus:4.15.0-20231108 volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar container_name: selenium-event-bus @@ -14,7 +14,7 @@ services: - "5557:5557" selenium-sessions: - image: selenium/sessions:4.15.0-20231102 + image: selenium/sessions:4.15.0-20231108 volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar container_name: selenium-sessions @@ -28,7 +28,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-session-queue: - image: selenium/session-queue:4.15.0-20231102 + image: selenium/session-queue:4.15.0-20231108 volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar container_name: selenium-session-queue @@ -36,7 +36,7 @@ services: - "5559:5559" selenium-distributor: - image: selenium/distributor:4.15.0-20231102 + image: selenium/distributor:4.15.0-20231108 volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar container_name: selenium-distributor @@ -56,7 +56,7 @@ services: - SE_SESSION_QUEUE_PORT=5559 selenium-router: - image: selenium/router:4.15.0-20231102 + image: selenium/router:4.15.0-20231108 volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar container_name: selenium-router @@ -75,7 +75,7 @@ services: - SE_SESSION_QUEUE_PORT=5559 chrome: - image: selenium/node-chrome:4.15.0-20231102 + image: selenium/node-chrome:4.15.0-20231108 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar @@ -87,7 +87,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.15.0-20231102 + image: selenium/node-edge:4.15.0-20231108 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar @@ -99,7 +99,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.15.0-20231102 + image: selenium/node-firefox:4.15.0-20231108 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar diff --git a/docker-compose-v3-full-grid-swarm.yml b/docker-compose-v3-full-grid-swarm.yml index cce8bacfa..50b53cc36 100644 --- a/docker-compose-v3-full-grid-swarm.yml +++ b/docker-compose-v3-full-grid-swarm.yml @@ -7,7 +7,7 @@ version: '3.7' services: chrome: - image: selenium/node-chrome:4.15.0-20231102 + image: selenium/node-chrome:4.15.0-20231108 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -18,7 +18,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' edge: - image: selenium/node-edge:4.15.0-20231102 + image: selenium/node-edge:4.15.0-20231108 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -29,7 +29,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' firefox: - image: selenium/node-firefox:4.15.0-20231102 + image: selenium/node-firefox:4.15.0-20231108 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -40,7 +40,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' selenium-hub: - image: selenium/hub:4.15.0-20231102 + image: selenium/hub:4.15.0-20231108 ports: - "4442:4442" - "4443:4443" diff --git a/docker-compose-v3-full-grid-tracing.yml b/docker-compose-v3-full-grid-tracing.yml index dfaea31cc..c16aec4d9 100644 --- a/docker-compose-v3-full-grid-tracing.yml +++ b/docker-compose-v3-full-grid-tracing.yml @@ -9,7 +9,7 @@ services: - "16686:16686" - "14250:14250" selenium-event-bus: - image: selenium/event-bus:4.15.0-20231102 + image: selenium/event-bus:4.15.0-20231108 container_name: selenium-event-bus ports: - "4442:4442" @@ -21,7 +21,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-event-bus selenium-sessions: - image: selenium/sessions:4.15.0-20231102 + image: selenium/sessions:4.15.0-20231108 container_name: selenium-sessions ports: - "5556:5556" @@ -34,7 +34,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-sessions selenium-session-queue: - image: selenium/session-queue:4.15.0-20231102 + image: selenium/session-queue:4.15.0-20231108 container_name: selenium-session-queue ports: - "5559:5559" @@ -42,7 +42,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-session-queue selenium-distributor: - image: selenium/distributor:4.15.0-20231102 + image: selenium/distributor:4.15.0-20231108 container_name: selenium-distributor ports: - "5553:5553" @@ -61,7 +61,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-distributor selenium-router: - image: selenium/router:4.15.0-20231102 + image: selenium/router:4.15.0-20231108 container_name: selenium-router ports: - "4444:4444" @@ -79,7 +79,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-router chrome: - image: selenium/node-chrome:4.15.0-20231102 + image: selenium/node-chrome:4.15.0-20231108 shm_size: 2gb depends_on: - selenium-event-bus @@ -90,7 +90,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-chrome edge: - image: selenium/node-edge:4.15.0-20231102 + image: selenium/node-edge:4.15.0-20231108 shm_size: 2gb depends_on: - selenium-event-bus @@ -101,7 +101,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-edge firefox: - image: selenium/node-firefox:4.15.0-20231102 + image: selenium/node-firefox:4.15.0-20231108 shm_size: 2gb depends_on: - selenium-event-bus diff --git a/docker-compose-v3-full-grid.yml b/docker-compose-v3-full-grid.yml index 896c863aa..d3d7363b7 100644 --- a/docker-compose-v3-full-grid.yml +++ b/docker-compose-v3-full-grid.yml @@ -4,7 +4,7 @@ version: "3" services: selenium-event-bus: - image: selenium/event-bus:4.15.0-20231102 + image: selenium/event-bus:4.15.0-20231108 container_name: selenium-event-bus ports: - "4442:4442" @@ -12,7 +12,7 @@ services: - "5557:5557" selenium-sessions: - image: selenium/sessions:4.15.0-20231102 + image: selenium/sessions:4.15.0-20231108 container_name: selenium-sessions ports: - "5556:5556" @@ -24,13 +24,13 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-session-queue: - image: selenium/session-queue:4.15.0-20231102 + image: selenium/session-queue:4.15.0-20231108 container_name: selenium-session-queue ports: - "5559:5559" selenium-distributor: - image: selenium/distributor:4.15.0-20231102 + image: selenium/distributor:4.15.0-20231108 container_name: selenium-distributor ports: - "5553:5553" @@ -48,7 +48,7 @@ services: - SE_SESSION_QUEUE_PORT=5559 selenium-router: - image: selenium/router:4.15.0-20231102 + image: selenium/router:4.15.0-20231108 container_name: selenium-router ports: - "4444:4444" @@ -65,7 +65,7 @@ services: - SE_SESSION_QUEUE_PORT=5559 chrome: - image: selenium/node-chrome:4.15.0-20231102 + image: selenium/node-chrome:4.15.0-20231108 shm_size: 2gb depends_on: - selenium-event-bus @@ -75,7 +75,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.15.0-20231102 + image: selenium/node-edge:4.15.0-20231108 shm_size: 2gb depends_on: - selenium-event-bus @@ -85,7 +85,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.15.0-20231102 + image: selenium/node-firefox:4.15.0-20231108 shm_size: 2gb depends_on: - selenium-event-bus diff --git a/docker-compose-v3-swarm.yml b/docker-compose-v3-swarm.yml index cce8bacfa..50b53cc36 100644 --- a/docker-compose-v3-swarm.yml +++ b/docker-compose-v3-swarm.yml @@ -7,7 +7,7 @@ version: '3.7' services: chrome: - image: selenium/node-chrome:4.15.0-20231102 + image: selenium/node-chrome:4.15.0-20231108 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -18,7 +18,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' edge: - image: selenium/node-edge:4.15.0-20231102 + image: selenium/node-edge:4.15.0-20231108 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -29,7 +29,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' firefox: - image: selenium/node-firefox:4.15.0-20231102 + image: selenium/node-firefox:4.15.0-20231108 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -40,7 +40,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' selenium-hub: - image: selenium/hub:4.15.0-20231102 + image: selenium/hub:4.15.0-20231108 ports: - "4442:4442" - "4443:4443" diff --git a/docker-compose-v3-tracing.yml b/docker-compose-v3-tracing.yml index ae0d4328c..a27a5e76e 100644 --- a/docker-compose-v3-tracing.yml +++ b/docker-compose-v3-tracing.yml @@ -9,7 +9,7 @@ services: - "16686:16686" - "14250:14250" chrome: - image: selenium/node-chrome:4.15.0-20231102 + image: selenium/node-chrome:4.15.0-20231108 shm_size: 2gb depends_on: - selenium-hub @@ -21,7 +21,7 @@ services: - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-chrome edge: - image: selenium/node-edge:4.15.0-20231102 + image: selenium/node-edge:4.15.0-20231108 shm_size: 2gb depends_on: - selenium-hub @@ -33,7 +33,7 @@ services: - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-edge firefox: - image: selenium/node-firefox:4.15.0-20231102 + image: selenium/node-firefox:4.15.0-20231108 shm_size: 2gb depends_on: - selenium-hub @@ -45,7 +45,7 @@ services: - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-firefox selenium-hub: - image: selenium/hub:4.15.0-20231102 + image: selenium/hub:4.15.0-20231108 container_name: selenium-hub ports: - "4442:4442" diff --git a/docker-compose-v3-video.yml b/docker-compose-v3-video.yml index c37b57453..1431c8bfd 100644 --- a/docker-compose-v3-video.yml +++ b/docker-compose-v3-video.yml @@ -4,7 +4,7 @@ version: "3" services: chrome: - image: selenium/node-chrome:4.15.0-20231102 + image: selenium/node-chrome:4.15.0-20231108 shm_size: 2gb depends_on: - selenium-hub @@ -14,7 +14,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.15.0-20231102 + image: selenium/node-edge:4.15.0-20231108 shm_size: 2gb depends_on: - selenium-hub @@ -24,7 +24,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.15.0-20231102 + image: selenium/node-firefox:4.15.0-20231108 shm_size: 2gb depends_on: - selenium-hub @@ -34,7 +34,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 chrome_video: - image: selenium/video:ffmpeg-6.0-20231102 + image: selenium/video:ffmpeg-6.0-20231108 volumes: - /tmp/videos:/videos depends_on: @@ -44,7 +44,7 @@ services: - FILE_NAME=chrome_video.mp4 edge_video: - image: selenium/video:ffmpeg-6.0-20231102 + image: selenium/video:ffmpeg-6.0-20231108 volumes: - /tmp/videos:/videos depends_on: @@ -54,7 +54,7 @@ services: - FILE_NAME=edge_video.mp4 firefox_video: - image: selenium/video:ffmpeg-6.0-20231102 + image: selenium/video:ffmpeg-6.0-20231108 volumes: - /tmp/videos:/videos depends_on: @@ -64,7 +64,7 @@ services: - FILE_NAME=firefox_video.mp4 selenium-hub: - image: selenium/hub:4.15.0-20231102 + image: selenium/hub:4.15.0-20231108 container_name: selenium-hub ports: - "4442:4442" diff --git a/docker-compose-v3.yml b/docker-compose-v3.yml index 29054d43b..3f5b16825 100644 --- a/docker-compose-v3.yml +++ b/docker-compose-v3.yml @@ -4,7 +4,7 @@ version: "3" services: chrome: - image: selenium/node-chrome:4.15.0-20231102 + image: selenium/node-chrome:4.15.0-20231108 shm_size: 2gb depends_on: - selenium-hub @@ -14,7 +14,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.15.0-20231102 + image: selenium/node-edge:4.15.0-20231108 shm_size: 2gb depends_on: - selenium-hub @@ -24,7 +24,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.15.0-20231102 + image: selenium/node-firefox:4.15.0-20231108 shm_size: 2gb depends_on: - selenium-hub @@ -34,7 +34,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-hub: - image: selenium/hub:4.15.0-20231102 + image: selenium/hub:4.15.0-20231108 container_name: selenium-hub ports: - "4442:4442" From f5f90dd765707058ede98782fcf8021404ceb406 Mon Sep 17 00:00:00 2001 From: Diego Molina Date: Fri, 10 Nov 2023 11:06:09 +0100 Subject: [PATCH 34/84] Switching to Jammy (#1923) * Switching to Jammy * Update for Firefox node on ubuntu jammy (#2001) Signed-off-by: Viet Nguyen Duc --------- Signed-off-by: Viet Nguyen Duc Co-authored-by: Viet Nguyen Duc [deploy] --- Base/Dockerfile | 8 ++++---- NodeBase/Dockerfile | 4 ++-- NodeFirefox/Dockerfile | 1 + 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/Base/Dockerfile b/Base/Dockerfile index a0d034594..14e0feb8a 100644 --- a/Base/Dockerfile +++ b/Base/Dockerfile @@ -1,12 +1,12 @@ -FROM ubuntu:focal-20231003 +FROM ubuntu:jammy-20231004 LABEL authors="Selenium " #================================================ # Customize sources for apt-get #================================================ -RUN echo "deb http://archive.ubuntu.com/ubuntu focal main universe\n" > /etc/apt/sources.list \ - && echo "deb http://archive.ubuntu.com/ubuntu focal-updates main universe\n" >> /etc/apt/sources.list \ - && echo "deb http://security.ubuntu.com/ubuntu focal-security main universe\n" >> /etc/apt/sources.list +RUN echo "deb http://archive.ubuntu.com/ubuntu jammy main universe\n" > /etc/apt/sources.list \ + && echo "deb http://archive.ubuntu.com/ubuntu jammy-updates main universe\n" >> /etc/apt/sources.list \ + && echo "deb http://security.ubuntu.com/ubuntu jammy-security main universe\n" >> /etc/apt/sources.list # No interactive frontend during docker build ENV DEBIAN_FRONTEND=noninteractive \ diff --git a/NodeBase/Dockerfile b/NodeBase/Dockerfile index 1d241d3b4..2e9f519d4 100644 --- a/NodeBase/Dockerfile +++ b/NodeBase/Dockerfile @@ -64,7 +64,7 @@ RUN apt-get update -qqy \ # fonts-ipafont-gothic ~13 MB # fonts-wqy-zenhei ~17 MB # fonts-tlwg-loma-otf ~300 KB -# ttf-ubuntu-font-family ~5 MB +# fonts-ubuntu ~5 MB # Ubuntu Font Family, sans-serif typeface hinted for clarity # Removed packages: # xfonts-100dpi ~6 MB @@ -84,7 +84,7 @@ RUN apt-get -qqy update \ fonts-ipafont-gothic \ fonts-wqy-zenhei \ fonts-tlwg-loma-otf \ - ttf-ubuntu-font-family \ + fonts-ubuntu \ fonts-noto-color-emoji \ && rm -rf /var/lib/apt/lists/* \ && apt-get -qyy clean diff --git a/NodeFirefox/Dockerfile b/NodeFirefox/Dockerfile index 0590f1678..698fe6338 100644 --- a/NodeFirefox/Dockerfile +++ b/NodeFirefox/Dockerfile @@ -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 \ From f291b8e4ef746514e03c05c81ab18d3412facef0 Mon Sep 17 00:00:00 2001 From: Selenium CI Bot Date: Fri, 10 Nov 2023 10:14:19 +0000 Subject: [PATCH 35/84] Update tag in docs and files [skip ci] --- .github/ISSUE_TEMPLATE/bug_report.yml | 2 +- NodeDocker/config.toml | 8 +- README.md | 134 ++++++++++++------------ charts/selenium-grid/CHANGELOG.md | 2 +- charts/selenium-grid/README.md | 12 +-- charts/selenium-grid/values.yaml | 24 ++--- docker-compose-v2-tracing.yml | 8 +- docker-compose-v2.yml | 8 +- docker-compose-v3-basicauth.yml | 8 +- docker-compose-v3-dev.yml | 8 +- docker-compose-v3-dynamic-grid.yml | 4 +- docker-compose-v3-full-grid-dev.yml | 16 +-- docker-compose-v3-full-grid-swarm.yml | 8 +- docker-compose-v3-full-grid-tracing.yml | 16 +-- docker-compose-v3-full-grid.yml | 16 +-- docker-compose-v3-swarm.yml | 8 +- docker-compose-v3-tracing.yml | 8 +- docker-compose-v3-video.yml | 14 +-- docker-compose-v3.yml | 8 +- 19 files changed, 156 insertions(+), 156 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index fdf692cea..3018d5991 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -55,6 +55,6 @@ body: attributes: label: Docker Selenium version (tag) description: What version of Docker Selenium are you using? - placeholder: 4.15.0-20231108? Please use the full tag, avoid "latest" + placeholder: 4.15.0-20231110? Please use the full tag, avoid "latest" validations: required: true \ No newline at end of file diff --git a/NodeDocker/config.toml b/NodeDocker/config.toml index 7474ff465..99a73aa16 100644 --- a/NodeDocker/config.toml +++ b/NodeDocker/config.toml @@ -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.15.0-20231108", '{"browserName": "firefox", "platformName": "linux"}', - "selenium/standalone-chrome:4.15.0-20231108", '{"browserName": "chrome", "platformName": "linux"}', - "selenium/standalone-edge:4.15.0-20231108", '{"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 @@ -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-6.0-20231108" +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 diff --git a/README.md b/README.md index 0cc87f724..c947605f3 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ The project is made possible by volunteer contributors who have put in thousands and made the source code freely available under the [Apache License 2.0](LICENSE.md). These Docker images come with a handful of tags to simplify its usage, have a look at them in one of -our [releases](https://github.com/SeleniumHQ/docker-selenium/releases/tag/4.15.0-20231108). +our [releases](https://github.com/SeleniumHQ/docker-selenium/releases/tag/4.15.0-20231110). To get notifications of new releases, add yourself as a "Releases only" watcher. @@ -64,7 +64,7 @@ Talk to us at https://www.selenium.dev/support/ 1. Start a Docker container with Firefox ```bash -docker run -d -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-firefox:4.15.0-20231108 +docker run -d -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-firefox:4.15.0-20231110 ``` 2. Point your WebDriver tests to http://localhost:4444 @@ -251,17 +251,17 @@ For more information on the Dev and Beta channel container images, see the blog ![Firefox](https://raw.githubusercontent.com/alrra/browser-logos/main/src/firefox/firefox_24x24.png) Firefox ```bash -docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-firefox:4.15.0-20231108 +docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-firefox:4.15.0-20231110 ``` ![Chrome](https://raw.githubusercontent.com/alrra/browser-logos/main/src/chrome/chrome_24x24.png) Chrome ```bash -docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-chrome:4.15.0-20231108 +docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-chrome:4.15.0-20231110 ``` ![Edge](https://raw.githubusercontent.com/alrra/browser-logos/main/src/edge/edge_24x24.png) Edge ```bash -docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-edge:4.15.0-20231108 +docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-edge:4.15.0-20231110 ``` _Note: Only one Standalone container can run on port_ `4444` _at the same time._ @@ -280,44 +280,44 @@ A Docker [network](https://docs.docker.com/engine/reference/commandline/network_ ```bash $ docker network create grid -$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.15.0-20231108 +$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.15.0-20231110 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-chrome:4.15.0-20231108 + selenium/node-chrome:4.15.0-20231110 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-edge:4.15.0-20231108 + selenium/node-edge:4.15.0-20231110 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-firefox:4.15.0-20231108 + selenium/node-firefox:4.15.0-20231110 ``` ##### Windows PowerShell ```powershell $ docker network create grid -$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.15.0-20231108 +$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.15.0-20231110 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub ` --shm-size="2g" ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` - selenium/node-chrome:4.15.0-20231108 + selenium/node-chrome:4.15.0-20231110 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub ` --shm-size="2g" ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` - selenium/node-edge:4.15.0-20231108 + selenium/node-edge:4.15.0-20231110 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub ` --shm-size="2g" ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` - selenium/node-firefox:4.15.0-20231108 + selenium/node-firefox:4.15.0-20231110 ``` When you are done using the Grid, and the containers have exited, the network can be removed with the following command: @@ -334,7 +334,7 @@ configured to expose different ports. ##### Hub - Machine/VM 1 ```bash -$ docker run -d -p 4442-4444:4442-4444 --name selenium-hub selenium/hub:4.15.0-20231108 +$ docker run -d -p 4442-4444:4442-4444 --name selenium-hub selenium/hub:4.15.0-20231110 ``` ##### Node Chrome - Machine/VM 2 @@ -348,7 +348,7 @@ $ docker run -d -p 5555:5555 \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ -e SE_NODE_HOST= \ - selenium/node-chrome:4.15.0-20231108 + selenium/node-chrome:4.15.0-20231110 ``` ###### Windows PowerShell @@ -360,7 +360,7 @@ $ docker run -d -p 5555:5555 ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` -e SE_NODE_HOST= ` - selenium/node-chrome:4.15.0-20231108 + selenium/node-chrome:4.15.0-20231110 ``` @@ -375,7 +375,7 @@ $ docker run -d -p 5555:5555 \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ -e SE_NODE_HOST= \ - selenium/node-edge:4.15.0-20231108 + selenium/node-edge:4.15.0-20231110 ``` ###### Windows PowerShell @@ -387,7 +387,7 @@ $ docker run -d -p 5555:5555 ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` -e SE_NODE_HOST= ` - selenium/node-edge:4.15.0-20231108 + selenium/node-edge:4.15.0-20231110 ``` ##### Node Firefox - Machine/VM 4 @@ -401,7 +401,7 @@ $ docker run -d -p 5555:5555 \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ -e SE_NODE_HOST= \ - selenium/node-firefox:4.15.0-20231108 + selenium/node-firefox:4.15.0-20231110 ``` ###### Windows PowerShell @@ -413,7 +413,7 @@ $ docker run -d -p 5555:5555 ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` -e SE_NODE_HOST= ` - selenium/node-firefox:4.15.0-20231108 + selenium/node-firefox:4.15.0-20231110 ``` ##### Node Chrome - Machine/VM 4 @@ -428,7 +428,7 @@ $ docker run -d -p 5556:5556 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ -e SE_NODE_HOST= \ -e SE_NODE_PORT=5556 \ - selenium/node-chrome:4.15.0-20231108 + selenium/node-chrome:4.15.0-20231110 ``` ###### Windows PowerShell @@ -441,7 +441,7 @@ $ docker run -d -p 5556:5556 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` -e SE_NODE_HOST= ` -e SE_NODE_PORT=5556 ` - selenium/node-chrome:4.15.0-20231108 + selenium/node-chrome:4.15.0-20231110 ``` #### Docker Compose @@ -473,7 +473,7 @@ ___ ## Video recording -Tests execution can be recorded by using the `selenium/video:ffmpeg-6.0-20231108` +Tests execution can be recorded by using the `selenium/video:ffmpeg-6.0-20231110` Docker image. One container is needed per each container where a browser is running. This means if you are running 5 Nodes/Standalone containers, you will need 5 video containers, the mapping is 1-1. @@ -499,8 +499,8 @@ This example shows how to start the containers manually: ``` bash $ docker network create grid -$ docker run -d -p 4444:4444 -p 6900:5900 --net grid --name selenium --shm-size="2g" selenium/standalone-chrome:4.15.0-20231108 -$ docker run -d --net grid --name video -v /tmp/videos:/videos selenium/video:ffmpeg-6.0-20231108 +$ docker run -d -p 4444:4444 -p 6900:5900 --net grid --name selenium --shm-size="2g" selenium/standalone-chrome:4.15.0-20231110 +$ docker run -d --net grid --name video -v /tmp/videos:/videos selenium/video:ffmpeg-6.0-20231110 # Run your tests $ docker stop video && docker rm video $ docker stop selenium && docker rm selenium @@ -532,9 +532,9 @@ You can save this file locally and name it, for example, `config.toml`. # 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.15.0-20231108", '{"browserName": "firefox"}', - "selenium/standalone-chrome:4.15.0-20231108", '{"browserName": "chrome"}', - "selenium/standalone-edge:4.15.0-20231108", '{"browserName": "MicrosoftEdge"}' + "selenium/standalone-firefox:4.15.0-20231110", '{"browserName": "firefox"}', + "selenium/standalone-chrome:4.15.0-20231110", '{"browserName": "chrome"}', + "selenium/standalone-edge:4.15.0-20231110", '{"browserName": "MicrosoftEdge"}' ] # URL for connecting to the docker daemon @@ -547,7 +547,7 @@ configs = [ # Linux: varies from machine to machine, please mount /var/run/docker.sock. If this does not work, please create an issue. url = "http://127.0.0.1:2375" # Docker image used for video recording -video-image = "selenium/video:ffmpeg-6.0-20231108" +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 @@ -566,28 +566,28 @@ virtual machines. ```bash $ docker network create grid -$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.15.0-20231108 +$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.15.0-20231110 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ -v ${PWD}/config.toml:/opt/bin/config.toml \ -v ${PWD}/assets:/opt/selenium/assets \ -v /var/run/docker.sock:/var/run/docker.sock \ - selenium/node-docker:4.15.0-20231108 + selenium/node-docker:4.15.0-20231110 ``` #### Windows PowerShell ```powershell $ docker network create grid -$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.15.0-20231108 +$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.15.0-20231110 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` -v ${PWD}/config.toml:/opt/bin/config.toml ` -v ${PWD}/assets:/opt/selenium/assets ` -v /var/run/docker.sock:/var/run/docker.sock ` - selenium/node-docker:4.15.0-20231108 + selenium/node-docker:4.15.0-20231110 ``` To have the assets saved on your host, please mount your host path to `/opt/selenium/assets`. @@ -608,7 +608,7 @@ docker run --rm --name selenium-docker -p 4444:4444 \ -v ${PWD}/config.toml:/opt/bin/config.toml \ -v ${PWD}/assets:/opt/selenium/assets \ -v /var/run/docker.sock:/var/run/docker.sock \ - selenium/standalone-docker:4.15.0-20231108 + selenium/standalone-docker:4.15.0-20231110 ``` #### Windows PowerShell @@ -618,7 +618,7 @@ docker run --rm --name selenium-docker -p 4444:4444 ` -v ${PWD}/config.toml:/opt/bin/config.toml ` -v ${PWD}/assets:/opt/selenium/assets ` -v /var/run/docker.sock:/var/run/docker.sock ` - selenium/standalone-docker:4.15.0-20231108 + selenium/standalone-docker:4.15.0-20231110 ``` ### Using Dynamic Grid in different machines/VMs @@ -626,7 +626,7 @@ docker run --rm --name selenium-docker -p 4444:4444 ` #### Hub - Machine/VM 1 ```bash -$ docker run -d -p 4442-4444:4442-4444 --name selenium-hub selenium/hub:4.15.0-20231108 +$ docker run -d -p 4442-4444:4442-4444 --name selenium-hub selenium/hub:4.15.0-20231110 ``` #### Node Chrome - Machine/VM 2 @@ -641,7 +641,7 @@ $ docker run -d -p 5555:5555 \ -v ${PWD}/config.toml:/opt/bin/config.toml \ -v ${PWD}/assets:/opt/selenium/assets \ -v /var/run/docker.sock:/var/run/docker.sock \ - selenium/node-docker:4.15.0-20231108 + selenium/node-docker:4.15.0-20231110 ``` #### Windows PowerShell @@ -654,7 +654,7 @@ $ docker run -d -p 5555:5555 ` -v ${PWD}/config.toml:/opt/bin/config.toml ` -v ${PWD}/assets:/opt/selenium/assets ` -v /var/run/docker.sock:/var/run/docker.sock ` - selenium/node-docker:4.15.0-20231108 + selenium/node-docker:4.15.0-20231110 ``` Complete the `[server]` section in the `config.toml` file. @@ -663,9 +663,9 @@ Complete the `[server]` section in the `config.toml` file. # 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.15.0-20231108", "{\"browserName\": \"firefox\"}", - "selenium/standalone-chrome:4.15.0-20231108", "{\"browserName\": \"chrome\"}", - "selenium/standalone-edge:4.15.0-20231108", "{\"browserName\": \"MicrosoftEdge\"}" + "selenium/standalone-firefox:4.15.0-20231110", "{\"browserName\": \"firefox\"}", + "selenium/standalone-chrome:4.15.0-20231110", "{\"browserName\": \"chrome\"}", + "selenium/standalone-edge:4.15.0-20231110", "{\"browserName\": \"MicrosoftEdge\"}" ] # URL for connecting to the docker daemon @@ -678,7 +678,7 @@ configs = [ # Linux: varies from machine to machine, please mount /var/run/docker.sock. If this does not work, please create an issue. url = "http://127.0.0.1:2375" # Docker image used for video recording -video-image = "selenium/video:ffmpeg-6.0-20231108" +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 @@ -712,7 +712,7 @@ docker run --rm --name selenium-docker -p 4444:4444 \ -v ${PWD}/config.toml:/opt/bin/config.toml \ -v ${PWD}/assets:/opt/selenium/assets \ -v /var/run/docker.sock:/var/run/docker.sock \ - selenium/standalone-docker:4.15.0-20231108 + selenium/standalone-docker:4.15.0-20231110 ``` #### Windows PowerShell @@ -723,7 +723,7 @@ docker run --rm --name selenium-docker -p 4444:4444 ` -v ${PWD}/config.toml:/opt/bin/config.toml ` -v ${PWD}/assets:/opt/selenium/assets ` -v /var/run/docker.sock:/var/run/docker.sock ` - selenium/standalone-docker:4.15.0-20231108 + selenium/standalone-docker:4.15.0-20231110 ``` @@ -761,7 +761,7 @@ ___ You can pass `SE_OPTS` variable with additional command line parameters for starting a hub or a node. ``` bash -$ docker run -d -p 4444:4444 -e SE_OPTS="--log-level FINE" --name selenium-hub selenium/hub:4.15.0-20231108 +$ docker run -d -p 4444:4444 -e SE_OPTS="--log-level FINE" --name selenium-hub selenium/hub:4.15.0-20231110 ``` ### SE_JAVA_OPTS Java Environment Options @@ -769,7 +769,7 @@ $ docker run -d -p 4444:4444 -e SE_OPTS="--log-level FINE" --name selenium-hub s You can pass `SE_JAVA_OPTS` environment variable to the Java process. ``` bash -$ docker run -d -p 4444:4444 -e SE_JAVA_OPTS=-Xmx512m --name selenium-hub selenium/hub:4.15.0-20231108 +$ docker run -d -p 4444:4444 -e SE_JAVA_OPTS=-Xmx512m --name selenium-hub selenium/hub:4.15.0-20231110 ``` ### Node configuration options @@ -791,7 +791,7 @@ $ docker run -d \ -e SE_EVENT_BUS_HOST= \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 -e SE_NODE_STEREOTYPE="{\"browserName\":\"${SE_NODE_BROWSER_NAME}\",\"browserVersion\":\"${SE_NODE_BROWSER_VERSION}\",\"platformName\": \"Linux\"}" \ - --shm-size="2g" selenium/node-chrome:4.15.0-20231108 + --shm-size="2g" selenium/node-chrome:4.15.0-20231110 ``` ### Setting Sub Path @@ -810,7 +810,7 @@ These settings can be adjusted by specifying `SE_SCREEN_WIDTH`, `SE_SCREEN_HEIGH environmental variables when starting the container. ``` bash -docker run -d -e SE_SCREEN_WIDTH=1366 -e SE_SCREEN_HEIGHT=768 -e SE_SCREEN_DEPTH=24 -e SE_SCREEN_DPI=74 selenium/standalone-firefox:4.15.0-20231108 +docker run -d -e SE_SCREEN_WIDTH=1366 -e SE_SCREEN_HEIGHT=768 -e SE_SCREEN_DEPTH=24 -e SE_SCREEN_DPI=74 selenium/standalone-firefox:4.15.0-20231110 ``` ### Grid Url and Session Timeout @@ -860,7 +860,7 @@ To avoid starting the server you can set the `START_XVFB` environment variable t ``` bash $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ - -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 -e START_XVFB=false --shm-size="2g" selenium/node-chrome:4.15.0-20231108 + -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 -e START_XVFB=false --shm-size="2g" selenium/node-chrome:4.15.0-20231110 ``` For more information, see this GitHub [issue](https://github.com/SeleniumHQ/docker-selenium/issues/567). @@ -873,7 +873,7 @@ pod and then scale a new one after N sessions. Set the environment variable `SE_ a value higher than zero to enable this behaviour. ``` bash -$ docker run -e SE_DRAIN_AFTER_SESSION_COUNT=5 --shm-size="2g" selenium/standalone-firefox:4.15.0-20231108 +$ docker run -e SE_DRAIN_AFTER_SESSION_COUNT=5 --shm-size="2g" selenium/standalone-firefox:4.15.0-20231110 ``` With the previous command, the Standalone container will shut down after 5 sessions have been executed. @@ -965,22 +965,22 @@ $ docker network create grid $ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub \ --health-cmd='/opt/bin/check-grid.sh --host 0.0.0.0 --port 4444' \ --health-interval=15s --health-timeout=30s --health-retries=5 \ - selenium/hub:4.15.0-20231108 + selenium/hub:4.15.0-20231110 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-chrome:4.15.0-20231108 + selenium/node-chrome:4.15.0-20231110 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-edge:4.15.0-20231108 + selenium/node-edge:4.15.0-20231110 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-firefox:4.15.0-20231108 + selenium/node-firefox:4.15.0-20231110 ``` **Note:** The `\` line delimiter won't work on Windows-based terminals, try either `^` or a backtick. @@ -1113,7 +1113,7 @@ RUN mkdir -p -m755 /seluser/.pki/nssdb \ && chown -R 1200:1201 /seluser # Start from Selenium image and add relevant files from build image -FROM selenium/node-chrome:4.15.0-20231108 +FROM selenium/node-chrome:4.15.0-20231110 USER root COPY --from=build /seluser/ /home/seluser/ USER seluser @@ -1128,7 +1128,7 @@ RUN mkdir -p "/distribution" "/certs" && \ echo '{ "policies": { "Certificates": { "Install": ["/opt/firefox-latest/YOUR_CA.pem"] }} }' >"/distribution/policies.json" # Start from Selenium image and add relevant files from build image -FROM selenium/node-firefox:4.15.0-20231108 +FROM selenium/node-firefox:4.15.0-20231110 USER root COPY --from=build /certs /opt/firefox-latest COPY --from=build /distribution /opt/firefox-latest/distribution @@ -1151,9 +1151,9 @@ You can override it with the `SE_VNC_PORT` environment variable in case you want Here is an example with the standalone images, the same concept applies to the node images. ``` bash -$ docker run -d -p 4444:4444 -p 5900:5900 --shm-size="2g" selenium/standalone-chrome:4.15.0-20231108 -$ docker run -d -p 4445:4444 -p 5901:5900 --shm-size="2g" selenium/standalone-edge:4.15.0-20231108 -$ docker run -d -p 4446:4444 -p 5902:5900 --shm-size="2g" selenium/standalone-firefox:4.15.0-20231108 +$ docker run -d -p 4444:4444 -p 5900:5900 --shm-size="2g" selenium/standalone-chrome:4.15.0-20231110 +$ docker run -d -p 4445:4444 -p 5901:5900 --shm-size="2g" selenium/standalone-edge:4.15.0-20231110 +$ docker run -d -p 4446:4444 -p 5902:5900 --shm-size="2g" selenium/standalone-firefox:4.15.0-20231110 ``` Then, you would use in your VNC client: @@ -1179,9 +1179,9 @@ You can also override it with the `SE_NO_VNC_PORT` environment variable in case Here is an example with the standalone images, the same concept applies to the node images. ``` bash -$ docker run -d -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-chrome:4.15.0-20231108 -$ docker run -d -p 4445:4444 -p 7901:7900 --shm-size="2g" selenium/standalone-edge:4.15.0-20231108 -$ docker run -d -p 4446:4444 -p 7902:7900 --shm-size="2g" selenium/standalone-firefox:4.15.0-20231108 +$ docker run -d -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-chrome:4.15.0-20231110 +$ docker run -d -p 4445:4444 -p 7901:7900 --shm-size="2g" selenium/standalone-edge:4.15.0-20231110 +$ docker run -d -p 4446:4444 -p 7902:7900 --shm-size="2g" selenium/standalone-firefox:4.15.0-20231110 ``` Then, you would use in your browser: @@ -1206,28 +1206,28 @@ In order to enable tracing in the Selenium Grid container, the following command ```bash docker network create grid docker run -d -p 16686:16686 -p 14250:14250 --net grid --name jaeger jaegertracing/all-in-one:1.17 -docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.15.0-20231108 +docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.15.0-20231110 docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_ENABLE_TRACING=true \ -e JAVA_OPTS="-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-hub" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-chrome:4.15.0-20231108 + selenium/node-chrome:4.15.0-20231110 docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_ENABLE_TRACING=true \ -e JAVA_OPTS="-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-edge" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-edge:4.15.0-20231108 + selenium/node-edge:4.15.0-20231110 docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_ENABLE_TRACING=true \ -e JAVA_OPTS="-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-firefox" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-firefox:4.15.0-20231108 + selenium/node-firefox:4.15.0-20231110 ``` You can also refer to the below docker-compose yaml files to be able to start a simple grid (or) a dynamic grid. @@ -1287,7 +1287,7 @@ container in the following way: ```bash docker run -d -p 4444:4444 --shm-size="2g" \ -v /home/ubuntu/files:/home/seluser/files \ - selenium/standalone-chrome:4.15.0-20231108 + selenium/standalone-chrome:4.15.0-20231110 ``` That will mount the host `/home/ubuntu/files` directory diff --git a/charts/selenium-grid/CHANGELOG.md b/charts/selenium-grid/CHANGELOG.md index 8db79e982..3174bd3b1 100644 --- a/charts/selenium-grid/CHANGELOG.md +++ b/charts/selenium-grid/CHANGELOG.md @@ -17,7 +17,7 @@ All notable changes to this helm chart will be documented in this file. - feat: Adding port to nodes service (#1196) :: Viet Nguyen Duc ### Changed -- Update image tag to 4.15.0-20231108 +- Update image tag to 4.15.0-20231110 ## :heavy_check_mark: 0.23.0 diff --git a/charts/selenium-grid/README.md b/charts/selenium-grid/README.md index 805214018..8ef7fd933 100644 --- a/charts/selenium-grid/README.md +++ b/charts/selenium-grid/README.md @@ -85,8 +85,8 @@ For now, global configuration supported is: | Parameter | Default | Description | |---------------------------------------|-------------------|---------------------------------------| -| `global.seleniumGrid.imageTag` | `4.15.0-20231108` | Image tag for all selenium components | -| `global.seleniumGrid.nodesImageTag` | `4.15.0-20231108` | Image tag for browser's nodes | +| `global.seleniumGrid.imageTag` | `4.15.0-20231110` | Image tag for all selenium components | +| `global.seleniumGrid.nodesImageTag` | `4.15.0-20231110` | Image tag for browser's nodes | | `global.seleniumGrid.imagePullSecret` | `""` | Pull secret to be used for all images | | `global.seleniumGrid.imagePullSecret` | `""` | Pull secret to be used for all images | | `global.seleniumGrid.affinity` | `{}` | Affinity assigned globally | @@ -128,7 +128,7 @@ This table contains the configuration parameters of the chart and their default | `chromeNode.deploymentEnabled` | `true` | Enable creation of Deployment for chrome nodes | | `chromeNode.replicas` | `1` | Number of chrome nodes. Disabled if autoscaling is enabled. | | `chromeNode.imageName` | `selenium/node-chrome` | Image of chrome nodes | -| `chromeNode.imageTag` | `4.15.0-20231108` | Image of chrome nodes | +| `chromeNode.imageTag` | `4.15.0-20231110` | Image of chrome nodes | | `chromeNode.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | | `chromeNode.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | | `chromeNode.ports` | `[5555]` | Port list to enable on container | @@ -167,7 +167,7 @@ This table contains the configuration parameters of the chart and their default | `firefoxNode.deploymentEnabled` | `true` | Enable creation of Deployment for firefox nodes | | `firefoxNode.replicas` | `1` | Number of firefox nodes. Disabled if autoscaling is enabled. | | `firefoxNode.imageName` | `selenium/node-firefox` | Image of firefox nodes | -| `firefoxNode.imageTag` | `4.15.0-20231108` | Image of firefox nodes | +| `firefoxNode.imageTag` | `4.15.0-20231110` | Image of firefox nodes | | `firefoxNode.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | | `firefoxNode.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | | `firefoxNode.ports` | `[5555]` | Port list to enable on container | @@ -206,7 +206,7 @@ This table contains the configuration parameters of the chart and their default | `edgeNode.deploymentEnabled` | `true` | Enable creation of Deployment for edge nodes | | `edgeNode.replicas` | `1` | Number of edge nodes. Disabled if autoscaling is enabled. | | `edgeNode.imageName` | `selenium/node-edge` | Image of edge nodes | -| `edgeNode.imageTag` | `4.15.0-20231108` | Image of edge nodes | +| `edgeNode.imageTag` | `4.15.0-20231110` | Image of edge nodes | | `edgeNode.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | | `edgeNode.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | | `edgeNode.ports` | `[5555]` | Port list to enable on container | @@ -243,7 +243,7 @@ This table contains the configuration parameters of the chart and their default | `edgeNode.scaledObjectOptions` | See `values.yaml` | Override the global `autoscaling.scaledObjectOptions` with specific scaled options for edge nodes | | `videoRecorder.enabled` | `false` | Enable video recorder for node | | `videoRecorder.imageName` | `selenium/video` | Selenium video recoder image name | -| `videoRecorder.imageTag` | `ffmpeg-6.0-20231108` | Image tag of video recorder | +| `videoRecorder.imageTag` | `ffmpeg-6.0-20231110` | Image tag of video recorder | | `videoRecorder.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | | `videoRecorder.uploader` | `false` | Name of the uploader to use. The value `false` is used to disable uploader. Supported default `s3` | | `videoRecorder.uploadDestinationPrefix` | `false` | Destination URL for uploading video file. The value `false` is used to disable the uploading | diff --git a/charts/selenium-grid/values.yaml b/charts/selenium-grid/values.yaml index 9f8cc1926..4cc74f5ab 100644 --- a/charts/selenium-grid/values.yaml +++ b/charts/selenium-grid/values.yaml @@ -1,9 +1,9 @@ global: seleniumGrid: # Image tag for all selenium components - imageTag: 4.15.0-20231108 + imageTag: 4.15.0-20231110 # Image tag for browser's nodes - nodesImageTag: 4.15.0-20231108 + nodesImageTag: 4.15.0-20231110 # Pull secret for all components, can be overridden individually imagePullSecret: "" @@ -66,7 +66,7 @@ components: # Router image name imageName: selenium/router # Router image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.15.0-20231108 + # imageTag: 4.15.0-20231110 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent @@ -117,7 +117,7 @@ components: # Distributor image name imageName: selenium/distributor # Distributor image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.15.0-20231108 + # imageTag: 4.15.0-20231110 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent @@ -148,7 +148,7 @@ components: # Event Bus image name imageName: selenium/event-bus # Event Bus image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.15.0-20231108 + # imageTag: 4.15.0-20231110 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent @@ -183,7 +183,7 @@ components: # Session Map image name imageName: selenium/sessions # Session Map image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.15.0-20231108 + # imageTag: 4.15.0-20231110 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent @@ -213,7 +213,7 @@ components: # Session Queue image name imageName: selenium/session-queue # Session Queue image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.15.0-20231108 + # imageTag: 4.15.0-20231110 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent @@ -263,7 +263,7 @@ hub: # Selenium Hub image name imageName: selenium/hub # Selenium Hub image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.15.0-20231108 + # imageTag: 4.15.0-20231110 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent # Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) @@ -403,7 +403,7 @@ chromeNode: # Image of chrome nodes imageName: selenium/node-chrome # Image of chrome nodes (this overwrites global.seleniumGrid.nodesImageTag) - # imageTag: 4.15.0-20231108 + # imageTag: 4.15.0-20231110 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent # Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) @@ -535,7 +535,7 @@ firefoxNode: # Image of firefox nodes imageName: selenium/node-firefox # Image of firefox nodes (this overwrites global.seleniumGrid.nodesImageTag) - # imageTag: 4.15.0-20231108 + # imageTag: 4.15.0-20231110 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent # Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) @@ -664,7 +664,7 @@ edgeNode: # Image of edge nodes imageName: selenium/node-edge # Image of edge nodes (this overwrites global.seleniumGrid.nodesImageTag) - # imageTag: 4.15.0-20231108 + # imageTag: 4.15.0-20231110 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent # Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) @@ -782,7 +782,7 @@ videoRecorder: # Image of video recorder imageName: selenium/video # Image of video recorder - imageTag: ffmpeg-6.0-20231108 + imageTag: ffmpeg-6.0-20231110 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent # Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) diff --git a/docker-compose-v2-tracing.yml b/docker-compose-v2-tracing.yml index e72c2c62f..a47865695 100644 --- a/docker-compose-v2-tracing.yml +++ b/docker-compose-v2-tracing.yml @@ -9,7 +9,7 @@ services: - "16686:16686" - "14250:14250" chrome: - image: selenium/node-chrome:4.15.0-20231108 + image: selenium/node-chrome:4.15.0-20231110 shm_size: 2gb depends_on: - selenium-hub @@ -23,7 +23,7 @@ services: - "6900:5900" edge: - image: selenium/node-edge:4.15.0-20231108 + image: selenium/node-edge:4.15.0-20231110 shm_size: 2gb depends_on: - selenium-hub @@ -37,7 +37,7 @@ services: - "6901:5900" firefox: - image: selenium/node-firefox:4.15.0-20231108 + image: selenium/node-firefox:4.15.0-20231110 shm_size: 2gb depends_on: - selenium-hub @@ -51,7 +51,7 @@ services: - "6902:5900" selenium-hub: - image: selenium/hub:4.15.0-20231108 + image: selenium/hub:4.15.0-20231110 ports: - "4442:4442" - "4443:4443" diff --git a/docker-compose-v2.yml b/docker-compose-v2.yml index 47507b6e6..ca18aa427 100644 --- a/docker-compose-v2.yml +++ b/docker-compose-v2.yml @@ -4,7 +4,7 @@ version: '2' services: chrome: - image: selenium/node-chrome:4.15.0-20231108 + image: selenium/node-chrome:4.15.0-20231110 shm_size: 2gb depends_on: - selenium-hub @@ -16,7 +16,7 @@ services: - "6900:5900" edge: - image: selenium/node-edge:4.15.0-20231108 + image: selenium/node-edge:4.15.0-20231110 shm_size: 2gb depends_on: - selenium-hub @@ -28,7 +28,7 @@ services: - "6901:5900" firefox: - image: selenium/node-firefox:4.15.0-20231108 + image: selenium/node-firefox:4.15.0-20231110 shm_size: 2gb depends_on: - selenium-hub @@ -40,7 +40,7 @@ services: - "6902:5900" selenium-hub: - image: selenium/hub:4.15.0-20231108 + image: selenium/hub:4.15.0-20231110 ports: - "4442:4442" - "4443:4443" diff --git a/docker-compose-v3-basicauth.yml b/docker-compose-v3-basicauth.yml index 8fea17789..c5894143b 100644 --- a/docker-compose-v3-basicauth.yml +++ b/docker-compose-v3-basicauth.yml @@ -4,7 +4,7 @@ version: "3" services: chrome: - image: selenium/node-chrome:4.15.0-20231108 + image: selenium/node-chrome:4.15.0-20231110 shm_size: 2gb depends_on: - selenium-hub @@ -14,7 +14,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.15.0-20231108 + image: selenium/node-edge:4.15.0-20231110 shm_size: 2gb depends_on: - selenium-hub @@ -24,7 +24,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.15.0-20231108 + image: selenium/node-firefox:4.15.0-20231110 shm_size: 2gb depends_on: - selenium-hub @@ -34,7 +34,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-hub: - image: selenium/hub:4.15.0-20231108 + image: selenium/hub:4.15.0-20231110 container_name: selenium-hub ports: - "4442:4442" diff --git a/docker-compose-v3-dev.yml b/docker-compose-v3-dev.yml index 049c93026..0d1705d29 100644 --- a/docker-compose-v3-dev.yml +++ b/docker-compose-v3-dev.yml @@ -4,7 +4,7 @@ version: "3" services: chrome: - image: selenium/node-chrome:4.15.0-20231108 + image: selenium/node-chrome:4.15.0-20231110 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar @@ -16,7 +16,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.15.0-20231108 + image: selenium/node-edge:4.15.0-20231110 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar @@ -28,7 +28,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.15.0-20231108 + image: selenium/node-firefox:4.15.0-20231110 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar @@ -40,7 +40,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-hub: - image: selenium/hub:4.15.0-20231108 + image: selenium/hub:4.15.0-20231110 container_name: selenium-hub volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar diff --git a/docker-compose-v3-dynamic-grid.yml b/docker-compose-v3-dynamic-grid.yml index d9462fafb..1405e44a4 100644 --- a/docker-compose-v3-dynamic-grid.yml +++ b/docker-compose-v3-dynamic-grid.yml @@ -4,7 +4,7 @@ version: "3" services: node-docker: - image: selenium/node-docker:4.15.0-20231108 + image: selenium/node-docker:4.15.0-20231110 volumes: - ./assets:/opt/selenium/assets - ./NodeDocker/config.toml:/opt/bin/config.toml @@ -17,7 +17,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-hub: - image: selenium/hub:4.15.0-20231108 + image: selenium/hub:4.15.0-20231110 container_name: selenium-hub ports: - "4442:4442" diff --git a/docker-compose-v3-full-grid-dev.yml b/docker-compose-v3-full-grid-dev.yml index b55ecb69b..26a49b696 100644 --- a/docker-compose-v3-full-grid-dev.yml +++ b/docker-compose-v3-full-grid-dev.yml @@ -4,7 +4,7 @@ version: "3" services: selenium-event-bus: - image: selenium/event-bus:4.15.0-20231108 + image: selenium/event-bus:4.15.0-20231110 volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar container_name: selenium-event-bus @@ -14,7 +14,7 @@ services: - "5557:5557" selenium-sessions: - image: selenium/sessions:4.15.0-20231108 + image: selenium/sessions:4.15.0-20231110 volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar container_name: selenium-sessions @@ -28,7 +28,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-session-queue: - image: selenium/session-queue:4.15.0-20231108 + image: selenium/session-queue:4.15.0-20231110 volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar container_name: selenium-session-queue @@ -36,7 +36,7 @@ services: - "5559:5559" selenium-distributor: - image: selenium/distributor:4.15.0-20231108 + image: selenium/distributor:4.15.0-20231110 volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar container_name: selenium-distributor @@ -56,7 +56,7 @@ services: - SE_SESSION_QUEUE_PORT=5559 selenium-router: - image: selenium/router:4.15.0-20231108 + image: selenium/router:4.15.0-20231110 volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar container_name: selenium-router @@ -75,7 +75,7 @@ services: - SE_SESSION_QUEUE_PORT=5559 chrome: - image: selenium/node-chrome:4.15.0-20231108 + image: selenium/node-chrome:4.15.0-20231110 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar @@ -87,7 +87,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.15.0-20231108 + image: selenium/node-edge:4.15.0-20231110 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar @@ -99,7 +99,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.15.0-20231108 + image: selenium/node-firefox:4.15.0-20231110 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar diff --git a/docker-compose-v3-full-grid-swarm.yml b/docker-compose-v3-full-grid-swarm.yml index 50b53cc36..d99d05789 100644 --- a/docker-compose-v3-full-grid-swarm.yml +++ b/docker-compose-v3-full-grid-swarm.yml @@ -7,7 +7,7 @@ version: '3.7' services: chrome: - image: selenium/node-chrome:4.15.0-20231108 + image: selenium/node-chrome:4.15.0-20231110 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -18,7 +18,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' edge: - image: selenium/node-edge:4.15.0-20231108 + image: selenium/node-edge:4.15.0-20231110 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -29,7 +29,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' firefox: - image: selenium/node-firefox:4.15.0-20231108 + image: selenium/node-firefox:4.15.0-20231110 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -40,7 +40,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' selenium-hub: - image: selenium/hub:4.15.0-20231108 + image: selenium/hub:4.15.0-20231110 ports: - "4442:4442" - "4443:4443" diff --git a/docker-compose-v3-full-grid-tracing.yml b/docker-compose-v3-full-grid-tracing.yml index c16aec4d9..a5be01740 100644 --- a/docker-compose-v3-full-grid-tracing.yml +++ b/docker-compose-v3-full-grid-tracing.yml @@ -9,7 +9,7 @@ services: - "16686:16686" - "14250:14250" selenium-event-bus: - image: selenium/event-bus:4.15.0-20231108 + image: selenium/event-bus:4.15.0-20231110 container_name: selenium-event-bus ports: - "4442:4442" @@ -21,7 +21,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-event-bus selenium-sessions: - image: selenium/sessions:4.15.0-20231108 + image: selenium/sessions:4.15.0-20231110 container_name: selenium-sessions ports: - "5556:5556" @@ -34,7 +34,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-sessions selenium-session-queue: - image: selenium/session-queue:4.15.0-20231108 + image: selenium/session-queue:4.15.0-20231110 container_name: selenium-session-queue ports: - "5559:5559" @@ -42,7 +42,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-session-queue selenium-distributor: - image: selenium/distributor:4.15.0-20231108 + image: selenium/distributor:4.15.0-20231110 container_name: selenium-distributor ports: - "5553:5553" @@ -61,7 +61,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-distributor selenium-router: - image: selenium/router:4.15.0-20231108 + image: selenium/router:4.15.0-20231110 container_name: selenium-router ports: - "4444:4444" @@ -79,7 +79,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-router chrome: - image: selenium/node-chrome:4.15.0-20231108 + image: selenium/node-chrome:4.15.0-20231110 shm_size: 2gb depends_on: - selenium-event-bus @@ -90,7 +90,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-chrome edge: - image: selenium/node-edge:4.15.0-20231108 + image: selenium/node-edge:4.15.0-20231110 shm_size: 2gb depends_on: - selenium-event-bus @@ -101,7 +101,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-edge firefox: - image: selenium/node-firefox:4.15.0-20231108 + image: selenium/node-firefox:4.15.0-20231110 shm_size: 2gb depends_on: - selenium-event-bus diff --git a/docker-compose-v3-full-grid.yml b/docker-compose-v3-full-grid.yml index d3d7363b7..432747bfd 100644 --- a/docker-compose-v3-full-grid.yml +++ b/docker-compose-v3-full-grid.yml @@ -4,7 +4,7 @@ version: "3" services: selenium-event-bus: - image: selenium/event-bus:4.15.0-20231108 + image: selenium/event-bus:4.15.0-20231110 container_name: selenium-event-bus ports: - "4442:4442" @@ -12,7 +12,7 @@ services: - "5557:5557" selenium-sessions: - image: selenium/sessions:4.15.0-20231108 + image: selenium/sessions:4.15.0-20231110 container_name: selenium-sessions ports: - "5556:5556" @@ -24,13 +24,13 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-session-queue: - image: selenium/session-queue:4.15.0-20231108 + image: selenium/session-queue:4.15.0-20231110 container_name: selenium-session-queue ports: - "5559:5559" selenium-distributor: - image: selenium/distributor:4.15.0-20231108 + image: selenium/distributor:4.15.0-20231110 container_name: selenium-distributor ports: - "5553:5553" @@ -48,7 +48,7 @@ services: - SE_SESSION_QUEUE_PORT=5559 selenium-router: - image: selenium/router:4.15.0-20231108 + image: selenium/router:4.15.0-20231110 container_name: selenium-router ports: - "4444:4444" @@ -65,7 +65,7 @@ services: - SE_SESSION_QUEUE_PORT=5559 chrome: - image: selenium/node-chrome:4.15.0-20231108 + image: selenium/node-chrome:4.15.0-20231110 shm_size: 2gb depends_on: - selenium-event-bus @@ -75,7 +75,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.15.0-20231108 + image: selenium/node-edge:4.15.0-20231110 shm_size: 2gb depends_on: - selenium-event-bus @@ -85,7 +85,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.15.0-20231108 + image: selenium/node-firefox:4.15.0-20231110 shm_size: 2gb depends_on: - selenium-event-bus diff --git a/docker-compose-v3-swarm.yml b/docker-compose-v3-swarm.yml index 50b53cc36..d99d05789 100644 --- a/docker-compose-v3-swarm.yml +++ b/docker-compose-v3-swarm.yml @@ -7,7 +7,7 @@ version: '3.7' services: chrome: - image: selenium/node-chrome:4.15.0-20231108 + image: selenium/node-chrome:4.15.0-20231110 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -18,7 +18,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' edge: - image: selenium/node-edge:4.15.0-20231108 + image: selenium/node-edge:4.15.0-20231110 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -29,7 +29,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' firefox: - image: selenium/node-firefox:4.15.0-20231108 + image: selenium/node-firefox:4.15.0-20231110 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -40,7 +40,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' selenium-hub: - image: selenium/hub:4.15.0-20231108 + image: selenium/hub:4.15.0-20231110 ports: - "4442:4442" - "4443:4443" diff --git a/docker-compose-v3-tracing.yml b/docker-compose-v3-tracing.yml index a27a5e76e..4b54490f6 100644 --- a/docker-compose-v3-tracing.yml +++ b/docker-compose-v3-tracing.yml @@ -9,7 +9,7 @@ services: - "16686:16686" - "14250:14250" chrome: - image: selenium/node-chrome:4.15.0-20231108 + image: selenium/node-chrome:4.15.0-20231110 shm_size: 2gb depends_on: - selenium-hub @@ -21,7 +21,7 @@ services: - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-chrome edge: - image: selenium/node-edge:4.15.0-20231108 + image: selenium/node-edge:4.15.0-20231110 shm_size: 2gb depends_on: - selenium-hub @@ -33,7 +33,7 @@ services: - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-edge firefox: - image: selenium/node-firefox:4.15.0-20231108 + image: selenium/node-firefox:4.15.0-20231110 shm_size: 2gb depends_on: - selenium-hub @@ -45,7 +45,7 @@ services: - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-firefox selenium-hub: - image: selenium/hub:4.15.0-20231108 + image: selenium/hub:4.15.0-20231110 container_name: selenium-hub ports: - "4442:4442" diff --git a/docker-compose-v3-video.yml b/docker-compose-v3-video.yml index 1431c8bfd..5e4b5dd0a 100644 --- a/docker-compose-v3-video.yml +++ b/docker-compose-v3-video.yml @@ -4,7 +4,7 @@ version: "3" services: chrome: - image: selenium/node-chrome:4.15.0-20231108 + image: selenium/node-chrome:4.15.0-20231110 shm_size: 2gb depends_on: - selenium-hub @@ -14,7 +14,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.15.0-20231108 + image: selenium/node-edge:4.15.0-20231110 shm_size: 2gb depends_on: - selenium-hub @@ -24,7 +24,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.15.0-20231108 + image: selenium/node-firefox:4.15.0-20231110 shm_size: 2gb depends_on: - selenium-hub @@ -34,7 +34,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 chrome_video: - image: selenium/video:ffmpeg-6.0-20231108 + image: selenium/video:ffmpeg-6.0-20231110 volumes: - /tmp/videos:/videos depends_on: @@ -44,7 +44,7 @@ services: - FILE_NAME=chrome_video.mp4 edge_video: - image: selenium/video:ffmpeg-6.0-20231108 + image: selenium/video:ffmpeg-6.0-20231110 volumes: - /tmp/videos:/videos depends_on: @@ -54,7 +54,7 @@ services: - FILE_NAME=edge_video.mp4 firefox_video: - image: selenium/video:ffmpeg-6.0-20231108 + image: selenium/video:ffmpeg-6.0-20231110 volumes: - /tmp/videos:/videos depends_on: @@ -64,7 +64,7 @@ services: - FILE_NAME=firefox_video.mp4 selenium-hub: - image: selenium/hub:4.15.0-20231108 + image: selenium/hub:4.15.0-20231110 container_name: selenium-hub ports: - "4442:4442" diff --git a/docker-compose-v3.yml b/docker-compose-v3.yml index 3f5b16825..83464f7d3 100644 --- a/docker-compose-v3.yml +++ b/docker-compose-v3.yml @@ -4,7 +4,7 @@ version: "3" services: chrome: - image: selenium/node-chrome:4.15.0-20231108 + image: selenium/node-chrome:4.15.0-20231110 shm_size: 2gb depends_on: - selenium-hub @@ -14,7 +14,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.15.0-20231108 + image: selenium/node-edge:4.15.0-20231110 shm_size: 2gb depends_on: - selenium-hub @@ -24,7 +24,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.15.0-20231108 + image: selenium/node-firefox:4.15.0-20231110 shm_size: 2gb depends_on: - selenium-hub @@ -34,7 +34,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-hub: - image: selenium/hub:4.15.0-20231108 + image: selenium/hub:4.15.0-20231110 container_name: selenium-hub ports: - "4442:4442" From 6f9708ed59931a92830057b1a781ab428c588f6e Mon Sep 17 00:00:00 2001 From: Diego Molina Date: Fri, 10 Nov 2023 12:59:30 +0100 Subject: [PATCH 36/84] Update start-xvfb.sh [skip ci] --- NodeBase/start-xvfb.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NodeBase/start-xvfb.sh b/NodeBase/start-xvfb.sh index 5e7092a51..b4959a390 100755 --- a/NodeBase/start-xvfb.sh +++ b/NodeBase/start-xvfb.sh @@ -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 From f038e690282909fbc45f62a142836885616cd46c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 14 Nov 2023 11:33:47 +0100 Subject: [PATCH 37/84] Bump dessant/lock-threads from 4.0.1 to 5.0.0 (#2012) Bumps [dessant/lock-threads](https://github.com/dessant/lock-threads) from 4.0.1 to 5.0.0. - [Release notes](https://github.com/dessant/lock-threads/releases) - [Changelog](https://github.com/dessant/lock-threads/blob/main/CHANGELOG.md) - [Commits](https://github.com/dessant/lock-threads/compare/be8aa5be94131386884a6da4189effda9b14aa21...d42e5f49803f3c4e14ffee0378e31481265dda22) --- updated-dependencies: - dependency-name: dessant/lock-threads dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/lock.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/lock.yml b/.github/workflows/lock.yml index 599e1c54f..493bb0dea 100644 --- a/.github/workflows/lock.yml +++ b/.github/workflows/lock.yml @@ -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' From 35a044a4e772a2312a4c6d7107ca783653bfe0d4 Mon Sep 17 00:00:00 2001 From: Amar Deep Singh <50517840+amardeep2006@users.noreply.github.com> Date: Tue, 14 Nov 2023 16:17:33 +0530 Subject: [PATCH 38/84] feat(helm-test): Added helm test and linting (#2003) * feat(helm-test): Added helm test and linting * chore(appversion): Bumped up chart version --------- Co-authored-by: Diego Molina --- .github/workflows/helm-chart-test.yml | 54 +++++++++++++++++++++++++++ charts/selenium-grid/Chart.yaml | 9 ++++- charts/selenium-grid/values.yaml | 36 +++++++++--------- 3 files changed, 79 insertions(+), 20 deletions(-) create mode 100644 .github/workflows/helm-chart-test.yml diff --git a/.github/workflows/helm-chart-test.yml b/.github/workflows/helm-chart-test.yml new file mode 100644 index 000000000..6bcf1eae4 --- /dev/null +++ b/.github/workflows/helm-chart-test.yml @@ -0,0 +1,54 @@ +name: Lint and Test Helm Charts + +on: pull_request + +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/chart-testing-action@v2.6.1 + + - name: Run chart-testing (list-changed) + id: list-changed + run: | + changed=$(ct list-changed --target-branch ${{ github.event.repository.default_branch }}) + if [[ -n "$changed" ]]; then + echo "changed=true" >> "$GITHUB_OUTPUT" + fi + + - name: Run chart-testing (lint) + if: steps.list-changed.outputs.changed == 'true' + run: ct lint --target-branch ${{ github.event.repository.default_branch }} + + - name: Create kind cluster + if: steps.list-changed.outputs.changed == 'true' + uses: helm/kind-action@v1.8.0 + + - name: Build Helm Charts + if: steps.list-changed.outputs.changed == 'true' + run: | + helm repo add kedacore https://kedacore.github.io/charts + helm repo update + cd charts + helm dependency build selenium-grid + + - name: Run chart-testing (install) + if: steps.list-changed.outputs.changed == 'true' + run: ct install --target-branch ${{ github.event.repository.default_branch }} \ No newline at end of file diff --git a/charts/selenium-grid/Chart.yaml b/charts/selenium-grid/Chart.yaml index f68a7851c..8dfd4513d 100644 --- a/charts/selenium-grid/Chart.yaml +++ b/charts/selenium-grid/Chart.yaml @@ -2,11 +2,16 @@ apiVersion: v2 name: selenium-grid description: A Helm chart for creating a Selenium Grid Server in Kubernetes type: application -version: 0.24.0 -appVersion: 4.15.0-20231102 +version: 0.25.0 +appVersion: 4.15.0-20231110 icon: https://github.com/SeleniumHQ/docker-selenium/raw/trunk/logo.png dependencies: - repository: https://kedacore.github.io/charts version: 2.12.0 name: keda condition: autoscaling.enabled +maintainers: + - name: SeleniumHQ + email: selenium-developers@googlegroups.com +sources: + - https://github.com/SeleniumHQ/docker-selenium diff --git a/charts/selenium-grid/values.yaml b/charts/selenium-grid/values.yaml index 4cc74f5ab..15e361958 100644 --- a/charts/selenium-grid/values.yaml +++ b/charts/selenium-grid/values.yaml @@ -5,16 +5,16 @@ global: # Image tag for browser's nodes nodesImageTag: 4.15.0-20231110 # Pull secret for all components, can be overridden individually - imagePullSecret: "" + imagePullSecret: "" # Basic auth settings for Selenium Grid basicAuth: - # Enable or disable basic auth - enabled: true - # Username for basic auth - username: admin - # Password for basic auth - password: admin + # Enable or disable basic auth + enabled: true + # Username for basic auth + username: admin + # Password for basic auth + password: admin # Deploy Router, Distributor, EventBus, SessionMap and Nodes separately isolateComponents: false @@ -358,7 +358,7 @@ autoscaling: maxReplicaCount: 8 pollingInterval: 10 # List of triggers. Be careful, the default trigger of selenium-grid will be overwritten if you specify this - #triggers: + # triggers: # Options for KEDA ScaledJobs (only used when scalingType is set to "job") # see https://keda.sh/docs/latest/concepts/scaling-jobs/#scaledjob-spec scaledJobOptions: @@ -504,14 +504,14 @@ chromeNode: # claimName: my-pv-claim # Override the scaled options for chrome nodes - #scaledOptions: - #scaledJobOptions: - #scaledObjectOptions: + # scaledOptions: + # scaledJobOptions: + # scaledObjectOptions: hpa: url: '{{ include "seleniumGrid.graphqlURL" . }}' browserName: chrome # browserVersion: '91.0' # Optional. Only required when supporting multiple versions of browser in your Selenium Grid. - unsafeSsl : 'true' # Optional + unsafeSsl: 'true' # Optional # It is used to add a sidecars proxy in the same pod of the browser node. # It means it will add a new container to the deployment itself. @@ -636,9 +636,9 @@ firefoxNode: # claimName: my-pv-claim # Override the scaled options for firefox nodes - #scaledOptions: - #scaledJobOptions: - #scaledObjectOptions: + # scaledOptions: + # scaledJobOptions: + # scaledObjectOptions: hpa: url: '{{ include "seleniumGrid.graphqlURL" . }}' browserName: firefox @@ -764,9 +764,9 @@ edgeNode: # claimName: my-pv-claim # Override the scaled options for edge nodes - #scaledOptions: - #scaledJobOptions: - #scaledObjectOptions: + # scaledOptions: + # scaledJobOptions: + # scaledObjectOptions: hpa: url: '{{ include "seleniumGrid.graphqlURL" . }}' browserName: MicrosoftEdge From eec5ecc6b6894eb38b6cfb06d9c8a484e4c52552 Mon Sep 17 00:00:00 2001 From: Viet Nguyen Duc Date: Tue, 14 Nov 2023 19:56:43 +0700 Subject: [PATCH 39/84] Bug: Error setting name in helm release #2006 #2007 (#2009) * Bug: Error setting name in helm release #2006 Signed-off-by: Viet Nguyen Duc * Add workflow to test chart Signed-off-by: Viet Nguyen Duc * Update workflow to test chart Signed-off-by: Viet Nguyen Duc * Update workflow to test helm chart Signed-off-by: Viet Nguyen Duc * Update workflow to test chart Signed-off-by: Viet Nguyen Duc * Update ConfigMap for video recorder #2007 Signed-off-by: Viet Nguyen Duc * Test indidividual node to reduce unstable Insufficient cpu Signed-off-by: Viet Nguyen Duc * Fix lint in test values yaml Signed-off-by: Viet Nguyen Duc --------- Signed-off-by: Viet Nguyen Duc --- .github/workflows/helm-chart-test.yml | 28 ++++++++----------- .gitignore | 3 +- charts/selenium-grid/.helmignore | 1 + charts/selenium-grid/Chart.yaml | 2 +- .../ci/overrideNameChrome-values.yaml | 9 ++++++ .../ci/overrideNameEdge-values.yaml | 9 ++++++ .../ci/overrideNameFirefox-values.yaml | 9 ++++++ charts/selenium-grid/templates/NOTES.txt | 2 +- .../templates/chrome-node-deployment.yaml | 6 ++-- .../templates/chrome-node-scaledjobs.yaml | 4 +-- .../templates/chrome-node-service.yaml | 4 +-- .../templates/distributor-deployment.yaml | 8 +++--- .../templates/distributor-service.yaml | 4 +-- .../templates/edge-node-deployment.yaml | 6 ++-- .../templates/edge-node-scaledjob.yaml | 4 +-- .../templates/edge-node-service.yaml | 4 +-- .../templates/event-bus-deployment.yaml | 8 +++--- .../templates/event-bus-service.yaml | 4 +-- .../templates/firefox-node-deployment.yaml | 6 ++-- .../templates/firefox-node-scaledjob.yaml | 4 +-- .../templates/firefox-node-service.yaml | 4 +-- .../templates/hub-deployment.yaml | 8 +++--- .../selenium-grid/templates/hub-service.yaml | 4 +-- .../templates/router-deployment.yaml | 8 +++--- .../templates/router-service.yaml | 4 +-- .../templates/session-map-deployment.yaml | 8 +++--- .../templates/session-map-service.yaml | 4 +-- .../templates/session-queuer-deployment.yaml | 8 +++--- .../templates/session-queuer-service.yaml | 4 +-- charts/selenium-grid/templates/video-cm.yaml | 2 +- charts/selenium-grid/values.yaml | 2 ++ tests/chart-test.yaml | 8 ++++++ 32 files changed, 112 insertions(+), 77 deletions(-) create mode 100644 charts/selenium-grid/ci/overrideNameChrome-values.yaml create mode 100644 charts/selenium-grid/ci/overrideNameEdge-values.yaml create mode 100644 charts/selenium-grid/ci/overrideNameFirefox-values.yaml create mode 100644 tests/chart-test.yaml diff --git a/.github/workflows/helm-chart-test.yml b/.github/workflows/helm-chart-test.yml index 6bcf1eae4..cf8f8c439 100644 --- a/.github/workflows/helm-chart-test.yml +++ b/.github/workflows/helm-chart-test.yml @@ -1,6 +1,13 @@ name: Lint and Test Helm Charts -on: pull_request +on: + push: + paths: + - 'charts/selenium-grid/**' + pull_request: + paths: + - 'charts/selenium-grid/**' + workflow_dispatch: jobs: lint-test: @@ -28,27 +35,16 @@ jobs: - name: Run chart-testing (list-changed) id: list-changed run: | - changed=$(ct list-changed --target-branch ${{ github.event.repository.default_branch }}) + changed=$(ct list-changed --config tests/chart-test.yaml) if [[ -n "$changed" ]]; then - echo "changed=true" >> "$GITHUB_OUTPUT" + echo "{changed}={true}" >> $GITHUB_OUTPUT fi - name: Run chart-testing (lint) - if: steps.list-changed.outputs.changed == 'true' - run: ct lint --target-branch ${{ github.event.repository.default_branch }} + run: ct lint --config tests/chart-test.yaml - name: Create kind cluster - if: steps.list-changed.outputs.changed == 'true' uses: helm/kind-action@v1.8.0 - - name: Build Helm Charts - if: steps.list-changed.outputs.changed == 'true' - run: | - helm repo add kedacore https://kedacore.github.io/charts - helm repo update - cd charts - helm dependency build selenium-grid - - name: Run chart-testing (install) - if: steps.list-changed.outputs.changed == 'true' - run: ct install --target-branch ${{ github.event.repository.default_branch }} \ No newline at end of file + run: ct install --all --config tests/chart-test.yaml diff --git a/.gitignore b/.gitignore index 7377b135b..fc44914b7 100644 --- a/.gitignore +++ b/.gitignore @@ -147,4 +147,5 @@ ENV/ # End of https://www.gitignore.io/api/python .DS_Store - +/charts/*/charts +/charts/*/**.lock diff --git a/charts/selenium-grid/.helmignore b/charts/selenium-grid/.helmignore index 0e8a0eb36..5bdaa3eb0 100644 --- a/charts/selenium-grid/.helmignore +++ b/charts/selenium-grid/.helmignore @@ -21,3 +21,4 @@ .idea/ *.tmproj .vscode/ +ci/ diff --git a/charts/selenium-grid/Chart.yaml b/charts/selenium-grid/Chart.yaml index 8dfd4513d..a5786c654 100644 --- a/charts/selenium-grid/Chart.yaml +++ b/charts/selenium-grid/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 name: selenium-grid description: A Helm chart for creating a Selenium Grid Server in Kubernetes type: application -version: 0.25.0 +version: 0.25.1 appVersion: 4.15.0-20231110 icon: https://github.com/SeleniumHQ/docker-selenium/raw/trunk/logo.png dependencies: diff --git a/charts/selenium-grid/ci/overrideNameChrome-values.yaml b/charts/selenium-grid/ci/overrideNameChrome-values.yaml new file mode 100644 index 000000000..6fe143648 --- /dev/null +++ b/charts/selenium-grid/ci/overrideNameChrome-values.yaml @@ -0,0 +1,9 @@ +# These desired is used to test the overrideName of the component +hub: + nameOverride: my-hub-name +chromeNode: + nameOverride: my-chrome-name +edgeNode: + enabled: false +firefoxNode: + enabled: false diff --git a/charts/selenium-grid/ci/overrideNameEdge-values.yaml b/charts/selenium-grid/ci/overrideNameEdge-values.yaml new file mode 100644 index 000000000..11f20066e --- /dev/null +++ b/charts/selenium-grid/ci/overrideNameEdge-values.yaml @@ -0,0 +1,9 @@ +# These desired is used to test the overrideName of the component +hub: + nameOverride: my-hub-name +chromeNode: + enabled: false +edgeNode: + nameOverride: my-edge-name +firefoxNode: + enabled: false diff --git a/charts/selenium-grid/ci/overrideNameFirefox-values.yaml b/charts/selenium-grid/ci/overrideNameFirefox-values.yaml new file mode 100644 index 000000000..dcf4670ed --- /dev/null +++ b/charts/selenium-grid/ci/overrideNameFirefox-values.yaml @@ -0,0 +1,9 @@ +# These desired is used to test the overrideName of the component +hub: + nameOverride: my-hub-name +chromeNode: + enabled: false +edgeNode: + enabled: false +firefoxNode: + nameOverride: my-firefox-name diff --git a/charts/selenium-grid/templates/NOTES.txt b/charts/selenium-grid/templates/NOTES.txt index 80920a44f..ce79f74b5 100644 --- a/charts/selenium-grid/templates/NOTES.txt +++ b/charts/selenium-grid/templates/NOTES.txt @@ -1,7 +1,7 @@ Selenium Grid Server deployed successfully. {{- $svcName := ternary (include "seleniumGrid.router.fullname" . ) (include "seleniumGrid.hub.fullname" . ) .Values.isolateComponents }} -{{- $appName := ternary "selenium-router" "selenium-hub" .Values.isolateComponents }} +{{- $appName := ternary (include "seleniumGrid.router.fullname" . ) (include "seleniumGrid.hub.fullname" . ) .Values.isolateComponents }} {{- $serviceType := ternary .Values.components.router.serviceType .Values.hub.serviceType .Values.isolateComponents }} {{- $port := ternary .Values.components.router.port .Values.hub.port .Values.isolateComponents }} {{- $localUrl := ternary "http://localhost:PORT" "http://localhost:PORT/wd/hub" .Values.isolateComponents }} diff --git a/charts/selenium-grid/templates/chrome-node-deployment.yaml b/charts/selenium-grid/templates/chrome-node-deployment.yaml index 2ea8c010c..e3bf3f1d2 100644 --- a/charts/selenium-grid/templates/chrome-node-deployment.yaml +++ b/charts/selenium-grid/templates/chrome-node-deployment.yaml @@ -5,8 +5,8 @@ metadata: name: {{ template "seleniumGrid.chromeNode.fullname" . }} namespace: {{ .Release.Namespace }} labels: - app: selenium-chrome-node - app.kubernetes.io/name: selenium-chrome-node + app: {{ template "seleniumGrid.chromeNode.fullname" . }} + app.kubernetes.io/name: {{ template "seleniumGrid.chromeNode.fullname" . }} {{- include "seleniumGrid.commonLabels" . | nindent 4 }} {{- with .Values.chromeNode.labels }} {{- toYaml . | nindent 4 }} @@ -20,7 +20,7 @@ spec: {{end}} selector: matchLabels: - app: selenium-chrome-node + app: {{ template "seleniumGrid.chromeNode.fullname" . }} app.kubernetes.io/instance: {{ .Release.Name }} {{- $podScope := deepCopy . -}} {{- $_ := set $podScope "name" (include "seleniumGrid.chromeNode.fullname" .) -}} diff --git a/charts/selenium-grid/templates/chrome-node-scaledjobs.yaml b/charts/selenium-grid/templates/chrome-node-scaledjobs.yaml index 22a9fcef2..0b0d34443 100644 --- a/charts/selenium-grid/templates/chrome-node-scaledjobs.yaml +++ b/charts/selenium-grid/templates/chrome-node-scaledjobs.yaml @@ -9,8 +9,8 @@ metadata: {{- toYaml . | nindent 4 }} {{- end }} labels: - app: selenium-chrome-node - app.kubernetes.io/name: selenium-chrome-node + app: {{ template "seleniumGrid.chromeNode.fullname" . }} + app.kubernetes.io/name: {{ template "seleniumGrid.chromeNode.fullname" . }} {{- include "seleniumGrid.commonLabels" . | nindent 4 }} {{- with .Values.chromeNode.labels }} {{- toYaml . | nindent 4 }} diff --git a/charts/selenium-grid/templates/chrome-node-service.yaml b/charts/selenium-grid/templates/chrome-node-service.yaml index 754f941ab..efe8f1873 100644 --- a/charts/selenium-grid/templates/chrome-node-service.yaml +++ b/charts/selenium-grid/templates/chrome-node-service.yaml @@ -5,7 +5,7 @@ metadata: name: {{ template "seleniumGrid.chromeNode.fullname" . }} namespace: {{ .Release.Namespace }} labels: - name: selenium-chrome-node + name: {{ template "seleniumGrid.chromeNode.fullname" . }} {{- include "seleniumGrid.commonLabels" . | nindent 4 }} {{- with .Values.chromeNode.service.annotations }} annotations: @@ -14,7 +14,7 @@ metadata: spec: type: {{ .Values.chromeNode.service.type }} selector: - app: selenium-chrome-node + app: {{ template "seleniumGrid.chromeNode.fullname" . }} app.kubernetes.io/instance: {{ .Release.Name }} {{- if and (eq .Values.chromeNode.service.type "LoadBalancer") (.Values.chromeNode.service.loadBalancerIP) }} loadBalancerIP: {{ .Values.chromeNode.service.loadBalancerIP }} diff --git a/charts/selenium-grid/templates/distributor-deployment.yaml b/charts/selenium-grid/templates/distributor-deployment.yaml index bf35d43ed..fe5efd767 100644 --- a/charts/selenium-grid/templates/distributor-deployment.yaml +++ b/charts/selenium-grid/templates/distributor-deployment.yaml @@ -5,8 +5,8 @@ metadata: name: {{ template "seleniumGrid.distributor.fullname" . }} namespace: {{ .Release.Namespace }} labels: &distributor_labels - app: selenium-distributor - app.kubernetes.io/name: selenium-distributor + app: {{ template "seleniumGrid.distributor.fullname" . }} + app.kubernetes.io/name: {{ template "seleniumGrid.distributor.fullname" . }} {{- include "seleniumGrid.commonLabels" . | nindent 4 }} {{- with .Values.customLabels }} {{- toYaml . | nindent 4 }} @@ -15,7 +15,7 @@ spec: replicas: 1 selector: matchLabels: - app: selenium-distributor + app: {{ template "seleniumGrid.distributor.fullname" . }} app.kubernetes.io/instance: {{ .Release.Name }} template: metadata: @@ -27,7 +27,7 @@ spec: serviceAccountName: {{ template "seleniumGrid.serviceAccount.fullname" . }} serviceAccount: {{ template "seleniumGrid.serviceAccount.fullname" . }} containers: - - name: selenium-distributor + - name: {{ template "seleniumGrid.distributor.fullname" . }} {{- $imageTag := default .Values.global.seleniumGrid.imageTag .Values.components.distributor.imageTag }} image: {{ printf "%s:%s" .Values.components.distributor.imageName $imageTag }} imagePullPolicy: {{ .Values.components.distributor.imagePullPolicy }} diff --git a/charts/selenium-grid/templates/distributor-service.yaml b/charts/selenium-grid/templates/distributor-service.yaml index 067be8952..295407fac 100644 --- a/charts/selenium-grid/templates/distributor-service.yaml +++ b/charts/selenium-grid/templates/distributor-service.yaml @@ -5,7 +5,7 @@ metadata: name: {{ template "seleniumGrid.distributor.fullname" . }} namespace: {{ .Release.Namespace }} labels: - app: selenium-distributor + app: {{ template "seleniumGrid.distributor.fullname" . }} {{- include "seleniumGrid.commonLabels" . | nindent 4 }} {{- with .Values.customLabels }} {{- toYaml . | nindent 4 }} @@ -15,7 +15,7 @@ metadata: {{- end }} spec: selector: - app: selenium-distributor + app: {{ template "seleniumGrid.distributor.fullname" . }} app.kubernetes.io/instance: {{ .Release.Name }} type: {{ .Values.components.distributor.serviceType }} ports: diff --git a/charts/selenium-grid/templates/edge-node-deployment.yaml b/charts/selenium-grid/templates/edge-node-deployment.yaml index 33fc360aa..9802239e8 100644 --- a/charts/selenium-grid/templates/edge-node-deployment.yaml +++ b/charts/selenium-grid/templates/edge-node-deployment.yaml @@ -5,8 +5,8 @@ metadata: name: {{ template "seleniumGrid.edgeNode.fullname" . }} namespace: {{ .Release.Namespace }} labels: - app: selenium-edge-node - app.kubernetes.io/name: selenium-edge-node + app: {{ template "seleniumGrid.edgeNode.fullname" . }} + app.kubernetes.io/name: {{ template "seleniumGrid.edgeNode.fullname" . }} {{- include "seleniumGrid.commonLabels" . | nindent 4 }} {{- with .Values.edgeNode.labels }} {{- toYaml . | nindent 4 }} @@ -20,7 +20,7 @@ spec: {{end}} selector: matchLabels: - app: selenium-edge-node + app: {{ template "seleniumGrid.edgeNode.fullname" . }} app.kubernetes.io/instance: {{ .Release.Name }} {{- $podScope := deepCopy . -}} {{- $_ := set $podScope "name" (include "seleniumGrid.edgeNode.fullname" .) -}} diff --git a/charts/selenium-grid/templates/edge-node-scaledjob.yaml b/charts/selenium-grid/templates/edge-node-scaledjob.yaml index a9f235c31..132792c79 100644 --- a/charts/selenium-grid/templates/edge-node-scaledjob.yaml +++ b/charts/selenium-grid/templates/edge-node-scaledjob.yaml @@ -9,8 +9,8 @@ metadata: {{- toYaml . | nindent 4 }} {{- end }} labels: - app: selenium-edge-node - app.kubernetes.io/name: selenium-edge-node + app: {{ template "seleniumGrid.edgeNode.fullname" . }} + app.kubernetes.io/name: {{ template "seleniumGrid.edgeNode.fullname" . }} {{- include "seleniumGrid.commonLabels" . | nindent 4 }} {{- with .Values.edgeNode.labels }} {{- toYaml . | nindent 4 }} diff --git a/charts/selenium-grid/templates/edge-node-service.yaml b/charts/selenium-grid/templates/edge-node-service.yaml index ca253835a..d54dd70a3 100644 --- a/charts/selenium-grid/templates/edge-node-service.yaml +++ b/charts/selenium-grid/templates/edge-node-service.yaml @@ -5,7 +5,7 @@ metadata: name: {{ template "seleniumGrid.edgeNode.fullname" . }} namespace: {{ .Release.Namespace }} labels: - name: selenium-edge-node + name: {{ template "seleniumGrid.edgeNode.fullname" . }} {{- include "seleniumGrid.commonLabels" . | nindent 4 }} {{- with .Values.edgeNode.service.annotations }} annotations: @@ -14,7 +14,7 @@ metadata: spec: type: {{ .Values.edgeNode.service.type }} selector: - app: selenium-edge-node + app: {{ template "seleniumGrid.edgeNode.fullname" . }} app.kubernetes.io/instance: {{ .Release.Name }} {{- if and (eq .Values.edgeNode.service.type "LoadBalancer") (.Values.edgeNode.service.loadBalancerIP) }} loadBalancerIP: {{ .Values.edgeNode.service.loadBalancerIP }} diff --git a/charts/selenium-grid/templates/event-bus-deployment.yaml b/charts/selenium-grid/templates/event-bus-deployment.yaml index 498921e8c..a315cd820 100644 --- a/charts/selenium-grid/templates/event-bus-deployment.yaml +++ b/charts/selenium-grid/templates/event-bus-deployment.yaml @@ -5,8 +5,8 @@ metadata: name: {{ template "seleniumGrid.eventBus.fullname" . }} namespace: {{ .Release.Namespace }} labels: &event_bus_labels - app: selenium-event-bus - app.kubernetes.io/name: selenium-event-bus + app: {{ template "seleniumGrid.eventBus.fullname" . }} + app.kubernetes.io/name: {{ template "seleniumGrid.eventBus.fullname" . }} {{- include "seleniumGrid.commonLabels" . | nindent 4 }} {{- with .Values.customLabels }} {{- toYaml . | nindent 4 }} @@ -15,7 +15,7 @@ spec: replicas: 1 selector: matchLabels: - app: selenium-event-bus + app: {{ template "seleniumGrid.eventBus.fullname" . }} app.kubernetes.io/instance: {{ .Release.Name }} template: metadata: @@ -27,7 +27,7 @@ spec: serviceAccountName: {{ template "seleniumGrid.serviceAccount.fullname" . }} serviceAccount: {{ template "seleniumGrid.serviceAccount.fullname" . }} containers: - - name: selenium-event-bus + - name: {{ template "seleniumGrid.eventBus.fullname" . }} {{- $imageTag := default .Values.global.seleniumGrid.imageTag .Values.components.eventBus.imageTag }} image: {{ printf "%s:%s" .Values.components.eventBus.imageName $imageTag }} imagePullPolicy: {{ .Values.components.eventBus.imagePullPolicy }} diff --git a/charts/selenium-grid/templates/event-bus-service.yaml b/charts/selenium-grid/templates/event-bus-service.yaml index 38ff6cd1e..c3a30bcc0 100644 --- a/charts/selenium-grid/templates/event-bus-service.yaml +++ b/charts/selenium-grid/templates/event-bus-service.yaml @@ -5,7 +5,7 @@ metadata: name: {{ template "seleniumGrid.eventBus.fullname" . }} namespace: {{ .Release.Namespace }} labels: - app: selenium-event-bus + app: {{ template "seleniumGrid.eventBus.fullname" . }} {{- include "seleniumGrid.commonLabels" . | nindent 4 }} {{- with .Values.customLabels }} {{- toYaml . | nindent 4 }} @@ -15,7 +15,7 @@ metadata: {{- end }} spec: selector: - app: selenium-event-bus + app: {{ template "seleniumGrid.eventBus.fullname" . }} app.kubernetes.io/instance: {{ .Release.Name }} type: {{ .Values.components.eventBus.serviceType }} ports: diff --git a/charts/selenium-grid/templates/firefox-node-deployment.yaml b/charts/selenium-grid/templates/firefox-node-deployment.yaml index f5dc6d962..5a1e96b55 100644 --- a/charts/selenium-grid/templates/firefox-node-deployment.yaml +++ b/charts/selenium-grid/templates/firefox-node-deployment.yaml @@ -5,8 +5,8 @@ metadata: name: {{ template "seleniumGrid.firefoxNode.fullname" . }} namespace: {{ .Release.Namespace }} labels: - app: selenium-firefox-node - app.kubernetes.io/name: selenium-firefox-node + app: {{ template "seleniumGrid.firefoxNode.fullname" . }} + app.kubernetes.io/name: {{ template "seleniumGrid.firefoxNode.fullname" . }} {{- include "seleniumGrid.commonLabels" . | nindent 4 }} {{- with .Values.firefoxNode.labels }} {{- toYaml . | nindent 4 }} @@ -20,7 +20,7 @@ spec: {{end}} selector: matchLabels: - app: selenium-firefox-node + app: {{ template "seleniumGrid.firefoxNode.fullname" . }} app.kubernetes.io/instance: {{ .Release.Name }} {{- $podScope := deepCopy . -}} {{- $_ := set $podScope "name" (include "seleniumGrid.firefoxNode.fullname" .) -}} diff --git a/charts/selenium-grid/templates/firefox-node-scaledjob.yaml b/charts/selenium-grid/templates/firefox-node-scaledjob.yaml index 9105bc358..e7992c1fc 100644 --- a/charts/selenium-grid/templates/firefox-node-scaledjob.yaml +++ b/charts/selenium-grid/templates/firefox-node-scaledjob.yaml @@ -9,8 +9,8 @@ metadata: {{- toYaml . | nindent 4 }} {{- end }} labels: - app: selenium-firefox-node - app.kubernetes.io/name: selenium-firefox-node + app: {{ template "seleniumGrid.firefoxNode.fullname" . }} + app.kubernetes.io/name: {{ template "seleniumGrid.firefoxNode.fullname" . }} {{- include "seleniumGrid.commonLabels" . | nindent 4 }} {{- with .Values.firefoxNode.labels }} {{- toYaml . | nindent 4 }} diff --git a/charts/selenium-grid/templates/firefox-node-service.yaml b/charts/selenium-grid/templates/firefox-node-service.yaml index d8cb4c844..43ba40380 100644 --- a/charts/selenium-grid/templates/firefox-node-service.yaml +++ b/charts/selenium-grid/templates/firefox-node-service.yaml @@ -5,7 +5,7 @@ metadata: name: {{ template "seleniumGrid.firefoxNode.fullname" . }} namespace: {{ .Release.Namespace }} labels: - name: selenium-firefox-node + name: {{ template "seleniumGrid.firefoxNode.fullname" . }} {{- include "seleniumGrid.commonLabels" . | nindent 4 }} {{- with .Values.firefoxNode.service.annotations }} annotations: @@ -14,7 +14,7 @@ metadata: spec: type: {{ .Values.firefoxNode.service.type }} selector: - app: selenium-firefox-node + app: {{ template "seleniumGrid.firefoxNode.fullname" . }} app.kubernetes.io/instance: {{ .Release.Name }} {{- if and (eq .Values.firefoxNode.service.type "LoadBalancer") (.Values.firefoxNode.service.loadBalancerIP) }} loadBalancerIP: {{ .Values.firefoxNode.service.loadBalancerIP }} diff --git a/charts/selenium-grid/templates/hub-deployment.yaml b/charts/selenium-grid/templates/hub-deployment.yaml index 6f9488d12..a5ea71ab5 100644 --- a/charts/selenium-grid/templates/hub-deployment.yaml +++ b/charts/selenium-grid/templates/hub-deployment.yaml @@ -5,8 +5,8 @@ metadata: name: {{ template "seleniumGrid.hub.fullname" . }} namespace: {{ .Release.Namespace }} labels: &hub_labels - app: selenium-hub - app.kubernetes.io/name: selenium-hub + app: {{ template "seleniumGrid.hub.fullname" . }} + app.kubernetes.io/name: {{ template "seleniumGrid.hub.fullname" . }} {{- include "seleniumGrid.commonLabels" . | nindent 4 }} {{- with .Values.hub.labels }} {{- toYaml . | nindent 4 }} @@ -18,7 +18,7 @@ spec: replicas: 1 selector: matchLabels: - app: selenium-hub + app: {{ template "seleniumGrid.hub.fullname" . }} app.kubernetes.io/instance: {{ .Release.Name }} template: metadata: @@ -30,7 +30,7 @@ spec: serviceAccountName: {{ template "seleniumGrid.serviceAccount.fullname" . }} serviceAccount: {{ template "seleniumGrid.serviceAccount.fullname" . }} containers: - - name: selenium-hub + - name: {{ template "seleniumGrid.hub.fullname" . }} {{- $imageTag := default .Values.global.seleniumGrid.imageTag .Values.hub.imageTag }} image: {{ printf "%s:%s" .Values.hub.imageName $imageTag }} imagePullPolicy: {{ .Values.hub.imagePullPolicy }} diff --git a/charts/selenium-grid/templates/hub-service.yaml b/charts/selenium-grid/templates/hub-service.yaml index 417e9849f..aa4daa34c 100644 --- a/charts/selenium-grid/templates/hub-service.yaml +++ b/charts/selenium-grid/templates/hub-service.yaml @@ -5,7 +5,7 @@ metadata: name: {{ template "seleniumGrid.hub.fullname" . }} namespace: {{ .Release.Namespace }} labels: - app: selenium-hub + app: {{ template "seleniumGrid.hub.fullname" . }} {{- include "seleniumGrid.commonLabels" . | nindent 4 }} {{- with .Values.customLabels }} {{- toYaml . | nindent 4 }} @@ -15,7 +15,7 @@ metadata: {{- end }} spec: selector: - app: selenium-hub + app: {{ template "seleniumGrid.hub.fullname" . }} app.kubernetes.io/instance: {{ .Release.Name }} type: {{ .Values.hub.serviceType }} {{- if and (eq .Values.hub.serviceType "LoadBalancer") ( .Values.hub.loadBalancerIP ) }} diff --git a/charts/selenium-grid/templates/router-deployment.yaml b/charts/selenium-grid/templates/router-deployment.yaml index 037bcbf39..05ae9a7b9 100644 --- a/charts/selenium-grid/templates/router-deployment.yaml +++ b/charts/selenium-grid/templates/router-deployment.yaml @@ -5,8 +5,8 @@ metadata: name: {{ template "seleniumGrid.router.fullname" . }} namespace: {{ .Release.Namespace }} labels: &router_labels - app: selenium-router - app.kubernetes.io/name: selenium-router + app: {{ template "seleniumGrid.router.fullname" . }} + app.kubernetes.io/name: {{ template "seleniumGrid.router.fullname" . }} {{- include "seleniumGrid.commonLabels" . | nindent 4 }} {{- with .Values.customLabels }} {{- toYaml . | nindent 4 }} @@ -15,7 +15,7 @@ spec: replicas: 1 selector: matchLabels: - app: selenium-router + app: {{ template "seleniumGrid.router.fullname" . }} app.kubernetes.io/instance: {{ .Release.Name }} template: metadata: @@ -27,7 +27,7 @@ spec: serviceAccountName: {{ template "seleniumGrid.serviceAccount.fullname" . }} serviceAccount: {{ template "seleniumGrid.serviceAccount.fullname" . }} containers: - - name: selenium-router + - name: {{ template "seleniumGrid.router.fullname" . }} {{- $imageTag := default .Values.global.seleniumGrid.imageTag .Values.components.router.imageTag }} image: {{ printf "%s:%s" .Values.components.router.imageName $imageTag }} imagePullPolicy: {{ .Values.components.router.imagePullPolicy }} diff --git a/charts/selenium-grid/templates/router-service.yaml b/charts/selenium-grid/templates/router-service.yaml index d586c31fe..9eaff7955 100644 --- a/charts/selenium-grid/templates/router-service.yaml +++ b/charts/selenium-grid/templates/router-service.yaml @@ -5,7 +5,7 @@ metadata: name: {{ template "seleniumGrid.router.fullname" . }} namespace: {{ .Release.Namespace }} labels: - app: selenium-router + app: {{ template "seleniumGrid.router.fullname" . }} {{- include "seleniumGrid.commonLabels" . | nindent 4 }} {{- with .Values.customLabels }} {{- toYaml . | nindent 4 }} @@ -15,7 +15,7 @@ metadata: {{- end }} spec: selector: - app: selenium-router + app: {{ template "seleniumGrid.router.fullname" . }} app.kubernetes.io/instance: {{ .Release.Name }} type: {{ .Values.components.router.serviceType }} {{- if and (eq .Values.components.router.serviceType "LoadBalancer") (.Values.components.router.loadBalancerIP) }} diff --git a/charts/selenium-grid/templates/session-map-deployment.yaml b/charts/selenium-grid/templates/session-map-deployment.yaml index 437c664e2..496089eaf 100644 --- a/charts/selenium-grid/templates/session-map-deployment.yaml +++ b/charts/selenium-grid/templates/session-map-deployment.yaml @@ -5,8 +5,8 @@ metadata: name: {{ template "seleniumGrid.sessionMap.fullname" . }} namespace: {{ .Release.Namespace }} labels: &session_map_labels - app: selenium-session-map - app.kubernetes.io/name: selenium-session-map + app: {{ template "seleniumGrid.sessionMap.fullname" . }} + app.kubernetes.io/name: {{ template "seleniumGrid.sessionMap.fullname" . }} {{- include "seleniumGrid.commonLabels" . | nindent 4 }} {{- with .Values.customLabels }} {{- toYaml . | nindent 4 }} @@ -15,7 +15,7 @@ spec: replicas: 1 selector: matchLabels: - app: selenium-session-map + app: {{ template "seleniumGrid.sessionMap.fullname" . }} app.kubernetes.io/instance: {{ .Release.Name }} template: metadata: @@ -27,7 +27,7 @@ spec: serviceAccountName: {{ template "seleniumGrid.serviceAccount.fullname" . }} serviceAccount: {{ template "seleniumGrid.serviceAccount.fullname" . }} containers: - - name: selenium-session-map + - name: {{ template "seleniumGrid.sessionMap.fullname" . }} {{- $imageTag := default .Values.global.seleniumGrid.imageTag .Values.components.sessionMap.imageTag }} image: {{ printf "%s:%s" .Values.components.sessionMap.imageName $imageTag }} imagePullPolicy: {{ .Values.components.sessionMap.imagePullPolicy }} diff --git a/charts/selenium-grid/templates/session-map-service.yaml b/charts/selenium-grid/templates/session-map-service.yaml index 6df2d9bbf..13dd963b6 100644 --- a/charts/selenium-grid/templates/session-map-service.yaml +++ b/charts/selenium-grid/templates/session-map-service.yaml @@ -5,7 +5,7 @@ metadata: name: {{ template "seleniumGrid.sessionMap.fullname" . }} namespace: {{ .Release.Namespace }} labels: - app: selenium-session-map + app: {{ template "seleniumGrid.sessionMap.fullname" . }} {{- include "seleniumGrid.commonLabels" . | nindent 4 }} {{- with .Values.customLabels }} {{- toYaml . | nindent 4 }} @@ -15,7 +15,7 @@ metadata: {{- end }} spec: selector: - app: selenium-session-map + app: {{ template "seleniumGrid.sessionMap.fullname" . }} app.kubernetes.io/instance: {{ .Release.Name }} type: {{ .Values.components.sessionMap.serviceType }} ports: diff --git a/charts/selenium-grid/templates/session-queuer-deployment.yaml b/charts/selenium-grid/templates/session-queuer-deployment.yaml index 0f26f06e5..28c17b49c 100644 --- a/charts/selenium-grid/templates/session-queuer-deployment.yaml +++ b/charts/selenium-grid/templates/session-queuer-deployment.yaml @@ -5,8 +5,8 @@ metadata: name: {{ template "seleniumGrid.sessionQueue.fullname" . }} namespace: {{ .Release.Namespace }} labels: &session_queue_labels - app: selenium-session-queue - app.kubernetes.io/name: selenium-session-queue + app: {{ template "seleniumGrid.sessionQueue.fullname" . }} + app.kubernetes.io/name: {{ template "seleniumGrid.sessionQueue.fullname" . }} {{- include "seleniumGrid.commonLabels" . | nindent 4 }} {{- with .Values.customLabels }} {{- toYaml . | nindent 4 }} @@ -15,7 +15,7 @@ spec: replicas: 1 selector: matchLabels: - app: selenium-session-queue + app: {{ template "seleniumGrid.sessionQueue.fullname" . }} app.kubernetes.io/instance: {{ .Release.Name }} template: metadata: @@ -27,7 +27,7 @@ spec: serviceAccountName: {{ template "seleniumGrid.serviceAccount.fullname" . }} serviceAccount: {{ template "seleniumGrid.serviceAccount.fullname" . }} containers: - - name: selenium-session-queue + - name: {{ template "seleniumGrid.sessionQueue.fullname" . }} {{- $imageTag := default .Values.global.seleniumGrid.imageTag .Values.components.sessionQueue.imageTag }} image: {{ printf "%s:%s" .Values.components.sessionQueue.imageName $imageTag }} imagePullPolicy: {{ .Values.components.sessionQueue.imagePullPolicy }} diff --git a/charts/selenium-grid/templates/session-queuer-service.yaml b/charts/selenium-grid/templates/session-queuer-service.yaml index be3739ad0..54e535f7b 100644 --- a/charts/selenium-grid/templates/session-queuer-service.yaml +++ b/charts/selenium-grid/templates/session-queuer-service.yaml @@ -5,7 +5,7 @@ metadata: name: {{ template "seleniumGrid.sessionQueue.fullname" . }} namespace: {{ .Release.Namespace }} labels: - app: selenium-session-queue + app: {{ template "seleniumGrid.sessionQueue.fullname" . }} {{- include "seleniumGrid.commonLabels" . | nindent 4 }} {{- with .Values.customLabels }} {{- toYaml . | nindent 4 }} @@ -15,7 +15,7 @@ metadata: {{- end }} spec: selector: - app: selenium-session-queue + app: {{ template "seleniumGrid.sessionQueue.fullname" . }} app.kubernetes.io/instance: {{ .Release.Name }} type: {{ .Values.components.sessionQueue.serviceType }} ports: diff --git a/charts/selenium-grid/templates/video-cm.yaml b/charts/selenium-grid/templates/video-cm.yaml index e3ea227d5..1b49e026e 100644 --- a/charts/selenium-grid/templates/video-cm.yaml +++ b/charts/selenium-grid/templates/video-cm.yaml @@ -81,7 +81,7 @@ data: then upload_destination=${UPLOAD_DESTINATION_PREFIX}${video_file_name} echo "Uploading video to $upload_destination" - echo $video_file $upload_destination > /videos/uploadpipe & + echo $video_file $upload_destination > /videos/uploadpipe fi recording_started="false" elif [[ $recording_started = "true" ]] diff --git a/charts/selenium-grid/values.yaml b/charts/selenium-grid/values.yaml index 15e361958..d92724ddc 100644 --- a/charts/selenium-grid/values.yaml +++ b/charts/selenium-grid/values.yaml @@ -870,8 +870,10 @@ videoRecorder: do if [ "$FILE" = "exit" ] then + echo "$FILE" break else + echo "Uploading $FILE to $DESTINATION" aws s3 cp --no-progress $FILE $DESTINATION fi done diff --git a/tests/chart-test.yaml b/tests/chart-test.yaml new file mode 100644 index 000000000..e54edd7a3 --- /dev/null +++ b/tests/chart-test.yaml @@ -0,0 +1,8 @@ +target-branch: trunk +chart-dirs: + - charts +chart-repos: + - kedacore=https://kedacore.github.io/charts +upgrade: false +helm-extra-args: --timeout 600s +check-version-increment: false From 373c3c3c5c8d75ee5320c58367575767f282b0ef Mon Sep 17 00:00:00 2001 From: Thabelo Ramabulana <106035637+Thab310@users.noreply.github.com> Date: Tue, 14 Nov 2023 15:15:22 +0200 Subject: [PATCH 40/84] corrected typo in selenium grid charts (#2010) corrected typo in selinium grid charts Co-authored-by: Diego Molina --- charts/selenium-grid/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/charts/selenium-grid/values.yaml b/charts/selenium-grid/values.yaml index d92724ddc..325d038de 100644 --- a/charts/selenium-grid/values.yaml +++ b/charts/selenium-grid/values.yaml @@ -347,7 +347,7 @@ autoscaling: enabled: false # Enable autoscaling without automatically installing KEDA enableWithExistingKEDA: false - # Which typ of KEDA scaling to use: job or deployment + # Which type of KEDA scaling to use: job or deployment scalingType: job # Annotations for KEDA resources: ScaledObject and ScaledJob annotations: From b365646a9f214ddc9c315c5176f7847c1ad06a67 Mon Sep 17 00:00:00 2001 From: Matt Colman <33348891+mtcolman@users.noreply.github.com> Date: Tue, 21 Nov 2023 17:47:24 +0000 Subject: [PATCH 41/84] Update Dockerfile - external jar version uplift (#2015) Update Dockerfile Updating external jars to fix vulnerabilities. --- Base/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Base/Dockerfile b/Base/Dockerfile index 14e0feb8a..0e2481ddf 100644 --- a/Base/Dockerfile +++ b/Base/Dockerfile @@ -88,7 +88,7 @@ RUN curl -fLo /tmp/cs https://github.com/coursier/launchers/raw/master/coursier && mkdir -p /external_jars \ && chmod -R 775 /external_jars -RUN /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 +RUN /tmp/cs fetch --classpath --cache /external_jars io.opentelemetry:opentelemetry-exporter-otlp:1.32.0 io.opentelemetry:opentelemetry-exporter-jaeger:1.32.0 io.grpc:grpc-netty:1.59.0 > /external_jars/.classpath.txt RUN chmod 664 /external_jars/.classpath.txt RUN rm -fr /root/.cache/* From ad0a7a6fba5a5f123897d37c3e37e3bd45082b00 Mon Sep 17 00:00:00 2001 From: Diego Molina Date: Wed, 22 Nov 2023 16:31:31 +0100 Subject: [PATCH 42/84] Setting driver and browser path via configuration (#2017) [deploy] --- .github/workflows/build-test.yml | 8 ++++++-- Distributor/start-selenium-grid-distributor.sh | 7 ++++--- EventBus/start-selenium-grid-eventbus.sh | 7 ++++--- Hub/start-selenium-grid-hub.sh | 7 ++++--- NodeBase/generate_config | 11 +++-------- NodeBase/start-selenium-node.sh | 14 +++++++++++--- NodeChrome/Dockerfile | 10 ++++++---- NodeDocker/start-selenium-grid-docker.sh | 7 ++++--- NodeEdge/Dockerfile | 4 +++- NodeFirefox/Dockerfile | 7 ++++--- Router/start-selenium-grid-router.sh | 7 ++++--- SessionQueue/start-selenium-grid-session-queue.sh | 7 ++++--- Sessions/start-selenium-grid-sessions.sh | 7 ++++--- Standalone/generate_config | 11 +++-------- Standalone/start-selenium-standalone.sh | 14 +++++++++++--- StandaloneDocker/start-selenium-grid-docker.sh | 7 ++++--- tests/test.py | 5 ++++- 17 files changed, 83 insertions(+), 57 deletions(-) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index 954ed42f9..4323c521b 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -41,7 +41,11 @@ jobs: - name: Build Docker images run: VERSION=${BRANCH} BUILD_DATE=${BUILD_DATE} make build - name: Test Docker images - run: USE_RANDOM_USER_ID=${USE_RANDOM_USER} VERSION=${BRANCH} BUILD_DATE=${BUILD_DATE} make test + uses: nick-invision/retry@v2.8.3 + with: + timeout_minutes: 20 + max_attempts: 3 + command: | + USE_RANDOM_USER_ID=${USE_RANDOM_USER} VERSION=${BRANCH} BUILD_DATE=${BUILD_DATE} make test env: USE_RANDOM_USER: ${{ matrix.use-random-user }} - diff --git a/Distributor/start-selenium-grid-distributor.sh b/Distributor/start-selenium-grid-distributor.sh index 0a653e81e..81d498cea 100755 --- a/Distributor/start-selenium-grid-distributor.sh +++ b/Distributor/start-selenium-grid-distributor.sh @@ -54,10 +54,11 @@ if [ ! -z "$SE_DISTRIBUTOR_PORT" ]; then PORT_CONFIG="--port ${SE_DISTRIBUTOR_PORT}" fi -EXTRA_LIBS="/opt/selenium/selenium-http-jdk-client.jar" +EXTRA_LIBS="" if [ ! -z "$SE_ENABLE_TRACING" ]; then EXTERNAL_JARS=$(> "$FILENAME" SE_NODE_BROWSER_NAME=$(cat /opt/selenium/browser_name) -if [[ "${SE_NODE_BROWSER_NAME}" == "chrome" ]]; then - SE_NODE_BROWSER_VERSION=$(short_version $(google-chrome --version | awk '{print $3}')) -elif [[ "${SE_NODE_BROWSER_NAME}" == "firefox" ]]; then - SE_NODE_BROWSER_VERSION=$(short_version $(firefox --version | awk '{print $3}')) -elif [[ "${SE_NODE_BROWSER_NAME}" == "MicrosoftEdge" ]]; then - SE_NODE_BROWSER_VERSION=$(short_version $(microsoft-edge --version | awk '{print $3}')) -fi +SE_NODE_BROWSER_VERSION=$(short_version $(cat /opt/selenium/browser_version)) +SE__BROWSER_BINARY_LOCATION=$(cat /opt/selenium/browser_binary_location) if [[ -z "$SE_NODE_STEREOTYPE" ]]; then -SE_NODE_STEREOTYPE="{\"browserName\": \"${SE_NODE_BROWSER_NAME}\", \"browserVersion\": \"${SE_NODE_BROWSER_VERSION}\", \"platformName\": \"Linux\"}" +SE_NODE_STEREOTYPE="{\"browserName\": \"${SE_NODE_BROWSER_NAME}\", \"browserVersion\": \"${SE_NODE_BROWSER_VERSION}\", \"platformName\": \"Linux\", ${SE__BROWSER_BINARY_LOCATION}}" else SE_NODE_STEREOTYPE="$SE_NODE_STEREOTYPE" fi diff --git a/NodeBase/start-selenium-node.sh b/NodeBase/start-selenium-node.sh index fc5dc2f55..6a50d9069 100755 --- a/NodeBase/start-selenium-node.sh +++ b/NodeBase/start-selenium-node.sh @@ -36,10 +36,11 @@ if [ "$GENERATE_CONFIG" = true ]; then /opt/bin/generate_config fi -EXTRA_LIBS="/opt/selenium/selenium-http-jdk-client.jar" +EXTRA_LIBS="" if [ ! -z "$SE_ENABLE_TRACING" ]; then EXTERNAL_JARS=$( /opt/selenium/browser_name +RUN google-chrome --version | awk '{print $3}' > /opt/selenium/browser_version +RUN echo "\"goog:chromeOptions\": {\"binary\": \"/usr/bin/google-chrome\"}" > /opt/selenium/browser_binary_location diff --git a/NodeDocker/start-selenium-grid-docker.sh b/NodeDocker/start-selenium-grid-docker.sh index 760c34a85..b13474c6b 100755 --- a/NodeDocker/start-selenium-grid-docker.sh +++ b/NodeDocker/start-selenium-grid-docker.sh @@ -29,10 +29,11 @@ if [ ! -z "$SE_NODE_GRID_URL" ]; then SE_GRID_URL="--grid-url ${SE_NODE_GRID_URL}" fi -EXTRA_LIBS="/opt/selenium/selenium-http-jdk-client.jar" +EXTRA_LIBS="" if [ ! -z "$SE_ENABLE_TRACING" ]; then EXTERNAL_JARS=$( /opt/selenium/browser_name +RUN microsoft-edge --version | awk '{print $3}' > /opt/selenium/browser_version +RUN echo "\"ms:edgeOptions\": {\"binary\": \"/usr/bin/microsoft-edge\"}" > /opt/selenium/browser_binary_location diff --git a/NodeFirefox/Dockerfile b/NodeFirefox/Dockerfile index 698fe6338..48d83bdb8 100644 --- a/NodeFirefox/Dockerfile +++ b/NodeFirefox/Dockerfile @@ -12,11 +12,10 @@ USER root 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 \ + && apt-get -qqy --no-install-recommends install 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 \ && rm -rf /opt/firefox \ && tar -C /opt -xjf /tmp/firefox.tar.bz2 \ && rm /tmp/firefox.tar.bz2 \ @@ -40,6 +39,8 @@ RUN GK_VERSION=$(if [ ${GECKODRIVER_VERSION:-latest} = "latest" ]; then echo "0. USER 1200 #============================================ -# Dumping Browser name and version for config +# Dumping Browser information for config #============================================ RUN echo "firefox" > /opt/selenium/browser_name +RUN firefox --version | awk '{print $3}' > /opt/selenium/browser_version +RUN echo "\"moz:firefoxOptions\": {\"binary\": \"/usr/bin/firefox\"}" > /opt/selenium/browser_binary_location diff --git a/Router/start-selenium-grid-router.sh b/Router/start-selenium-grid-router.sh index b99f675e5..b64c83d0e 100755 --- a/Router/start-selenium-grid-router.sh +++ b/Router/start-selenium-grid-router.sh @@ -54,10 +54,11 @@ if [ ! -z "$SE_ROUTER_PORT" ]; then PORT_CONFIG="--port ${SE_ROUTER_PORT}" fi -EXTRA_LIBS="/opt/selenium/selenium-http-jdk-client.jar" +EXTRA_LIBS="" if [ ! -z "$SE_ENABLE_TRACING" ]; then EXTERNAL_JARS=$(> "$FILENAME" SE_NODE_BROWSER_NAME=$(cat /opt/selenium/browser_name) -if [[ "${SE_NODE_BROWSER_NAME}" == "chrome" ]]; then - SE_NODE_BROWSER_VERSION=$(short_version $(google-chrome --version | awk '{print $3}')) -elif [[ "${SE_NODE_BROWSER_NAME}" == "firefox" ]]; then - SE_NODE_BROWSER_VERSION=$(short_version $(firefox --version | awk '{print $3}')) -elif [[ "${SE_NODE_BROWSER_NAME}" == "MicrosoftEdge" ]]; then - SE_NODE_BROWSER_VERSION=$(short_version $(microsoft-edge --version | awk '{print $3}')) -fi +SE_NODE_BROWSER_VERSION=$(short_version $(cat /opt/selenium/browser_version)) +SE__BROWSER_BINARY_LOCATION=$(cat /opt/selenium/browser_binary_location) if [[ -z "$SE_NODE_STEREOTYPE" ]]; then -SE_NODE_STEREOTYPE="{\"browserName\": \"${SE_NODE_BROWSER_NAME}\", \"browserVersion\": \"${SE_NODE_BROWSER_VERSION}\", \"platformName\": \"Linux\"}" +SE_NODE_STEREOTYPE="{\"browserName\": \"${SE_NODE_BROWSER_NAME}\", \"browserVersion\": \"${SE_NODE_BROWSER_VERSION}\", \"platformName\": \"Linux\", ${SE__BROWSER_BINARY_LOCATION}}" else SE_NODE_STEREOTYPE="$SE_NODE_STEREOTYPE" fi diff --git a/Standalone/start-selenium-standalone.sh b/Standalone/start-selenium-standalone.sh index 7af58b6e8..f1bf641a8 100755 --- a/Standalone/start-selenium-standalone.sh +++ b/Standalone/start-selenium-standalone.sh @@ -17,10 +17,11 @@ echo "Selenium Grid Standalone configuration: " cat /opt/selenium/config.toml echo "Starting Selenium Grid Standalone..." -EXTRA_LIBS="/opt/selenium/selenium-http-jdk-client.jar" +EXTRA_LIBS="" if [ ! -z "$SE_ENABLE_TRACING" ]; then EXTERNAL_JARS=$( %s" % random_user_id) + if 'firefox' in image.lower(): + logger.info("Firefox has issues when running with a random user ID. Skipping until it gets fixed.") + exit(0) standalone = 'standalone' in image.lower() From 9bc083a990b1ce696dbad3843c7e11907dc68e55 Mon Sep 17 00:00:00 2001 From: Selenium CI Bot Date: Wed, 22 Nov 2023 15:43:51 +0000 Subject: [PATCH 43/84] Update tag in docs and files [skip ci] --- .github/ISSUE_TEMPLATE/bug_report.yml | 2 +- NodeDocker/config.toml | 8 +- README.md | 134 ++++++++++++------------ charts/selenium-grid/CHANGELOG.md | 2 +- charts/selenium-grid/README.md | 12 +-- charts/selenium-grid/values.yaml | 24 ++--- docker-compose-v2-tracing.yml | 8 +- docker-compose-v2.yml | 8 +- docker-compose-v3-basicauth.yml | 8 +- docker-compose-v3-dev.yml | 8 +- docker-compose-v3-dynamic-grid.yml | 4 +- docker-compose-v3-full-grid-dev.yml | 16 +-- docker-compose-v3-full-grid-swarm.yml | 8 +- docker-compose-v3-full-grid-tracing.yml | 16 +-- docker-compose-v3-full-grid.yml | 16 +-- docker-compose-v3-swarm.yml | 8 +- docker-compose-v3-tracing.yml | 8 +- docker-compose-v3-video.yml | 14 +-- docker-compose-v3.yml | 8 +- 19 files changed, 156 insertions(+), 156 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 3018d5991..f276a5ec8 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -55,6 +55,6 @@ body: attributes: label: Docker Selenium version (tag) description: What version of Docker Selenium are you using? - placeholder: 4.15.0-20231110? Please use the full tag, avoid "latest" + placeholder: 4.15.0-20231122? Please use the full tag, avoid "latest" validations: required: true \ No newline at end of file diff --git a/NodeDocker/config.toml b/NodeDocker/config.toml index 99a73aa16..a8dd1dc6a 100644 --- a/NodeDocker/config.toml +++ b/NodeDocker/config.toml @@ -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.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"}' + "selenium/standalone-firefox:4.15.0-20231122", '{"browserName": "firefox", "platformName": "linux"}', + "selenium/standalone-chrome:4.15.0-20231122", '{"browserName": "chrome", "platformName": "linux"}', + "selenium/standalone-edge:4.15.0-20231122", '{"browserName": "MicrosoftEdge", "platformName": "linux"}' ] # URL for connecting to the docker daemon @@ -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-6.0-20231110" +video-image = "selenium/video:ffmpeg-6.0-20231122" # Uncomment the following section if you are running the node on a separate VM # Fill out the placeholders with appropriate values diff --git a/README.md b/README.md index c947605f3..af30d662d 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ The project is made possible by volunteer contributors who have put in thousands and made the source code freely available under the [Apache License 2.0](LICENSE.md). These Docker images come with a handful of tags to simplify its usage, have a look at them in one of -our [releases](https://github.com/SeleniumHQ/docker-selenium/releases/tag/4.15.0-20231110). +our [releases](https://github.com/SeleniumHQ/docker-selenium/releases/tag/4.15.0-20231122). To get notifications of new releases, add yourself as a "Releases only" watcher. @@ -64,7 +64,7 @@ Talk to us at https://www.selenium.dev/support/ 1. Start a Docker container with Firefox ```bash -docker run -d -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-firefox:4.15.0-20231110 +docker run -d -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-firefox:4.15.0-20231122 ``` 2. Point your WebDriver tests to http://localhost:4444 @@ -251,17 +251,17 @@ For more information on the Dev and Beta channel container images, see the blog ![Firefox](https://raw.githubusercontent.com/alrra/browser-logos/main/src/firefox/firefox_24x24.png) Firefox ```bash -docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-firefox:4.15.0-20231110 +docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-firefox:4.15.0-20231122 ``` ![Chrome](https://raw.githubusercontent.com/alrra/browser-logos/main/src/chrome/chrome_24x24.png) Chrome ```bash -docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-chrome:4.15.0-20231110 +docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-chrome:4.15.0-20231122 ``` ![Edge](https://raw.githubusercontent.com/alrra/browser-logos/main/src/edge/edge_24x24.png) Edge ```bash -docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-edge:4.15.0-20231110 +docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-edge:4.15.0-20231122 ``` _Note: Only one Standalone container can run on port_ `4444` _at the same time._ @@ -280,44 +280,44 @@ A Docker [network](https://docs.docker.com/engine/reference/commandline/network_ ```bash $ docker network create grid -$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.15.0-20231110 +$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.15.0-20231122 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-chrome:4.15.0-20231110 + selenium/node-chrome:4.15.0-20231122 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-edge:4.15.0-20231110 + selenium/node-edge:4.15.0-20231122 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-firefox:4.15.0-20231110 + selenium/node-firefox:4.15.0-20231122 ``` ##### Windows PowerShell ```powershell $ docker network create grid -$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.15.0-20231110 +$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.15.0-20231122 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub ` --shm-size="2g" ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` - selenium/node-chrome:4.15.0-20231110 + selenium/node-chrome:4.15.0-20231122 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub ` --shm-size="2g" ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` - selenium/node-edge:4.15.0-20231110 + selenium/node-edge:4.15.0-20231122 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub ` --shm-size="2g" ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` - selenium/node-firefox:4.15.0-20231110 + selenium/node-firefox:4.15.0-20231122 ``` When you are done using the Grid, and the containers have exited, the network can be removed with the following command: @@ -334,7 +334,7 @@ configured to expose different ports. ##### Hub - Machine/VM 1 ```bash -$ docker run -d -p 4442-4444:4442-4444 --name selenium-hub selenium/hub:4.15.0-20231110 +$ docker run -d -p 4442-4444:4442-4444 --name selenium-hub selenium/hub:4.15.0-20231122 ``` ##### Node Chrome - Machine/VM 2 @@ -348,7 +348,7 @@ $ docker run -d -p 5555:5555 \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ -e SE_NODE_HOST= \ - selenium/node-chrome:4.15.0-20231110 + selenium/node-chrome:4.15.0-20231122 ``` ###### Windows PowerShell @@ -360,7 +360,7 @@ $ docker run -d -p 5555:5555 ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` -e SE_NODE_HOST= ` - selenium/node-chrome:4.15.0-20231110 + selenium/node-chrome:4.15.0-20231122 ``` @@ -375,7 +375,7 @@ $ docker run -d -p 5555:5555 \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ -e SE_NODE_HOST= \ - selenium/node-edge:4.15.0-20231110 + selenium/node-edge:4.15.0-20231122 ``` ###### Windows PowerShell @@ -387,7 +387,7 @@ $ docker run -d -p 5555:5555 ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` -e SE_NODE_HOST= ` - selenium/node-edge:4.15.0-20231110 + selenium/node-edge:4.15.0-20231122 ``` ##### Node Firefox - Machine/VM 4 @@ -401,7 +401,7 @@ $ docker run -d -p 5555:5555 \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ -e SE_NODE_HOST= \ - selenium/node-firefox:4.15.0-20231110 + selenium/node-firefox:4.15.0-20231122 ``` ###### Windows PowerShell @@ -413,7 +413,7 @@ $ docker run -d -p 5555:5555 ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` -e SE_NODE_HOST= ` - selenium/node-firefox:4.15.0-20231110 + selenium/node-firefox:4.15.0-20231122 ``` ##### Node Chrome - Machine/VM 4 @@ -428,7 +428,7 @@ $ docker run -d -p 5556:5556 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ -e SE_NODE_HOST= \ -e SE_NODE_PORT=5556 \ - selenium/node-chrome:4.15.0-20231110 + selenium/node-chrome:4.15.0-20231122 ``` ###### Windows PowerShell @@ -441,7 +441,7 @@ $ docker run -d -p 5556:5556 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` -e SE_NODE_HOST= ` -e SE_NODE_PORT=5556 ` - selenium/node-chrome:4.15.0-20231110 + selenium/node-chrome:4.15.0-20231122 ``` #### Docker Compose @@ -473,7 +473,7 @@ ___ ## Video recording -Tests execution can be recorded by using the `selenium/video:ffmpeg-6.0-20231110` +Tests execution can be recorded by using the `selenium/video:ffmpeg-6.0-20231122` Docker image. One container is needed per each container where a browser is running. This means if you are running 5 Nodes/Standalone containers, you will need 5 video containers, the mapping is 1-1. @@ -499,8 +499,8 @@ This example shows how to start the containers manually: ``` bash $ docker network create grid -$ docker run -d -p 4444:4444 -p 6900:5900 --net grid --name selenium --shm-size="2g" selenium/standalone-chrome:4.15.0-20231110 -$ docker run -d --net grid --name video -v /tmp/videos:/videos selenium/video:ffmpeg-6.0-20231110 +$ docker run -d -p 4444:4444 -p 6900:5900 --net grid --name selenium --shm-size="2g" selenium/standalone-chrome:4.15.0-20231122 +$ docker run -d --net grid --name video -v /tmp/videos:/videos selenium/video:ffmpeg-6.0-20231122 # Run your tests $ docker stop video && docker rm video $ docker stop selenium && docker rm selenium @@ -532,9 +532,9 @@ You can save this file locally and name it, for example, `config.toml`. # 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.15.0-20231110", '{"browserName": "firefox"}', - "selenium/standalone-chrome:4.15.0-20231110", '{"browserName": "chrome"}', - "selenium/standalone-edge:4.15.0-20231110", '{"browserName": "MicrosoftEdge"}' + "selenium/standalone-firefox:4.15.0-20231122", '{"browserName": "firefox"}', + "selenium/standalone-chrome:4.15.0-20231122", '{"browserName": "chrome"}', + "selenium/standalone-edge:4.15.0-20231122", '{"browserName": "MicrosoftEdge"}' ] # URL for connecting to the docker daemon @@ -547,7 +547,7 @@ configs = [ # Linux: varies from machine to machine, please mount /var/run/docker.sock. If this does not work, please create an issue. url = "http://127.0.0.1:2375" # Docker image used for video recording -video-image = "selenium/video:ffmpeg-6.0-20231110" +video-image = "selenium/video:ffmpeg-6.0-20231122" # Uncomment the following section if you are running the node on a separate VM # Fill out the placeholders with appropriate values @@ -566,28 +566,28 @@ virtual machines. ```bash $ docker network create grid -$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.15.0-20231110 +$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.15.0-20231122 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ -v ${PWD}/config.toml:/opt/bin/config.toml \ -v ${PWD}/assets:/opt/selenium/assets \ -v /var/run/docker.sock:/var/run/docker.sock \ - selenium/node-docker:4.15.0-20231110 + selenium/node-docker:4.15.0-20231122 ``` #### Windows PowerShell ```powershell $ docker network create grid -$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.15.0-20231110 +$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.15.0-20231122 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` -v ${PWD}/config.toml:/opt/bin/config.toml ` -v ${PWD}/assets:/opt/selenium/assets ` -v /var/run/docker.sock:/var/run/docker.sock ` - selenium/node-docker:4.15.0-20231110 + selenium/node-docker:4.15.0-20231122 ``` To have the assets saved on your host, please mount your host path to `/opt/selenium/assets`. @@ -608,7 +608,7 @@ docker run --rm --name selenium-docker -p 4444:4444 \ -v ${PWD}/config.toml:/opt/bin/config.toml \ -v ${PWD}/assets:/opt/selenium/assets \ -v /var/run/docker.sock:/var/run/docker.sock \ - selenium/standalone-docker:4.15.0-20231110 + selenium/standalone-docker:4.15.0-20231122 ``` #### Windows PowerShell @@ -618,7 +618,7 @@ docker run --rm --name selenium-docker -p 4444:4444 ` -v ${PWD}/config.toml:/opt/bin/config.toml ` -v ${PWD}/assets:/opt/selenium/assets ` -v /var/run/docker.sock:/var/run/docker.sock ` - selenium/standalone-docker:4.15.0-20231110 + selenium/standalone-docker:4.15.0-20231122 ``` ### Using Dynamic Grid in different machines/VMs @@ -626,7 +626,7 @@ docker run --rm --name selenium-docker -p 4444:4444 ` #### Hub - Machine/VM 1 ```bash -$ docker run -d -p 4442-4444:4442-4444 --name selenium-hub selenium/hub:4.15.0-20231110 +$ docker run -d -p 4442-4444:4442-4444 --name selenium-hub selenium/hub:4.15.0-20231122 ``` #### Node Chrome - Machine/VM 2 @@ -641,7 +641,7 @@ $ docker run -d -p 5555:5555 \ -v ${PWD}/config.toml:/opt/bin/config.toml \ -v ${PWD}/assets:/opt/selenium/assets \ -v /var/run/docker.sock:/var/run/docker.sock \ - selenium/node-docker:4.15.0-20231110 + selenium/node-docker:4.15.0-20231122 ``` #### Windows PowerShell @@ -654,7 +654,7 @@ $ docker run -d -p 5555:5555 ` -v ${PWD}/config.toml:/opt/bin/config.toml ` -v ${PWD}/assets:/opt/selenium/assets ` -v /var/run/docker.sock:/var/run/docker.sock ` - selenium/node-docker:4.15.0-20231110 + selenium/node-docker:4.15.0-20231122 ``` Complete the `[server]` section in the `config.toml` file. @@ -663,9 +663,9 @@ Complete the `[server]` section in the `config.toml` file. # 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.15.0-20231110", "{\"browserName\": \"firefox\"}", - "selenium/standalone-chrome:4.15.0-20231110", "{\"browserName\": \"chrome\"}", - "selenium/standalone-edge:4.15.0-20231110", "{\"browserName\": \"MicrosoftEdge\"}" + "selenium/standalone-firefox:4.15.0-20231122", "{\"browserName\": \"firefox\"}", + "selenium/standalone-chrome:4.15.0-20231122", "{\"browserName\": \"chrome\"}", + "selenium/standalone-edge:4.15.0-20231122", "{\"browserName\": \"MicrosoftEdge\"}" ] # URL for connecting to the docker daemon @@ -678,7 +678,7 @@ configs = [ # Linux: varies from machine to machine, please mount /var/run/docker.sock. If this does not work, please create an issue. url = "http://127.0.0.1:2375" # Docker image used for video recording -video-image = "selenium/video:ffmpeg-6.0-20231110" +video-image = "selenium/video:ffmpeg-6.0-20231122" # Uncomment the following section if you are running the node on a separate VM # Fill out the placeholders with appropriate values @@ -712,7 +712,7 @@ docker run --rm --name selenium-docker -p 4444:4444 \ -v ${PWD}/config.toml:/opt/bin/config.toml \ -v ${PWD}/assets:/opt/selenium/assets \ -v /var/run/docker.sock:/var/run/docker.sock \ - selenium/standalone-docker:4.15.0-20231110 + selenium/standalone-docker:4.15.0-20231122 ``` #### Windows PowerShell @@ -723,7 +723,7 @@ docker run --rm --name selenium-docker -p 4444:4444 ` -v ${PWD}/config.toml:/opt/bin/config.toml ` -v ${PWD}/assets:/opt/selenium/assets ` -v /var/run/docker.sock:/var/run/docker.sock ` - selenium/standalone-docker:4.15.0-20231110 + selenium/standalone-docker:4.15.0-20231122 ``` @@ -761,7 +761,7 @@ ___ You can pass `SE_OPTS` variable with additional command line parameters for starting a hub or a node. ``` bash -$ docker run -d -p 4444:4444 -e SE_OPTS="--log-level FINE" --name selenium-hub selenium/hub:4.15.0-20231110 +$ docker run -d -p 4444:4444 -e SE_OPTS="--log-level FINE" --name selenium-hub selenium/hub:4.15.0-20231122 ``` ### SE_JAVA_OPTS Java Environment Options @@ -769,7 +769,7 @@ $ docker run -d -p 4444:4444 -e SE_OPTS="--log-level FINE" --name selenium-hub s You can pass `SE_JAVA_OPTS` environment variable to the Java process. ``` bash -$ docker run -d -p 4444:4444 -e SE_JAVA_OPTS=-Xmx512m --name selenium-hub selenium/hub:4.15.0-20231110 +$ docker run -d -p 4444:4444 -e SE_JAVA_OPTS=-Xmx512m --name selenium-hub selenium/hub:4.15.0-20231122 ``` ### Node configuration options @@ -791,7 +791,7 @@ $ docker run -d \ -e SE_EVENT_BUS_HOST= \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 -e SE_NODE_STEREOTYPE="{\"browserName\":\"${SE_NODE_BROWSER_NAME}\",\"browserVersion\":\"${SE_NODE_BROWSER_VERSION}\",\"platformName\": \"Linux\"}" \ - --shm-size="2g" selenium/node-chrome:4.15.0-20231110 + --shm-size="2g" selenium/node-chrome:4.15.0-20231122 ``` ### Setting Sub Path @@ -810,7 +810,7 @@ These settings can be adjusted by specifying `SE_SCREEN_WIDTH`, `SE_SCREEN_HEIGH environmental variables when starting the container. ``` bash -docker run -d -e SE_SCREEN_WIDTH=1366 -e SE_SCREEN_HEIGHT=768 -e SE_SCREEN_DEPTH=24 -e SE_SCREEN_DPI=74 selenium/standalone-firefox:4.15.0-20231110 +docker run -d -e SE_SCREEN_WIDTH=1366 -e SE_SCREEN_HEIGHT=768 -e SE_SCREEN_DEPTH=24 -e SE_SCREEN_DPI=74 selenium/standalone-firefox:4.15.0-20231122 ``` ### Grid Url and Session Timeout @@ -860,7 +860,7 @@ To avoid starting the server you can set the `START_XVFB` environment variable t ``` bash $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ - -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 -e START_XVFB=false --shm-size="2g" selenium/node-chrome:4.15.0-20231110 + -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 -e START_XVFB=false --shm-size="2g" selenium/node-chrome:4.15.0-20231122 ``` For more information, see this GitHub [issue](https://github.com/SeleniumHQ/docker-selenium/issues/567). @@ -873,7 +873,7 @@ pod and then scale a new one after N sessions. Set the environment variable `SE_ a value higher than zero to enable this behaviour. ``` bash -$ docker run -e SE_DRAIN_AFTER_SESSION_COUNT=5 --shm-size="2g" selenium/standalone-firefox:4.15.0-20231110 +$ docker run -e SE_DRAIN_AFTER_SESSION_COUNT=5 --shm-size="2g" selenium/standalone-firefox:4.15.0-20231122 ``` With the previous command, the Standalone container will shut down after 5 sessions have been executed. @@ -965,22 +965,22 @@ $ docker network create grid $ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub \ --health-cmd='/opt/bin/check-grid.sh --host 0.0.0.0 --port 4444' \ --health-interval=15s --health-timeout=30s --health-retries=5 \ - selenium/hub:4.15.0-20231110 + selenium/hub:4.15.0-20231122 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-chrome:4.15.0-20231110 + selenium/node-chrome:4.15.0-20231122 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-edge:4.15.0-20231110 + selenium/node-edge:4.15.0-20231122 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-firefox:4.15.0-20231110 + selenium/node-firefox:4.15.0-20231122 ``` **Note:** The `\` line delimiter won't work on Windows-based terminals, try either `^` or a backtick. @@ -1113,7 +1113,7 @@ RUN mkdir -p -m755 /seluser/.pki/nssdb \ && chown -R 1200:1201 /seluser # Start from Selenium image and add relevant files from build image -FROM selenium/node-chrome:4.15.0-20231110 +FROM selenium/node-chrome:4.15.0-20231122 USER root COPY --from=build /seluser/ /home/seluser/ USER seluser @@ -1128,7 +1128,7 @@ RUN mkdir -p "/distribution" "/certs" && \ echo '{ "policies": { "Certificates": { "Install": ["/opt/firefox-latest/YOUR_CA.pem"] }} }' >"/distribution/policies.json" # Start from Selenium image and add relevant files from build image -FROM selenium/node-firefox:4.15.0-20231110 +FROM selenium/node-firefox:4.15.0-20231122 USER root COPY --from=build /certs /opt/firefox-latest COPY --from=build /distribution /opt/firefox-latest/distribution @@ -1151,9 +1151,9 @@ You can override it with the `SE_VNC_PORT` environment variable in case you want Here is an example with the standalone images, the same concept applies to the node images. ``` bash -$ docker run -d -p 4444:4444 -p 5900:5900 --shm-size="2g" selenium/standalone-chrome:4.15.0-20231110 -$ docker run -d -p 4445:4444 -p 5901:5900 --shm-size="2g" selenium/standalone-edge:4.15.0-20231110 -$ docker run -d -p 4446:4444 -p 5902:5900 --shm-size="2g" selenium/standalone-firefox:4.15.0-20231110 +$ docker run -d -p 4444:4444 -p 5900:5900 --shm-size="2g" selenium/standalone-chrome:4.15.0-20231122 +$ docker run -d -p 4445:4444 -p 5901:5900 --shm-size="2g" selenium/standalone-edge:4.15.0-20231122 +$ docker run -d -p 4446:4444 -p 5902:5900 --shm-size="2g" selenium/standalone-firefox:4.15.0-20231122 ``` Then, you would use in your VNC client: @@ -1179,9 +1179,9 @@ You can also override it with the `SE_NO_VNC_PORT` environment variable in case Here is an example with the standalone images, the same concept applies to the node images. ``` bash -$ docker run -d -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-chrome:4.15.0-20231110 -$ docker run -d -p 4445:4444 -p 7901:7900 --shm-size="2g" selenium/standalone-edge:4.15.0-20231110 -$ docker run -d -p 4446:4444 -p 7902:7900 --shm-size="2g" selenium/standalone-firefox:4.15.0-20231110 +$ docker run -d -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-chrome:4.15.0-20231122 +$ docker run -d -p 4445:4444 -p 7901:7900 --shm-size="2g" selenium/standalone-edge:4.15.0-20231122 +$ docker run -d -p 4446:4444 -p 7902:7900 --shm-size="2g" selenium/standalone-firefox:4.15.0-20231122 ``` Then, you would use in your browser: @@ -1206,28 +1206,28 @@ In order to enable tracing in the Selenium Grid container, the following command ```bash docker network create grid docker run -d -p 16686:16686 -p 14250:14250 --net grid --name jaeger jaegertracing/all-in-one:1.17 -docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.15.0-20231110 +docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.15.0-20231122 docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_ENABLE_TRACING=true \ -e JAVA_OPTS="-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-hub" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-chrome:4.15.0-20231110 + selenium/node-chrome:4.15.0-20231122 docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_ENABLE_TRACING=true \ -e JAVA_OPTS="-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-edge" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-edge:4.15.0-20231110 + selenium/node-edge:4.15.0-20231122 docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_ENABLE_TRACING=true \ -e JAVA_OPTS="-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-firefox" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-firefox:4.15.0-20231110 + selenium/node-firefox:4.15.0-20231122 ``` You can also refer to the below docker-compose yaml files to be able to start a simple grid (or) a dynamic grid. @@ -1287,7 +1287,7 @@ container in the following way: ```bash docker run -d -p 4444:4444 --shm-size="2g" \ -v /home/ubuntu/files:/home/seluser/files \ - selenium/standalone-chrome:4.15.0-20231110 + selenium/standalone-chrome:4.15.0-20231122 ``` That will mount the host `/home/ubuntu/files` directory diff --git a/charts/selenium-grid/CHANGELOG.md b/charts/selenium-grid/CHANGELOG.md index 3174bd3b1..fda597389 100644 --- a/charts/selenium-grid/CHANGELOG.md +++ b/charts/selenium-grid/CHANGELOG.md @@ -17,7 +17,7 @@ All notable changes to this helm chart will be documented in this file. - feat: Adding port to nodes service (#1196) :: Viet Nguyen Duc ### Changed -- Update image tag to 4.15.0-20231110 +- Update image tag to 4.15.0-20231122 ## :heavy_check_mark: 0.23.0 diff --git a/charts/selenium-grid/README.md b/charts/selenium-grid/README.md index 8ef7fd933..c912d206e 100644 --- a/charts/selenium-grid/README.md +++ b/charts/selenium-grid/README.md @@ -85,8 +85,8 @@ For now, global configuration supported is: | Parameter | Default | Description | |---------------------------------------|-------------------|---------------------------------------| -| `global.seleniumGrid.imageTag` | `4.15.0-20231110` | Image tag for all selenium components | -| `global.seleniumGrid.nodesImageTag` | `4.15.0-20231110` | Image tag for browser's nodes | +| `global.seleniumGrid.imageTag` | `4.15.0-20231122` | Image tag for all selenium components | +| `global.seleniumGrid.nodesImageTag` | `4.15.0-20231122` | Image tag for browser's nodes | | `global.seleniumGrid.imagePullSecret` | `""` | Pull secret to be used for all images | | `global.seleniumGrid.imagePullSecret` | `""` | Pull secret to be used for all images | | `global.seleniumGrid.affinity` | `{}` | Affinity assigned globally | @@ -128,7 +128,7 @@ This table contains the configuration parameters of the chart and their default | `chromeNode.deploymentEnabled` | `true` | Enable creation of Deployment for chrome nodes | | `chromeNode.replicas` | `1` | Number of chrome nodes. Disabled if autoscaling is enabled. | | `chromeNode.imageName` | `selenium/node-chrome` | Image of chrome nodes | -| `chromeNode.imageTag` | `4.15.0-20231110` | Image of chrome nodes | +| `chromeNode.imageTag` | `4.15.0-20231122` | Image of chrome nodes | | `chromeNode.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | | `chromeNode.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | | `chromeNode.ports` | `[5555]` | Port list to enable on container | @@ -167,7 +167,7 @@ This table contains the configuration parameters of the chart and their default | `firefoxNode.deploymentEnabled` | `true` | Enable creation of Deployment for firefox nodes | | `firefoxNode.replicas` | `1` | Number of firefox nodes. Disabled if autoscaling is enabled. | | `firefoxNode.imageName` | `selenium/node-firefox` | Image of firefox nodes | -| `firefoxNode.imageTag` | `4.15.0-20231110` | Image of firefox nodes | +| `firefoxNode.imageTag` | `4.15.0-20231122` | Image of firefox nodes | | `firefoxNode.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | | `firefoxNode.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | | `firefoxNode.ports` | `[5555]` | Port list to enable on container | @@ -206,7 +206,7 @@ This table contains the configuration parameters of the chart and their default | `edgeNode.deploymentEnabled` | `true` | Enable creation of Deployment for edge nodes | | `edgeNode.replicas` | `1` | Number of edge nodes. Disabled if autoscaling is enabled. | | `edgeNode.imageName` | `selenium/node-edge` | Image of edge nodes | -| `edgeNode.imageTag` | `4.15.0-20231110` | Image of edge nodes | +| `edgeNode.imageTag` | `4.15.0-20231122` | Image of edge nodes | | `edgeNode.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | | `edgeNode.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | | `edgeNode.ports` | `[5555]` | Port list to enable on container | @@ -243,7 +243,7 @@ This table contains the configuration parameters of the chart and their default | `edgeNode.scaledObjectOptions` | See `values.yaml` | Override the global `autoscaling.scaledObjectOptions` with specific scaled options for edge nodes | | `videoRecorder.enabled` | `false` | Enable video recorder for node | | `videoRecorder.imageName` | `selenium/video` | Selenium video recoder image name | -| `videoRecorder.imageTag` | `ffmpeg-6.0-20231110` | Image tag of video recorder | +| `videoRecorder.imageTag` | `ffmpeg-6.0-20231122` | Image tag of video recorder | | `videoRecorder.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | | `videoRecorder.uploader` | `false` | Name of the uploader to use. The value `false` is used to disable uploader. Supported default `s3` | | `videoRecorder.uploadDestinationPrefix` | `false` | Destination URL for uploading video file. The value `false` is used to disable the uploading | diff --git a/charts/selenium-grid/values.yaml b/charts/selenium-grid/values.yaml index 325d038de..469dfe306 100644 --- a/charts/selenium-grid/values.yaml +++ b/charts/selenium-grid/values.yaml @@ -1,9 +1,9 @@ global: seleniumGrid: # Image tag for all selenium components - imageTag: 4.15.0-20231110 + imageTag: 4.15.0-20231122 # Image tag for browser's nodes - nodesImageTag: 4.15.0-20231110 + nodesImageTag: 4.15.0-20231122 # Pull secret for all components, can be overridden individually imagePullSecret: "" @@ -66,7 +66,7 @@ components: # Router image name imageName: selenium/router # Router image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.15.0-20231110 + # imageTag: 4.15.0-20231122 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent @@ -117,7 +117,7 @@ components: # Distributor image name imageName: selenium/distributor # Distributor image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.15.0-20231110 + # imageTag: 4.15.0-20231122 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent @@ -148,7 +148,7 @@ components: # Event Bus image name imageName: selenium/event-bus # Event Bus image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.15.0-20231110 + # imageTag: 4.15.0-20231122 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent @@ -183,7 +183,7 @@ components: # Session Map image name imageName: selenium/sessions # Session Map image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.15.0-20231110 + # imageTag: 4.15.0-20231122 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent @@ -213,7 +213,7 @@ components: # Session Queue image name imageName: selenium/session-queue # Session Queue image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.15.0-20231110 + # imageTag: 4.15.0-20231122 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent @@ -263,7 +263,7 @@ hub: # Selenium Hub image name imageName: selenium/hub # Selenium Hub image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.15.0-20231110 + # imageTag: 4.15.0-20231122 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent # Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) @@ -403,7 +403,7 @@ chromeNode: # Image of chrome nodes imageName: selenium/node-chrome # Image of chrome nodes (this overwrites global.seleniumGrid.nodesImageTag) - # imageTag: 4.15.0-20231110 + # imageTag: 4.15.0-20231122 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent # Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) @@ -535,7 +535,7 @@ firefoxNode: # Image of firefox nodes imageName: selenium/node-firefox # Image of firefox nodes (this overwrites global.seleniumGrid.nodesImageTag) - # imageTag: 4.15.0-20231110 + # imageTag: 4.15.0-20231122 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent # Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) @@ -664,7 +664,7 @@ edgeNode: # Image of edge nodes imageName: selenium/node-edge # Image of edge nodes (this overwrites global.seleniumGrid.nodesImageTag) - # imageTag: 4.15.0-20231110 + # imageTag: 4.15.0-20231122 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent # Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) @@ -782,7 +782,7 @@ videoRecorder: # Image of video recorder imageName: selenium/video # Image of video recorder - imageTag: ffmpeg-6.0-20231110 + imageTag: ffmpeg-6.0-20231122 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent # Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) diff --git a/docker-compose-v2-tracing.yml b/docker-compose-v2-tracing.yml index a47865695..53eedb26f 100644 --- a/docker-compose-v2-tracing.yml +++ b/docker-compose-v2-tracing.yml @@ -9,7 +9,7 @@ services: - "16686:16686" - "14250:14250" chrome: - image: selenium/node-chrome:4.15.0-20231110 + image: selenium/node-chrome:4.15.0-20231122 shm_size: 2gb depends_on: - selenium-hub @@ -23,7 +23,7 @@ services: - "6900:5900" edge: - image: selenium/node-edge:4.15.0-20231110 + image: selenium/node-edge:4.15.0-20231122 shm_size: 2gb depends_on: - selenium-hub @@ -37,7 +37,7 @@ services: - "6901:5900" firefox: - image: selenium/node-firefox:4.15.0-20231110 + image: selenium/node-firefox:4.15.0-20231122 shm_size: 2gb depends_on: - selenium-hub @@ -51,7 +51,7 @@ services: - "6902:5900" selenium-hub: - image: selenium/hub:4.15.0-20231110 + image: selenium/hub:4.15.0-20231122 ports: - "4442:4442" - "4443:4443" diff --git a/docker-compose-v2.yml b/docker-compose-v2.yml index ca18aa427..259b5253c 100644 --- a/docker-compose-v2.yml +++ b/docker-compose-v2.yml @@ -4,7 +4,7 @@ version: '2' services: chrome: - image: selenium/node-chrome:4.15.0-20231110 + image: selenium/node-chrome:4.15.0-20231122 shm_size: 2gb depends_on: - selenium-hub @@ -16,7 +16,7 @@ services: - "6900:5900" edge: - image: selenium/node-edge:4.15.0-20231110 + image: selenium/node-edge:4.15.0-20231122 shm_size: 2gb depends_on: - selenium-hub @@ -28,7 +28,7 @@ services: - "6901:5900" firefox: - image: selenium/node-firefox:4.15.0-20231110 + image: selenium/node-firefox:4.15.0-20231122 shm_size: 2gb depends_on: - selenium-hub @@ -40,7 +40,7 @@ services: - "6902:5900" selenium-hub: - image: selenium/hub:4.15.0-20231110 + image: selenium/hub:4.15.0-20231122 ports: - "4442:4442" - "4443:4443" diff --git a/docker-compose-v3-basicauth.yml b/docker-compose-v3-basicauth.yml index c5894143b..da1413143 100644 --- a/docker-compose-v3-basicauth.yml +++ b/docker-compose-v3-basicauth.yml @@ -4,7 +4,7 @@ version: "3" services: chrome: - image: selenium/node-chrome:4.15.0-20231110 + image: selenium/node-chrome:4.15.0-20231122 shm_size: 2gb depends_on: - selenium-hub @@ -14,7 +14,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.15.0-20231110 + image: selenium/node-edge:4.15.0-20231122 shm_size: 2gb depends_on: - selenium-hub @@ -24,7 +24,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.15.0-20231110 + image: selenium/node-firefox:4.15.0-20231122 shm_size: 2gb depends_on: - selenium-hub @@ -34,7 +34,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-hub: - image: selenium/hub:4.15.0-20231110 + image: selenium/hub:4.15.0-20231122 container_name: selenium-hub ports: - "4442:4442" diff --git a/docker-compose-v3-dev.yml b/docker-compose-v3-dev.yml index 0d1705d29..61a41298a 100644 --- a/docker-compose-v3-dev.yml +++ b/docker-compose-v3-dev.yml @@ -4,7 +4,7 @@ version: "3" services: chrome: - image: selenium/node-chrome:4.15.0-20231110 + image: selenium/node-chrome:4.15.0-20231122 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar @@ -16,7 +16,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.15.0-20231110 + image: selenium/node-edge:4.15.0-20231122 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar @@ -28,7 +28,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.15.0-20231110 + image: selenium/node-firefox:4.15.0-20231122 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar @@ -40,7 +40,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-hub: - image: selenium/hub:4.15.0-20231110 + image: selenium/hub:4.15.0-20231122 container_name: selenium-hub volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar diff --git a/docker-compose-v3-dynamic-grid.yml b/docker-compose-v3-dynamic-grid.yml index 1405e44a4..2b80682ca 100644 --- a/docker-compose-v3-dynamic-grid.yml +++ b/docker-compose-v3-dynamic-grid.yml @@ -4,7 +4,7 @@ version: "3" services: node-docker: - image: selenium/node-docker:4.15.0-20231110 + image: selenium/node-docker:4.15.0-20231122 volumes: - ./assets:/opt/selenium/assets - ./NodeDocker/config.toml:/opt/bin/config.toml @@ -17,7 +17,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-hub: - image: selenium/hub:4.15.0-20231110 + image: selenium/hub:4.15.0-20231122 container_name: selenium-hub ports: - "4442:4442" diff --git a/docker-compose-v3-full-grid-dev.yml b/docker-compose-v3-full-grid-dev.yml index 26a49b696..2d3c6c258 100644 --- a/docker-compose-v3-full-grid-dev.yml +++ b/docker-compose-v3-full-grid-dev.yml @@ -4,7 +4,7 @@ version: "3" services: selenium-event-bus: - image: selenium/event-bus:4.15.0-20231110 + image: selenium/event-bus:4.15.0-20231122 volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar container_name: selenium-event-bus @@ -14,7 +14,7 @@ services: - "5557:5557" selenium-sessions: - image: selenium/sessions:4.15.0-20231110 + image: selenium/sessions:4.15.0-20231122 volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar container_name: selenium-sessions @@ -28,7 +28,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-session-queue: - image: selenium/session-queue:4.15.0-20231110 + image: selenium/session-queue:4.15.0-20231122 volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar container_name: selenium-session-queue @@ -36,7 +36,7 @@ services: - "5559:5559" selenium-distributor: - image: selenium/distributor:4.15.0-20231110 + image: selenium/distributor:4.15.0-20231122 volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar container_name: selenium-distributor @@ -56,7 +56,7 @@ services: - SE_SESSION_QUEUE_PORT=5559 selenium-router: - image: selenium/router:4.15.0-20231110 + image: selenium/router:4.15.0-20231122 volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar container_name: selenium-router @@ -75,7 +75,7 @@ services: - SE_SESSION_QUEUE_PORT=5559 chrome: - image: selenium/node-chrome:4.15.0-20231110 + image: selenium/node-chrome:4.15.0-20231122 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar @@ -87,7 +87,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.15.0-20231110 + image: selenium/node-edge:4.15.0-20231122 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar @@ -99,7 +99,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.15.0-20231110 + image: selenium/node-firefox:4.15.0-20231122 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar diff --git a/docker-compose-v3-full-grid-swarm.yml b/docker-compose-v3-full-grid-swarm.yml index d99d05789..9d35c94bb 100644 --- a/docker-compose-v3-full-grid-swarm.yml +++ b/docker-compose-v3-full-grid-swarm.yml @@ -7,7 +7,7 @@ version: '3.7' services: chrome: - image: selenium/node-chrome:4.15.0-20231110 + image: selenium/node-chrome:4.15.0-20231122 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -18,7 +18,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' edge: - image: selenium/node-edge:4.15.0-20231110 + image: selenium/node-edge:4.15.0-20231122 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -29,7 +29,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' firefox: - image: selenium/node-firefox:4.15.0-20231110 + image: selenium/node-firefox:4.15.0-20231122 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -40,7 +40,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' selenium-hub: - image: selenium/hub:4.15.0-20231110 + image: selenium/hub:4.15.0-20231122 ports: - "4442:4442" - "4443:4443" diff --git a/docker-compose-v3-full-grid-tracing.yml b/docker-compose-v3-full-grid-tracing.yml index a5be01740..62fa03692 100644 --- a/docker-compose-v3-full-grid-tracing.yml +++ b/docker-compose-v3-full-grid-tracing.yml @@ -9,7 +9,7 @@ services: - "16686:16686" - "14250:14250" selenium-event-bus: - image: selenium/event-bus:4.15.0-20231110 + image: selenium/event-bus:4.15.0-20231122 container_name: selenium-event-bus ports: - "4442:4442" @@ -21,7 +21,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-event-bus selenium-sessions: - image: selenium/sessions:4.15.0-20231110 + image: selenium/sessions:4.15.0-20231122 container_name: selenium-sessions ports: - "5556:5556" @@ -34,7 +34,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-sessions selenium-session-queue: - image: selenium/session-queue:4.15.0-20231110 + image: selenium/session-queue:4.15.0-20231122 container_name: selenium-session-queue ports: - "5559:5559" @@ -42,7 +42,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-session-queue selenium-distributor: - image: selenium/distributor:4.15.0-20231110 + image: selenium/distributor:4.15.0-20231122 container_name: selenium-distributor ports: - "5553:5553" @@ -61,7 +61,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-distributor selenium-router: - image: selenium/router:4.15.0-20231110 + image: selenium/router:4.15.0-20231122 container_name: selenium-router ports: - "4444:4444" @@ -79,7 +79,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-router chrome: - image: selenium/node-chrome:4.15.0-20231110 + image: selenium/node-chrome:4.15.0-20231122 shm_size: 2gb depends_on: - selenium-event-bus @@ -90,7 +90,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-chrome edge: - image: selenium/node-edge:4.15.0-20231110 + image: selenium/node-edge:4.15.0-20231122 shm_size: 2gb depends_on: - selenium-event-bus @@ -101,7 +101,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-edge firefox: - image: selenium/node-firefox:4.15.0-20231110 + image: selenium/node-firefox:4.15.0-20231122 shm_size: 2gb depends_on: - selenium-event-bus diff --git a/docker-compose-v3-full-grid.yml b/docker-compose-v3-full-grid.yml index 432747bfd..78a962995 100644 --- a/docker-compose-v3-full-grid.yml +++ b/docker-compose-v3-full-grid.yml @@ -4,7 +4,7 @@ version: "3" services: selenium-event-bus: - image: selenium/event-bus:4.15.0-20231110 + image: selenium/event-bus:4.15.0-20231122 container_name: selenium-event-bus ports: - "4442:4442" @@ -12,7 +12,7 @@ services: - "5557:5557" selenium-sessions: - image: selenium/sessions:4.15.0-20231110 + image: selenium/sessions:4.15.0-20231122 container_name: selenium-sessions ports: - "5556:5556" @@ -24,13 +24,13 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-session-queue: - image: selenium/session-queue:4.15.0-20231110 + image: selenium/session-queue:4.15.0-20231122 container_name: selenium-session-queue ports: - "5559:5559" selenium-distributor: - image: selenium/distributor:4.15.0-20231110 + image: selenium/distributor:4.15.0-20231122 container_name: selenium-distributor ports: - "5553:5553" @@ -48,7 +48,7 @@ services: - SE_SESSION_QUEUE_PORT=5559 selenium-router: - image: selenium/router:4.15.0-20231110 + image: selenium/router:4.15.0-20231122 container_name: selenium-router ports: - "4444:4444" @@ -65,7 +65,7 @@ services: - SE_SESSION_QUEUE_PORT=5559 chrome: - image: selenium/node-chrome:4.15.0-20231110 + image: selenium/node-chrome:4.15.0-20231122 shm_size: 2gb depends_on: - selenium-event-bus @@ -75,7 +75,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.15.0-20231110 + image: selenium/node-edge:4.15.0-20231122 shm_size: 2gb depends_on: - selenium-event-bus @@ -85,7 +85,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.15.0-20231110 + image: selenium/node-firefox:4.15.0-20231122 shm_size: 2gb depends_on: - selenium-event-bus diff --git a/docker-compose-v3-swarm.yml b/docker-compose-v3-swarm.yml index d99d05789..9d35c94bb 100644 --- a/docker-compose-v3-swarm.yml +++ b/docker-compose-v3-swarm.yml @@ -7,7 +7,7 @@ version: '3.7' services: chrome: - image: selenium/node-chrome:4.15.0-20231110 + image: selenium/node-chrome:4.15.0-20231122 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -18,7 +18,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' edge: - image: selenium/node-edge:4.15.0-20231110 + image: selenium/node-edge:4.15.0-20231122 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -29,7 +29,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' firefox: - image: selenium/node-firefox:4.15.0-20231110 + image: selenium/node-firefox:4.15.0-20231122 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -40,7 +40,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' selenium-hub: - image: selenium/hub:4.15.0-20231110 + image: selenium/hub:4.15.0-20231122 ports: - "4442:4442" - "4443:4443" diff --git a/docker-compose-v3-tracing.yml b/docker-compose-v3-tracing.yml index 4b54490f6..30e5535ac 100644 --- a/docker-compose-v3-tracing.yml +++ b/docker-compose-v3-tracing.yml @@ -9,7 +9,7 @@ services: - "16686:16686" - "14250:14250" chrome: - image: selenium/node-chrome:4.15.0-20231110 + image: selenium/node-chrome:4.15.0-20231122 shm_size: 2gb depends_on: - selenium-hub @@ -21,7 +21,7 @@ services: - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-chrome edge: - image: selenium/node-edge:4.15.0-20231110 + image: selenium/node-edge:4.15.0-20231122 shm_size: 2gb depends_on: - selenium-hub @@ -33,7 +33,7 @@ services: - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-edge firefox: - image: selenium/node-firefox:4.15.0-20231110 + image: selenium/node-firefox:4.15.0-20231122 shm_size: 2gb depends_on: - selenium-hub @@ -45,7 +45,7 @@ services: - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-firefox selenium-hub: - image: selenium/hub:4.15.0-20231110 + image: selenium/hub:4.15.0-20231122 container_name: selenium-hub ports: - "4442:4442" diff --git a/docker-compose-v3-video.yml b/docker-compose-v3-video.yml index 5e4b5dd0a..7ae22d7a3 100644 --- a/docker-compose-v3-video.yml +++ b/docker-compose-v3-video.yml @@ -4,7 +4,7 @@ version: "3" services: chrome: - image: selenium/node-chrome:4.15.0-20231110 + image: selenium/node-chrome:4.15.0-20231122 shm_size: 2gb depends_on: - selenium-hub @@ -14,7 +14,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.15.0-20231110 + image: selenium/node-edge:4.15.0-20231122 shm_size: 2gb depends_on: - selenium-hub @@ -24,7 +24,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.15.0-20231110 + image: selenium/node-firefox:4.15.0-20231122 shm_size: 2gb depends_on: - selenium-hub @@ -34,7 +34,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 chrome_video: - image: selenium/video:ffmpeg-6.0-20231110 + image: selenium/video:ffmpeg-6.0-20231122 volumes: - /tmp/videos:/videos depends_on: @@ -44,7 +44,7 @@ services: - FILE_NAME=chrome_video.mp4 edge_video: - image: selenium/video:ffmpeg-6.0-20231110 + image: selenium/video:ffmpeg-6.0-20231122 volumes: - /tmp/videos:/videos depends_on: @@ -54,7 +54,7 @@ services: - FILE_NAME=edge_video.mp4 firefox_video: - image: selenium/video:ffmpeg-6.0-20231110 + image: selenium/video:ffmpeg-6.0-20231122 volumes: - /tmp/videos:/videos depends_on: @@ -64,7 +64,7 @@ services: - FILE_NAME=firefox_video.mp4 selenium-hub: - image: selenium/hub:4.15.0-20231110 + image: selenium/hub:4.15.0-20231122 container_name: selenium-hub ports: - "4442:4442" diff --git a/docker-compose-v3.yml b/docker-compose-v3.yml index 83464f7d3..d5641f2cb 100644 --- a/docker-compose-v3.yml +++ b/docker-compose-v3.yml @@ -4,7 +4,7 @@ version: "3" services: chrome: - image: selenium/node-chrome:4.15.0-20231110 + image: selenium/node-chrome:4.15.0-20231122 shm_size: 2gb depends_on: - selenium-hub @@ -14,7 +14,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.15.0-20231110 + image: selenium/node-edge:4.15.0-20231122 shm_size: 2gb depends_on: - selenium-hub @@ -24,7 +24,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.15.0-20231110 + image: selenium/node-firefox:4.15.0-20231122 shm_size: 2gb depends_on: - selenium-hub @@ -34,7 +34,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-hub: - image: selenium/hub:4.15.0-20231110 + image: selenium/hub:4.15.0-20231122 container_name: selenium-hub ports: - "4442:4442" From a14d80e707f3e20939e1a1f81480286ff2ffc5dc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 22 Nov 2023 16:49:56 +0100 Subject: [PATCH 44/84] Bump dessant/lock-threads from 5.0.0 to 5.0.1 (#2019) Bumps [dessant/lock-threads](https://github.com/dessant/lock-threads) from 5.0.0 to 5.0.1. - [Release notes](https://github.com/dessant/lock-threads/releases) - [Changelog](https://github.com/dessant/lock-threads/blob/main/CHANGELOG.md) - [Commits](https://github.com/dessant/lock-threads/compare/d42e5f49803f3c4e14ffee0378e31481265dda22...1bf7ec25051fe7c00bdd17e6a7cf3d7bfb7dc771) --- updated-dependencies: - dependency-name: dessant/lock-threads dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Diego Molina --- .github/workflows/lock.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/lock.yml b/.github/workflows/lock.yml index 493bb0dea..8a7b86c64 100644 --- a/.github/workflows/lock.yml +++ b/.github/workflows/lock.yml @@ -14,7 +14,7 @@ jobs: action: runs-on: ubuntu-latest steps: - - uses: dessant/lock-threads@d42e5f49803f3c4e14ffee0378e31481265dda22 # v3 + - uses: dessant/lock-threads@1bf7ec25051fe7c00bdd17e6a7cf3d7bfb7dc771 # v3 with: process-only: 'issues' issue-lock-inactive-days: '30' From 0ca1bb153baa7a12299759d994366f41ca773171 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 23 Nov 2023 11:00:24 +0100 Subject: [PATCH 45/84] Bump nick-invision/retry from 2.8.3 to 2.9.0 (#2024) Bumps [nick-invision/retry](https://github.com/nick-invision/retry) from 2.8.3 to 2.9.0. - [Release notes](https://github.com/nick-invision/retry/releases) - [Commits](https://github.com/nick-invision/retry/compare/v2.8.3...v2.9.0) --- updated-dependencies: - dependency-name: nick-invision/retry dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/build-test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index 4323c521b..177aa6d04 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -41,7 +41,7 @@ jobs: - name: Build Docker images run: VERSION=${BRANCH} BUILD_DATE=${BUILD_DATE} make build - name: Test Docker images - uses: nick-invision/retry@v2.8.3 + uses: nick-invision/retry@v2.9.0 with: timeout_minutes: 20 max_attempts: 3 From 82603e902fcd7bb820cabd17540d9c7bf28682f9 Mon Sep 17 00:00:00 2001 From: Viet Nguyen Duc Date: Mon, 27 Nov 2023 16:53:18 +0700 Subject: [PATCH 46/84] Update NodeChrome support latest version from GoogleChromeLabs (#2018) feat: NodeChrome support latest version from GoogleChromeLabs Signed-off-by: Viet Nguyen Duc --- NodeChrome/Dockerfile | 92 +++++++++++++------ NodeEdge/Dockerfile | 8 +- NodeFirefox/Dockerfile | 10 ++ Standalone/start-selenium-standalone.sh | 2 +- .../ci/customIngressPath-values.yaml | 52 +++++++++++ tests/test.py | 3 - 6 files changed, 132 insertions(+), 35 deletions(-) create mode 100644 charts/selenium-grid/ci/customIngressPath-values.yaml diff --git a/NodeChrome/Dockerfile b/NodeChrome/Dockerfile index 63eb00bd3..b93ae223e 100644 --- a/NodeChrome/Dockerfile +++ b/NodeChrome/Dockerfile @@ -6,22 +6,51 @@ LABEL authors=${AUTHORS} USER root +RUN apt-get update -qqy \ + && apt-get -qqy --no-install-recommends install libatk1.0-0 libatk-bridge2.0-0 \ + libxkbcommon-x11-0 libgbm1 libpango-1.0-0 \ + && rm -rf /var/lib/apt/lists/* /var/cache/apt/* + #============================================ # Google Chrome #============================================ # can specify versions by CHROME_VERSION; -# e.g. google-chrome-stable -# google-chrome-beta -# google-chrome-unstable -#============================================ -ARG CHROME_VERSION="google-chrome-stable" -RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - \ - && echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list \ - && apt-get update -qqy \ - && apt-get -qqy install \ - ${CHROME_VERSION:-google-chrome-stable} \ - && rm /etc/apt/sources.list.d/google-chrome.list \ - && rm -rf /var/lib/apt/lists/* /var/cache/apt/* +# Support these inputs (following https://github.com/GoogleChromeLabs/chrome-for-testing): +# LATEST_RELEASE_STABLE +# LATEST_RELEASE_BETA +# LATEST_RELEASE_DEV +# LATEST_RELEASE_CANARY +# 121 (specific major version) +# 119.0.6045.105 (specific full version) +#============================================ +ARG DOWNLOAD_HOST="https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing" +ARG VERSION_HOST="https://googlechromelabs.github.io/chrome-for-testing" +ARG CHROME_VERSION="LATEST_RELEASE_STABLE" +ARG CHROME_PLATFORM="linux64" +RUN if [ ! -z "$CHROME_VERSION" ]; \ + then GET_VERSION_URL=$VERSION_HOST/$CHROME_VERSION \ + && if [ $(curl -I -s -o /dev/null -w "%{http_code}" $GET_VERSION_URL) -eq 200 ]; \ + then echo "Getting Chrome version from "$GET_VERSION_URL \ + && CHROME_VERSION=$(wget -qO- $VERSION_HOST"/"$CHROME_VERSION | sed 's/\r$//') ; \ + fi \ + else echo "Getting Chrome version "$CHROME_DRIVER_VERSION ; \ + fi \ + && CHROME_URL=$DOWNLOAD_HOST/$CHROME_VERSION/$CHROME_PLATFORM/chrome-$CHROME_PLATFORM.zip \ + && if [ $(curl -I -s -o /dev/null -w "%{http_code}" $CHROME_URL) -ne 200 ]; \ + then CHROME_MAJOR_VERSION=$(echo $CHROME_VERSION | sed -E "s/([0-9]+).*/\1/") \ + && echo "Getting Chrome latest major version from "$VERSION_HOST"/LATEST_RELEASE_"$CHROME_MAJOR_VERSION \ + && CHROME_VERSION=$(wget -qO- $VERSION_HOST/LATEST_RELEASE_${CHROME_MAJOR_VERSION} | sed 's/\r$//') \ + && CHROME_URL=$DOWNLOAD_HOST/$CHROME_VERSION/$CHROME_PLATFORM/chrome-$CHROME_PLATFORM.zip ; \ + fi \ + && echo "Using Chrome from: "$CHROME_URL \ + && wget --no-verbose -O /tmp/chrome-$CHROME_PLATFORM.zip $CHROME_URL \ + && rm -rf /opt/google/chrome \ + && unzip /tmp/chrome-$CHROME_PLATFORM.zip -d /opt/google \ + && mv /opt/google/chrome-$CHROME_PLATFORM /opt/google/chrome \ + && rm /tmp/chrome-$CHROME_PLATFORM.zip \ + && mv /opt/google/chrome/chrome-wrapper /opt/google/chrome/google-chrome \ + && chmod +x /opt/google/chrome/google-chrome \ + && ln -fs /opt/google/chrome/google-chrome /usr/bin/google-chrome #================================= # Chrome Launch Script Wrapper @@ -29,35 +58,44 @@ RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key COPY wrap_chrome_binary /opt/bin/wrap_chrome_binary RUN /opt/bin/wrap_chrome_binary -USER 1200 - #============================================ # Chrome webdriver #============================================ # can specify versions by CHROME_DRIVER_VERSION -# Latest released version will be used by default +# Latest released version (following browser version) will be used by default #============================================ -ARG CHROME_DRIVER_VERSION +ARG CHROME_DRIVER_VERSION=$CHROME_VERSION RUN if [ ! -z "$CHROME_DRIVER_VERSION" ]; \ - then CHROME_DRIVER_URL=https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/$CHROME_DRIVER_VERSION/linux64/chromedriver-linux64.zip ; \ - else echo "Geting ChromeDriver latest version from https://googlechromelabs.github.io/chrome-for-testing/LATEST_RELEASE_" \ - && CHROME_MAJOR_VERSION=$(google-chrome --version | sed -E "s/.* ([0-9]+)(\.[0-9]+){3}.*/\1/") \ - && CHROME_DRIVER_VERSION=$(wget -qO- https://googlechromelabs.github.io/chrome-for-testing/LATEST_RELEASE_${CHROME_MAJOR_VERSION} | sed 's/\r$//') \ - && CHROME_DRIVER_URL=https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/$CHROME_DRIVER_VERSION/linux64/chromedriver-linux64.zip ; \ + then GET_VERSION_URL=$VERSION_HOST/$CHROME_DRIVER_VERSION \ + && if [ $(curl -I -s -o /dev/null -w "%{http_code}" $GET_VERSION_URL) -eq 200 ]; \ + then echo "Getting ChromeDriver version from "$GET_VERSION_URL \ + && CHROME_DRIVER_VERSION=$(wget -qO- $VERSION_HOST"/"$CHROME_DRIVER_VERSION | sed 's/\r$//') ; \ + fi \ + else CHROME_DRIVER_VERSION=$(google-chrome --version | sed -E "s/.* ([0-9]+(\.[0-9]+)+).*/\1/") \ + && echo "Getting ChromeDriver same as browser version "$CHROME_DRIVER_VERSION ; \ + fi \ + && CHROME_DRIVER_URL=$DOWNLOAD_HOST/$CHROME_DRIVER_VERSION/$CHROME_PLATFORM/chromedriver-$CHROME_PLATFORM.zip \ + && if [ $(curl -I -s -o /dev/null -w "%{http_code}" $CHROME_DRIVER_URL) -ne 200 ]; \ + then CHROME_MAJOR_VERSION=$(echo $CHROME_DRIVER_VERSION | sed -E "s/([0-9]+).*/\1/") \ + && echo "Getting ChromeDriver latest major version from "$VERSION_HOST"/LATEST_RELEASE_"$CHROME_MAJOR_VERSION \ + && CHROME_DRIVER_VERSION=$(wget -qO- $VERSION_HOST/LATEST_RELEASE_${CHROME_MAJOR_VERSION} | sed 's/\r$//') \ + && CHROME_DRIVER_URL=$DOWNLOAD_HOST/$CHROME_DRIVER_VERSION/$CHROME_PLATFORM/chromedriver-$CHROME_PLATFORM.zip ; \ fi \ && echo "Using ChromeDriver from: "$CHROME_DRIVER_URL \ && echo "Using ChromeDriver version: "$CHROME_DRIVER_VERSION \ - && wget --no-verbose -O /tmp/chromedriver_linux64.zip $CHROME_DRIVER_URL \ + && wget --no-verbose -O /tmp/chromedriver_$CHROME_PLATFORM.zip $CHROME_DRIVER_URL \ && rm -rf /opt/selenium/chromedriver \ - && unzip /tmp/chromedriver_linux64.zip -d /opt/selenium \ - && rm /tmp/chromedriver_linux64.zip \ - && mv /opt/selenium/chromedriver-linux64/chromedriver /opt/selenium/chromedriver-$CHROME_DRIVER_VERSION \ + && unzip /tmp/chromedriver_$CHROME_PLATFORM.zip -d /opt/selenium \ + && rm /tmp/chromedriver_$CHROME_PLATFORM.zip \ + && mv /opt/selenium/chromedriver-$CHROME_PLATFORM/chromedriver /opt/selenium/chromedriver-$CHROME_DRIVER_VERSION \ && chmod 755 /opt/selenium/chromedriver-$CHROME_DRIVER_VERSION \ - && sudo ln -fs /opt/selenium/chromedriver-$CHROME_DRIVER_VERSION /usr/bin/chromedriver + && ln -fs /opt/selenium/chromedriver-$CHROME_DRIVER_VERSION /usr/bin/chromedriver + +USER 1200 #============================================ # Dumping Browser information for config #============================================ RUN echo "chrome" > /opt/selenium/browser_name -RUN google-chrome --version | awk '{print $3}' > /opt/selenium/browser_version +RUN google-chrome --version | awk '{print $5}' > /opt/selenium/browser_version RUN echo "\"goog:chromeOptions\": {\"binary\": \"/usr/bin/google-chrome\"}" > /opt/selenium/browser_binary_location diff --git a/NodeEdge/Dockerfile b/NodeEdge/Dockerfile index 307244dec..7f26504ba 100644 --- a/NodeEdge/Dockerfile +++ b/NodeEdge/Dockerfile @@ -13,7 +13,7 @@ USER root # e.g. microsoft-edge-beta=88.0.692.0-1 #============================================ ARG EDGE_VERSION="microsoft-edge-stable" -RUN wget -q -O - https://packages.microsoft.com/keys/microsoft.asc | apt-key add - \ +RUN wget -q -O - https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor | tee /etc/apt/trusted.gpg.d/microsoft.gpg >/dev/null \ && echo "deb https://packages.microsoft.com/repos/edge stable main" >> /etc/apt/sources.list.d/microsoft-edge.list \ && apt-get update -qqy \ && apt-get -qqy install ${EDGE_VERSION} \ @@ -26,8 +26,6 @@ RUN wget -q -O - https://packages.microsoft.com/keys/microsoft.asc | apt-key add COPY wrap_edge_binary /opt/bin/wrap_edge_binary RUN /opt/bin/wrap_edge_binary -USER 1200 - #============================================ # Edge webdriver #============================================ @@ -46,7 +44,9 @@ RUN if [ -z "$EDGE_DRIVER_VERSION" ]; \ && rm /tmp/msedgedriver_linux64.zip \ && mv /opt/selenium/msedgedriver /opt/selenium/msedgedriver-$EDGE_DRIVER_VERSION \ && chmod 755 /opt/selenium/msedgedriver-$EDGE_DRIVER_VERSION \ - && sudo ln -fs /opt/selenium/msedgedriver-$EDGE_DRIVER_VERSION /usr/bin/msedgedriver + && ln -fs /opt/selenium/msedgedriver-$EDGE_DRIVER_VERSION /usr/bin/msedgedriver + +USER 1200 #============================================ # Dumping Browser information for config diff --git a/NodeFirefox/Dockerfile b/NodeFirefox/Dockerfile index 48d83bdb8..e79f641be 100644 --- a/NodeFirefox/Dockerfile +++ b/NodeFirefox/Dockerfile @@ -36,8 +36,18 @@ RUN GK_VERSION=$(if [ ${GECKODRIVER_VERSION:-latest} = "latest" ]; then echo "0. && chmod 755 /opt/geckodriver-$GK_VERSION \ && ln -fs /opt/geckodriver-$GK_VERSION /usr/bin/geckodriver +# Workaround for issue launch Firefox Webdriver "Failed to read marionette port" +RUN mkdir -p /home/seluser/.cache /home/seluser/.mozilla /.cache \ + && chmod 777 /home/seluser/.cache /home/seluser/.mozilla /.cache + USER 1200 +RUN if ! whoami &> /dev/null; then \ + if [ -w /tmp/passwd ]; then \ + echo "${USER_NAME:-default}:x:$(id -u):0:${USER_NAME:-default} user:/home/seluser:/tmp:/bin/bash" >> /tmp/passwd; \ + fi \ +fi + #============================================ # Dumping Browser information for config #============================================ diff --git a/Standalone/start-selenium-standalone.sh b/Standalone/start-selenium-standalone.sh index f1bf641a8..195bd1be7 100755 --- a/Standalone/start-selenium-standalone.sh +++ b/Standalone/start-selenium-standalone.sh @@ -42,4 +42,4 @@ java ${JAVA_OPTS:-$SE_JAVA_OPTS} \ --bind-host ${SE_BIND_HOST} \ --config /opt/selenium/config.toml \ ${SUB_PATH_CONFIG} \ - ${SE_OPTS} \ No newline at end of file + ${SE_OPTS} diff --git a/charts/selenium-grid/ci/customIngressPath-values.yaml b/charts/selenium-grid/ci/customIngressPath-values.yaml new file mode 100644 index 000000000..e7812bc4a --- /dev/null +++ b/charts/selenium-grid/ci/customIngressPath-values.yaml @@ -0,0 +1,52 @@ +ingress: + annotations: + nginx.ingress.kubernetes.io/use-regex: "true" + nginx.ingress.kubernetes.io/rewrite-target: /$2 + nginx.ingress.kubernetes.io/app-root: &gridAppRoot "/selenium" + hostname: "" + paths: + - path: /selenium(/|$)(.*) + pathType: Prefix + backend: + service: + name: '{{ template "seleniumGrid.router.fullname" $ }}' + port: + number: 4444 + - path: /(/?)(session/.*/se/vnc) + pathType: Prefix + backend: + service: + name: '{{ template "seleniumGrid.router.fullname" $ }}' + port: + number: 4444 + +basicAuth: + enabled: false +isolateComponents: true + +hub: + subPath: *gridAppRoot + +components: + subPath: *gridAppRoot + +chromeNode: + enabled: true + extraEnvironmentVariables: + - name: SE_NODE_OVERRIDE_MAX_SESSIONS + value: "true" + - name: SE_NODE_MAX_SESSIONS + value: "5" + startupProbe: + exec: + command: + - bash + - -c + - if [ $(curl --write-out %{http_code} --silent --output /dev/null http://selenium-router:4444/selenium/wd/hub/status) -ne 200 ]; then exit 1; fi + failureThreshold: 15 + periodSeconds: 5 + +edgeNode: + enabled: false +firefoxNode: + enabled: false diff --git a/tests/test.py b/tests/test.py index 18c2b4a57..16dbbbf30 100644 --- a/tests/test.py +++ b/tests/test.py @@ -173,9 +173,6 @@ def standalone_browser_container_matches(container): if use_random_user_id: logger.info("Running tests with a random user ID -> %s" % random_user_id) - if 'firefox' in image.lower(): - logger.info("Firefox has issues when running with a random user ID. Skipping until it gets fixed.") - exit(0) standalone = 'standalone' in image.lower() From c3938aacef8a93c0ca74eeb162e52c3d380548c9 Mon Sep 17 00:00:00 2001 From: ian zhang Date: Mon, 27 Nov 2023 18:00:38 +0800 Subject: [PATCH 47/84] Update service.name as selenium-node-chrome (#2026) node should not be the hub Co-authored-by: Diego Molina --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index af30d662d..2e5a2967a 100644 --- a/README.md +++ b/README.md @@ -1210,7 +1210,7 @@ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_ENABLE_TRACING=true \ - -e JAVA_OPTS="-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-hub" \ + -e JAVA_OPTS="-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-chrome" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ selenium/node-chrome:4.15.0-20231122 From bbef734552ed81ed9f3d98a67364311488f0cdb4 Mon Sep 17 00:00:00 2001 From: Viet Nguyen Duc Date: Mon, 27 Nov 2023 18:35:26 +0700 Subject: [PATCH 48/84] feat: CI Bot bump chart version along with new deploy image version (#2028) * Update appVersion for next deploy [skip ci] * Bump the chart version along with image version Signed-off-by: Viet Nguyen Duc --------- Signed-off-by: Viet Nguyen Duc --- charts/selenium-grid/Chart.yaml | 2 +- update_tag_in_docs_and_files.sh | 29 +++++++++++++++++++++++++++-- 2 files changed, 28 insertions(+), 3 deletions(-) diff --git a/charts/selenium-grid/Chart.yaml b/charts/selenium-grid/Chart.yaml index a5786c654..3bcf73628 100644 --- a/charts/selenium-grid/Chart.yaml +++ b/charts/selenium-grid/Chart.yaml @@ -3,7 +3,7 @@ name: selenium-grid description: A Helm chart for creating a Selenium Grid Server in Kubernetes type: application version: 0.25.1 -appVersion: 4.15.0-20231110 +appVersion: 4.15.0-20231122 icon: https://github.com/SeleniumHQ/docker-selenium/raw/trunk/logo.png dependencies: - repository: https://kedacore.github.io/charts diff --git a/update_tag_in_docs_and_files.sh b/update_tag_in_docs_and_files.sh index 43348cc37..3783f30f5 100755 --- a/update_tag_in_docs_and_files.sh +++ b/update_tag_in_docs_and_files.sh @@ -4,20 +4,45 @@ LATEST_TAG=$1 NEXT_TAG=$2 LATEST_DATE=$(echo ${LATEST_TAG} | sed 's/.*-//') NEXT_DATE=$(echo ${NEXT_TAG} | sed 's/.*-//') +latest_chart_app_version=$(find . \( -type d -name .git -prune \) -o -type f -name 'Chart.yaml' -print0 | xargs -0 cat | grep ^appVersion | cut -d ':' -f 2 | tr -d '[:space:]') echo -e "\033[0;32m Updating tag displayed in docs and files...\033[0m" echo -e "\033[0;32m LATEST_TAG -> ${LATEST_TAG}\033[0m" echo -e "\033[0;32m NEXT_TAG -> ${NEXT_TAG}\033[0m" # If you want to test this locally and you are using macOS, do `brew install gnu-sed` and change `sed` for `gsed`. -find . \( -type d -name .git -prune \) -o -type f ! -name 'Chart.yaml' -print0 | xargs -0 sed -i "s/${LATEST_TAG}/${NEXT_TAG}/g" +find . \( -type d -name .git -prune \) -o -type f -print0 | xargs -0 sed -i "s/${LATEST_TAG}/${NEXT_TAG}/g" echo -e "\033[0;32m Updating date used in some docs and files...\033[0m" echo -e "\033[0;32m LATEST_DATE -> ${LATEST_DATE}\033[0m" echo -e "\033[0;32m NEXT_DATE -> ${NEXT_DATE}\033[0m" # If you want to test this locally and you are using macOS, do `brew install gnu-sed` and change `sed` for `gsed`. -find . \( -type d -name .git -prune \) -o -type f ! -name 'Chart.yaml' -print0 | xargs -0 sed -i "s/${LATEST_DATE}/${NEXT_DATE}/g" +find . \( -type d -name .git -prune \) -o -type f -print0 | xargs -0 sed -i "s/${LATEST_DATE}/${NEXT_DATE}/g" + +# Bump chart version and appVersion if next tag is different +if [ "$latest_chart_app_version" == $LATEST_TAG ] && [ "$latest_chart_app_version" != "$NEXT_TAG" ]; then + IFS='.' read -ra latest_version_parts <<< "$LATEST_TAG" + IFS='.' read -ra next_version_parts <<< "$NEXT_TAG" + latest_chart_version=$(find . \( -type d -name .git -prune \) -o -type f -name 'Chart.yaml' -print0 | xargs -0 cat | grep ^version | cut -d ':' -f 2 | tr -d '[:space:]') + IFS='.' read -ra latest_chart_version_parts <<< "$latest_chart_version" + if [ "${latest_version_parts[0]}" != "${next_version_parts[0]}" ]; then + ((latest_chart_version_parts[0]++)) + latest_chart_version_parts[1]=0 + latest_chart_version_parts[2]=0 + elif [ "${latest_version_parts[1]}" != "${next_version_parts[1]}" ]; then + ((latest_chart_version_parts[1]++)) + latest_chart_version_parts[2]=0 + elif [ "${latest_version_parts[2]}" != "${next_version_parts[2]}" ]; then + ((latest_chart_version_parts[2]++)) + fi + next_chart_version="${latest_chart_version_parts[0]}.${latest_chart_version_parts[1]}.${latest_chart_version_parts[2]}" + echo -e "\033[0;32m Updating chart version...\033[0m" + echo -e "\033[0;32m LATEST_CHART_VERSION -> ${latest_chart_version}\033[0m" + echo -e "\033[0;32m NEXT_CHART_VERSION -> ${next_chart_version}\033[0m" + # If you want to test this locally and you are using macOS, do `brew install gnu-sed` and change `sed` for `gsed`. + find . \( -type d -name .git -prune \) -o -type f -name 'Chart.yaml' -print0 | xargs -0 sed -i "s/${latest_chart_version}/${next_chart_version}/g" +fi git diff | cat From e56a1fcf8db73d667c5ce16fefd5867236a18303 Mon Sep 17 00:00:00 2001 From: Amar Deep Singh <50517840+amardeep2006@users.noreply.github.com> Date: Mon, 27 Nov 2023 19:27:53 +0530 Subject: [PATCH 49/84] Feature run selenium tests grid on kubernetes via helm chart (#2027) * feat(k8stests): added kubernetes tests cases * docs(keda): updated readme to keda version 2.12 * chore(optimize): matrix strategy in workflow * chore(docker): allow time to docker pull images * fix(dry-principle): Reusing existing test.py --- .github/workflows/helm-chart-test.yml | 67 +++++++++++++++++++ charts/selenium-grid/README.md | 6 +- tests/SeleniumTests/__init__.py | 8 +-- tests/SmokeTests/__init__.py | 4 +- tests/kind-cluster-config.yaml | 18 +++++ .../override-kind-auth-NodeChrome-values.yaml | 13 ++++ tests/override-kind-auth-NodeEdge-values.yaml | 13 ++++ ...override-kind-auth-NodeFirefox-values.yaml | 13 ++++ 8 files changed, 133 insertions(+), 9 deletions(-) create mode 100644 tests/kind-cluster-config.yaml create mode 100644 tests/override-kind-auth-NodeChrome-values.yaml create mode 100644 tests/override-kind-auth-NodeEdge-values.yaml create mode 100644 tests/override-kind-auth-NodeFirefox-values.yaml diff --git a/.github/workflows/helm-chart-test.yml b/.github/workflows/helm-chart-test.yml index cf8f8c439..3f3b53f05 100644 --- a/.github/workflows/helm-chart-test.yml +++ b/.github/workflows/helm-chart-test.yml @@ -9,8 +9,12 @@ on: - 'charts/selenium-grid/**' workflow_dispatch: +permissions: + contents: read + jobs: lint-test: + name: "Lint Tests with ct" runs-on: ubuntu-latest steps: - name: Checkout @@ -45,6 +49,69 @@ jobs: - name: Create kind cluster uses: helm/kind-action@v1.8.0 + with: + config: ./tests/kind-cluster-config.yaml - name: Run chart-testing (install) run: ct install --all --config tests/chart-test.yaml + + deploy-grid-selenium-tests: + name: "Run Selenium Tests on K8s" + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + browser: [NodeChrome,NodeEdge,NodeFirefox] + 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: Create kind cluster + uses: helm/kind-action@v1.8.0 + with: + config: ./tests/kind-cluster-config.yaml + + # 👋 Documentation link for Ingress Installation on kind k8s cluster https://kind.sigs.k8s.io/docs/user/ingress + - name: Install ingress-nginx on kind kubernetes cluster + run: | + kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/main/deploy/static/provider/kind/deploy.yaml + kubectl wait --namespace ingress-nginx \ + --for=condition=ready pod \ + --selector=app.kubernetes.io/component=controller \ + --timeout=90s + + - name: Deploy Selenium Grid Chart + run: | + helm repo add kedacore https://kedacore.github.io/charts + helm repo update + helm dependency build charts/selenium-grid + helm upgrade --install selenium-grid -f ./tests/override-kind-auth-${{matrix.browser}}-values.yaml charts/selenium-grid --namespace selenium-grid-test --create-namespace + kubectl get ingress --all-namespaces + + - name: Verify Post Deployment Grid Health and k8s pods status + run: | + sleep 20 # Allow Kubernetes to pull Docker Images and start Pods + python ./tests/K8sSmokeTest.py "http://localhost" + kubectl get pods -n selenium-grid-test + kubectl get events -n selenium-grid-test + + - name: Run Selenium Tests Against Kubernetes + run: | + export SELENIUM_GRID_HOST=localhost + export SELENIUM_GRID_PORT=80 + export RUN_IN_DOCKER_COMPOSE=true + ./tests/bootstrap.sh ${{matrix.browser}} \ No newline at end of file diff --git a/charts/selenium-grid/README.md b/charts/selenium-grid/README.md index c912d206e..bcd2ad492 100644 --- a/charts/selenium-grid/README.md +++ b/charts/selenium-grid/README.md @@ -36,13 +36,13 @@ helm install selenium-grid --set ingress.hostname=selenium-grid.k8s.local docker Selenium Grid has the ability to autoscale browser nodes up/down based on the pending requests in the session queue. -To do this [KEDA](https://keda.sh/docs/2.10/scalers/selenium-grid-scaler/) is used. When enabling +To do this [KEDA](https://keda.sh/docs/2.12/scalers/selenium-grid-scaler/) is used. When enabling autoscaling using `autoscaling.enabling` KEDA is installed automatically. To instead use an existing installation of KEDA you can enable autoscaling with `autoscaling.enableWithExistingKEDA` instead. KEDA can scale either with -[deployments](https://keda.sh/docs/2.10/concepts/scaling-deployments/#scaling-of-deployments-and-statefulsets) -or [jobs](https://keda.sh/docs/2.10/concepts/scaling-jobs/) and the charts support both types. This +[deployments](https://keda.sh/docs/2.12/concepts/scaling-deployments/#scaling-of-deployments-and-statefulsets) +or [jobs](https://keda.sh/docs/2.12/concepts/scaling-jobs/) and the charts support both types. This chart support both modes. It is controlled with `autoscaling.scalingType` that can be set to either job (default) or deployment. diff --git a/tests/SeleniumTests/__init__.py b/tests/SeleniumTests/__init__.py index 2590fdfa1..fb6308308 100644 --- a/tests/SeleniumTests/__init__.py +++ b/tests/SeleniumTests/__init__.py @@ -9,7 +9,7 @@ from selenium.webdriver.chrome.options import Options as ChromeOptions SELENIUM_GRID_HOST = os.environ.get('SELENIUM_GRID_HOST', 'localhost') - +SELENIUM_GRID_PORT = os.environ.get('SELENIUM_GRID_PORT', '4444') class SeleniumGenericTests(unittest.TestCase): @@ -70,14 +70,14 @@ class ChromeTests(SeleniumGenericTests): def setUp(self): self.driver = webdriver.Remote( options=ChromeOptions(), - command_executor="http://%s:4444" % SELENIUM_GRID_HOST + command_executor="http://%s:%s" % (SELENIUM_GRID_HOST,SELENIUM_GRID_PORT) ) class EdgeTests(SeleniumGenericTests): def setUp(self): self.driver = webdriver.Remote( options=EdgeOptions(), - command_executor="http://%s:4444" % SELENIUM_GRID_HOST + command_executor="http://%s:%s" % (SELENIUM_GRID_HOST,SELENIUM_GRID_PORT) ) @@ -85,7 +85,7 @@ class FirefoxTests(SeleniumGenericTests): def setUp(self): self.driver = webdriver.Remote( options=FirefoxOptions(), - command_executor="http://%s:4444" % SELENIUM_GRID_HOST + command_executor="http://%s:%s" % (SELENIUM_GRID_HOST,SELENIUM_GRID_PORT) ) def test_title_and_maximize_window(self): diff --git a/tests/SmokeTests/__init__.py b/tests/SmokeTests/__init__.py index a8cc48421..6a672d2af 100644 --- a/tests/SmokeTests/__init__.py +++ b/tests/SmokeTests/__init__.py @@ -9,7 +9,7 @@ from urllib.request import urlopen SELENIUM_GRID_HOST = os.environ.get('SELENIUM_GRID_HOST', 'localhost') - +SELENIUM_GRID_PORT = os.environ.get('SELENIUM_GRID_PORT', '4444') class SmokeTests(unittest.TestCase): def smoke_test_container(self, port): @@ -35,4 +35,4 @@ def smoke_test_container(self, port): class GridTest(SmokeTests): def test_grid_is_up(self): - self.smoke_test_container(4444) + self.smoke_test_container('%s' % SELENIUM_GRID_PORT) diff --git a/tests/kind-cluster-config.yaml b/tests/kind-cluster-config.yaml new file mode 100644 index 000000000..f0bcacd1b --- /dev/null +++ b/tests/kind-cluster-config.yaml @@ -0,0 +1,18 @@ +# This Config is required for KIND cluster to enable ingress. Documented here https://kind.sigs.k8s.io/docs/user/ingress +kind: Cluster +apiVersion: kind.x-k8s.io/v1alpha4 +nodes: +- role: control-plane + kubeadmConfigPatches: + - | + kind: InitConfiguration + nodeRegistration: + kubeletExtraArgs: + node-labels: "ingress-ready=true" + extraPortMappings: + - containerPort: 80 + hostPort: 80 + protocol: TCP + - containerPort: 443 + hostPort: 443 + protocol: TCP diff --git a/tests/override-kind-auth-NodeChrome-values.yaml b/tests/override-kind-auth-NodeChrome-values.yaml new file mode 100644 index 000000000..e3628ac84 --- /dev/null +++ b/tests/override-kind-auth-NodeChrome-values.yaml @@ -0,0 +1,13 @@ +# This is used in Helm chart testing. This disables the basic auth on seleneium grid +# Basic auth settings for Selenium Grid +basicAuth: + # Enable or disable basic auth + enabled: false +# Configuration for edge nodes +edgeNode: + # Enable edge nodes + enabled: false +# Configuration for firefox nodes +firefoxNode: + # Enable firefox nodes + enabled: false diff --git a/tests/override-kind-auth-NodeEdge-values.yaml b/tests/override-kind-auth-NodeEdge-values.yaml new file mode 100644 index 000000000..936745c23 --- /dev/null +++ b/tests/override-kind-auth-NodeEdge-values.yaml @@ -0,0 +1,13 @@ +# This is used in Helm chart testing. This disables the basic auth on seleneium grid +# Basic auth settings for Selenium Grid +basicAuth: + # Enable or disable basic auth + enabled: false +# Configuration for chrome nodes +chromeNode: + # Enable chrome nodes + enabled: false +# Configuration for firefox nodes +firefoxNode: + # Enable firefox nodes + enabled: false diff --git a/tests/override-kind-auth-NodeFirefox-values.yaml b/tests/override-kind-auth-NodeFirefox-values.yaml new file mode 100644 index 000000000..d679cbfa7 --- /dev/null +++ b/tests/override-kind-auth-NodeFirefox-values.yaml @@ -0,0 +1,13 @@ +# This is used in Helm chart testing. This disables the basic auth on seleneium grid +# Basic auth settings for Selenium Grid +basicAuth: + # Enable or disable basic auth + enabled: false +# Configuration for chrome nodes +chromeNode: + # Enable chrome nodes + enabled: false +# Configuration for edge nodes +edgeNode: + # Enable edge nodes + enabled: false From 7b3dfe970072c58e5f8a88fca4cb5e3e95133f94 Mon Sep 17 00:00:00 2001 From: Viet Nguyen Duc Date: Tue, 28 Nov 2023 17:37:16 +0700 Subject: [PATCH 50/84] test: Sanity tests Selenium Grid chart via Makefile commands (#2029) [deploy] --- .github/workflows/build-test.yml | 7 +- .github/workflows/deploy.yml | 2 +- .github/workflows/helm-chart-test.yml | 136 +++++------------- .github/workflows/label-commenter.yml | 2 +- .github/workflows/test-video.yml | 9 +- Makefile | 28 +++- charts/selenium-grid/TESTING.md | 44 ++++++ .../selenium-grid/ci/NodeChrome-values.yaml | 11 +- .../selenium-grid/ci/NodeEdge-values.yaml | 11 +- .../selenium-grid/ci/NodeFirefox-values.yaml | 13 +- ...h-values.yaml => auth-ingress-values.yaml} | 25 +--- .../selenium-grid/ci/autoscaling-values.yaml | 5 + .../ci/overrideNameChrome-values.yaml | 9 -- .../ci/overrideNameEdge-values.yaml | 9 -- .../ci/overrideNameFirefox-values.yaml | 9 -- .../chart-testing.yaml} | 2 + tests/K8s/chart_cluster_cleanup.sh | 11 ++ tests/K8s/chart_cluster_setup.sh | 51 +++++++ tests/K8s/chart_install.sh | 61 ++++++++ tests/K8s/chart_lint.sh | 28 ++++ tests/K8s/chart_setup_env.sh | 49 +++++++ tests/{ => K8s}/kind-cluster-config.yaml | 0 tests/K8sSmokeTest.py | 47 ------ tests/SmokeTests/__init__.py | 19 ++- 24 files changed, 358 insertions(+), 230 deletions(-) create mode 100644 charts/selenium-grid/TESTING.md rename tests/override-kind-auth-NodeEdge-values.yaml => charts/selenium-grid/ci/NodeChrome-values.yaml (52%) rename tests/override-kind-auth-NodeChrome-values.yaml => charts/selenium-grid/ci/NodeEdge-values.yaml (52%) rename tests/override-kind-auth-NodeFirefox-values.yaml => charts/selenium-grid/ci/NodeFirefox-values.yaml (51%) rename charts/selenium-grid/ci/{customIngressPath-values.yaml => auth-ingress-values.yaml} (55%) create mode 100644 charts/selenium-grid/ci/autoscaling-values.yaml delete mode 100644 charts/selenium-grid/ci/overrideNameChrome-values.yaml delete mode 100644 charts/selenium-grid/ci/overrideNameEdge-values.yaml delete mode 100644 charts/selenium-grid/ci/overrideNameFirefox-values.yaml rename tests/{chart-test.yaml => K8s/chart-testing.yaml} (60%) mode change 100644 => 100755 create mode 100755 tests/K8s/chart_cluster_cleanup.sh create mode 100755 tests/K8s/chart_cluster_setup.sh create mode 100755 tests/K8s/chart_install.sh create mode 100755 tests/K8s/chart_lint.sh create mode 100755 tests/K8s/chart_setup_env.sh rename tests/{ => K8s}/kind-cluster-config.yaml (100%) mode change 100644 => 100755 delete mode 100644 tests/K8sSmokeTest.py diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index 177aa6d04..6ec2a7d98 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -12,7 +12,7 @@ jobs: # Skip job based on the commit message, only works in push to branches for now if: contains(toJson(github.event.commits), '[skip ci]') == false name: Build & test Docker images with random user - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest strategy: matrix: use-random-user: [false, true] @@ -20,10 +20,11 @@ jobs: - uses: actions/checkout@v4 - name: Output Docker info run: docker info - - name: Set up Python 3.8 + - name: Set up Python uses: actions/setup-python@v4.7.1 with: - python-version: 3.8 + python-version: '3.11' + check-latest: true - name: Get branch name (only for push to branch) if: github.event_name == 'push' run: echo "BRANCH=$(echo ${PUSH_BRANCH##*/})" >> $GITHUB_ENV diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 2ba5222d4..8b4c99084 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -10,7 +10,7 @@ jobs: # Only continue if the commit message has '[deploy]' in it if: contains(toJson(github.event.commits), '[deploy]') == true name: Deploy Docker images - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 diff --git a/.github/workflows/helm-chart-test.yml b/.github/workflows/helm-chart-test.yml index 3f3b53f05..9d2c4a8fc 100644 --- a/.github/workflows/helm-chart-test.yml +++ b/.github/workflows/helm-chart-test.yml @@ -13,105 +13,47 @@ permissions: contents: read jobs: - lint-test: - name: "Lint Tests with ct" + build-and-test: + # Skip job based on the commit message, only works in push to branches for now + if: contains(toJson(github.event.commits), '[skip ci]') == false + name: Build & test Docker images with Helm charts 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 - + - uses: actions/checkout@v4 + - name: Output Docker info + run: docker info - name: Set up Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v4.7.1 with: - python-version: '3.10' + python-version: '3.11' check-latest: true - - - name: Set up chart-testing - uses: helm/chart-testing-action@v2.6.1 - - - 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/kind-action@v1.8.0 - with: - config: ./tests/kind-cluster-config.yaml - - - name: Run chart-testing (install) - run: ct install --all --config tests/chart-test.yaml - - deploy-grid-selenium-tests: - name: "Run Selenium Tests on K8s" - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - browser: [NodeChrome,NodeEdge,NodeFirefox] - 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: Create kind cluster - uses: helm/kind-action@v1.8.0 - with: - config: ./tests/kind-cluster-config.yaml - - # 👋 Documentation link for Ingress Installation on kind k8s cluster https://kind.sigs.k8s.io/docs/user/ingress - - name: Install ingress-nginx on kind kubernetes cluster - run: | - kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/main/deploy/static/provider/kind/deploy.yaml - kubectl wait --namespace ingress-nginx \ - --for=condition=ready pod \ - --selector=app.kubernetes.io/component=controller \ - --timeout=90s - - - name: Deploy Selenium Grid Chart - run: | - helm repo add kedacore https://kedacore.github.io/charts - helm repo update - helm dependency build charts/selenium-grid - helm upgrade --install selenium-grid -f ./tests/override-kind-auth-${{matrix.browser}}-values.yaml charts/selenium-grid --namespace selenium-grid-test --create-namespace - kubectl get ingress --all-namespaces - - - name: Verify Post Deployment Grid Health and k8s pods status - run: | - sleep 20 # Allow Kubernetes to pull Docker Images and start Pods - python ./tests/K8sSmokeTest.py "http://localhost" - kubectl get pods -n selenium-grid-test - kubectl get events -n selenium-grid-test - - - name: Run Selenium Tests Against Kubernetes - run: | - export SELENIUM_GRID_HOST=localhost - export SELENIUM_GRID_PORT=80 - export RUN_IN_DOCKER_COMPOSE=true - ./tests/bootstrap.sh ${{matrix.browser}} \ No newline at end of file + - name: Get branch name (only for push to branch) + if: github.event_name == 'push' + run: echo "BRANCH=$(echo ${PUSH_BRANCH##*/})" >> $GITHUB_ENV + env: + PUSH_BRANCH: ${{ github.ref }} + - name: Get target branch name (only for PRs) + if: github.event_name == 'pull_request' + run: echo "BRANCH=$(echo ${TARGET_BRANCH##*/})" >> $GITHUB_ENV + env: + TARGET_BRANCH: ${{ github.head_ref }} + - name: Output branch name + run: echo ${BRANCH} + - name: Sets build date + run: echo "BUILD_DATE=$(date '+%Y%m%d')" >> $GITHUB_ENV + - name: Build Docker images + run: VERSION=${BRANCH} BUILD_DATE=${BUILD_DATE} make build + - name: Setup Kubernetes environment + run: make chart_setup_env + - name: Setup Kubernetes cluster + run: VERSION=${BRANCH} BUILD_DATE=${BUILD_DATE} make chart_cluster_setup + - name: Test Selenium Grid on Kubernetes + uses: nick-invision/retry@v2.9.0 + with: + timeout_minutes: 20 + max_attempts: 3 + command: | + VERSION=${BRANCH} BUILD_DATE=${BUILD_DATE} make chart_test + - name: Cleanup Kubernetes cluster + if: always() + run: make chart_cluster_cleanup diff --git a/.github/workflows/label-commenter.yml b/.github/workflows/label-commenter.yml index 08861192a..bf2e02b25 100644 --- a/.github/workflows/label-commenter.yml +++ b/.github/workflows/label-commenter.yml @@ -11,7 +11,7 @@ permissions: jobs: comment: - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Label Commenter diff --git a/.github/workflows/test-video.yml b/.github/workflows/test-video.yml index 3e7c34498..da59f8a8f 100644 --- a/.github/workflows/test-video.yml +++ b/.github/workflows/test-video.yml @@ -12,15 +12,16 @@ jobs: # Skip job based on the commit message, only works in push to branches for now if: contains(toJson(github.event.commits), '[skip ci]') == false name: Test video recorded through Docker Selenium - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Output Docker info run: docker info - - name: Set up Python 3.8 + - name: Set up Python uses: actions/setup-python@v4.7.1 with: - python-version: 3.8 + python-version: '3.11' + check-latest: true - name: Get branch name (only for push to branch) if: github.event_name == 'push' run: echo "BRANCH=$(echo ${PUSH_BRANCH##*/})" >> $GITHUB_ENV @@ -51,4 +52,4 @@ jobs: uses: actions/upload-artifact@v3 with: name: firefox_video - path: ./tests/videos/firefox_video.mp4 \ No newline at end of file + path: ./tests/videos/firefox_video.mp4 diff --git a/Makefile b/Makefile index 5d4590d8e..e207c209e 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ NAME := $(or $(NAME),$(NAME),selenium) CURRENT_DATE := $(shell date '+%Y%m%d') BUILD_DATE := $(or $(BUILD_DATE),$(BUILD_DATE),$(CURRENT_DATE)) -VERSION := $(or $(VERSION),$(VERSION),4.11.0) +VERSION := $(or $(VERSION),$(VERSION),4.15.0) TAG_VERSION := $(VERSION)-$(BUILD_DATE) NAMESPACE := $(or $(NAMESPACE),$(NAMESPACE),$(NAME)) AUTHORS := $(or $(AUTHORS),$(AUTHORS),SeleniumHQ) @@ -361,6 +361,32 @@ test_video: video hub chrome firefox edge 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 +chart_setup_env: + ./tests/K8s/chart_setup_env.sh + +chart_test: chart_lint \ + chart_install_chrome \ + chart_install_firefox \ + chart_install_edge + +chart_cluster_setup: + VERSION=$(TAG_VERSION) NAMESPACE=$(NAMESPACE) ./tests/K8s/chart_cluster_setup.sh + +chart_lint: + ./tests/K8s/chart_lint.sh + +chart_install_chrome: + VERSION=$(TAG_VERSION) NAMESPACE=$(NAMESPACE) ./tests/K8s/chart_install.sh NodeChrome + +chart_install_firefox: + VERSION=$(TAG_VERSION) NAMESPACE=$(NAMESPACE) ./tests/K8s/chart_install.sh NodeFirefox + +chart_install_edge: + VERSION=$(TAG_VERSION) NAMESPACE=$(NAMESPACE) ./tests/K8s/chart_install.sh NodeEdge + +chart_cluster_cleanup: + ./tests/K8s/chart_cluster_cleanup.sh + .PHONY: \ all \ base \ diff --git a/charts/selenium-grid/TESTING.md b/charts/selenium-grid/TESTING.md new file mode 100644 index 000000000..aee1c772b --- /dev/null +++ b/charts/selenium-grid/TESTING.md @@ -0,0 +1,44 @@ +# Testing Selenium Grid Helm Chart + +All related testing to this helm chart will be documented in this file. + +## Test Traceability Matrix + +| Features | TC Description | Coverage | +|------------------------|----------------------------------------------------------------------|----------| +| Basic Auth | Basic Auth is disabled | ✓ | +| | Basic Auth is enabled | ✗ | +| Auto scaling | Auto scaling with `enableWithExistingKEDA` is `true` | ✓ | +| | Auto scaling with `scalingType` is `job` | ✓ | +| | Auto scaling with `scalingType` is `deployment` | ✗ | +| | Auto scaling with `autoscaling.scaledOptions.minReplicaCount` is `0` | ✓ | +| Ingress | Ingress is enabled without `hostname` | ✓ | +| | Hub `sub-path` is set with Ingress `ImplementationSpecific` paths | ✓ | +| Distributed components | `isolateComponents` is enabled | ✓ | +| Browser Nodes | Node `nameOverride` is set | ✓ | +| | Sanity tests in node | ✓ | +| | Video recorder is enabled in node | ✗ | + +## Build & test Docker images with Helm charts +Noted: These `make` commands are composed and tested on Linux x86_64. +Run entire commands to build and test Docker images with Helm charts in local environment. + +```bash +# Back to root directory +cd ../.. + +# Build Docker images +make build + +# Setup Kubernetes environment +make chart_setup_env + +# Setup Kubernetes cluster +make chart_cluster_setup + +# Test Selenium Grid on Kubernetes +make chart_test + +# Cleanup Kubernetes cluster +make chart_cluster_cleanup +``` diff --git a/tests/override-kind-auth-NodeEdge-values.yaml b/charts/selenium-grid/ci/NodeChrome-values.yaml similarity index 52% rename from tests/override-kind-auth-NodeEdge-values.yaml rename to charts/selenium-grid/ci/NodeChrome-values.yaml index 936745c23..f3c30c48d 100644 --- a/tests/override-kind-auth-NodeEdge-values.yaml +++ b/charts/selenium-grid/ci/NodeChrome-values.yaml @@ -1,13 +1,10 @@ -# This is used in Helm chart testing. This disables the basic auth on seleneium grid -# Basic auth settings for Selenium Grid -basicAuth: - # Enable or disable basic auth - enabled: false +# This is used in Helm chart testing. This disables the basic auth on selenium grid # Configuration for chrome nodes chromeNode: - # Enable chrome nodes + nameOverride: my-chrome-name +# Configuration for edge nodes +edgeNode: enabled: false # Configuration for firefox nodes firefoxNode: - # Enable firefox nodes enabled: false diff --git a/tests/override-kind-auth-NodeChrome-values.yaml b/charts/selenium-grid/ci/NodeEdge-values.yaml similarity index 52% rename from tests/override-kind-auth-NodeChrome-values.yaml rename to charts/selenium-grid/ci/NodeEdge-values.yaml index e3628ac84..1d1c13f9c 100644 --- a/tests/override-kind-auth-NodeChrome-values.yaml +++ b/charts/selenium-grid/ci/NodeEdge-values.yaml @@ -1,13 +1,10 @@ -# This is used in Helm chart testing. This disables the basic auth on seleneium grid -# Basic auth settings for Selenium Grid -basicAuth: - # Enable or disable basic auth +# This is used in Helm chart testing. This disables the basic auth on selenium grid +# Configuration for chrome nodes +chromeNode: enabled: false # Configuration for edge nodes edgeNode: - # Enable edge nodes - enabled: false + nameOverride: my-edge-name # Configuration for firefox nodes firefoxNode: - # Enable firefox nodes enabled: false diff --git a/tests/override-kind-auth-NodeFirefox-values.yaml b/charts/selenium-grid/ci/NodeFirefox-values.yaml similarity index 51% rename from tests/override-kind-auth-NodeFirefox-values.yaml rename to charts/selenium-grid/ci/NodeFirefox-values.yaml index d679cbfa7..418d00b8a 100644 --- a/tests/override-kind-auth-NodeFirefox-values.yaml +++ b/charts/selenium-grid/ci/NodeFirefox-values.yaml @@ -1,13 +1,10 @@ -# This is used in Helm chart testing. This disables the basic auth on seleneium grid -# Basic auth settings for Selenium Grid -basicAuth: - # Enable or disable basic auth - enabled: false +# This is used in Helm chart testing. This disables the basic auth on selenium grid # Configuration for chrome nodes chromeNode: - # Enable chrome nodes - enabled: false + enabled: false # Configuration for edge nodes edgeNode: - # Enable edge nodes enabled: false +# Configuration for firefox nodes +firefoxNode: + nameOverride: my-firefox-name diff --git a/charts/selenium-grid/ci/customIngressPath-values.yaml b/charts/selenium-grid/ci/auth-ingress-values.yaml similarity index 55% rename from charts/selenium-grid/ci/customIngressPath-values.yaml rename to charts/selenium-grid/ci/auth-ingress-values.yaml index e7812bc4a..459d218d3 100644 --- a/charts/selenium-grid/ci/customIngressPath-values.yaml +++ b/charts/selenium-grid/ci/auth-ingress-values.yaml @@ -6,14 +6,14 @@ ingress: hostname: "" paths: - path: /selenium(/|$)(.*) - pathType: Prefix + pathType: ImplementationSpecific backend: service: name: '{{ template "seleniumGrid.router.fullname" $ }}' port: number: 4444 - path: /(/?)(session/.*/se/vnc) - pathType: Prefix + pathType: ImplementationSpecific backend: service: name: '{{ template "seleniumGrid.router.fullname" $ }}' @@ -29,24 +29,3 @@ hub: components: subPath: *gridAppRoot - -chromeNode: - enabled: true - extraEnvironmentVariables: - - name: SE_NODE_OVERRIDE_MAX_SESSIONS - value: "true" - - name: SE_NODE_MAX_SESSIONS - value: "5" - startupProbe: - exec: - command: - - bash - - -c - - if [ $(curl --write-out %{http_code} --silent --output /dev/null http://selenium-router:4444/selenium/wd/hub/status) -ne 200 ]; then exit 1; fi - failureThreshold: 15 - periodSeconds: 5 - -edgeNode: - enabled: false -firefoxNode: - enabled: false diff --git a/charts/selenium-grid/ci/autoscaling-values.yaml b/charts/selenium-grid/ci/autoscaling-values.yaml new file mode 100644 index 000000000..7fa80b2bb --- /dev/null +++ b/charts/selenium-grid/ci/autoscaling-values.yaml @@ -0,0 +1,5 @@ +autoscaling: + enableWithExistingKEDA: true + scalingType: job + scaledOptions: + minReplicaCount: 0 diff --git a/charts/selenium-grid/ci/overrideNameChrome-values.yaml b/charts/selenium-grid/ci/overrideNameChrome-values.yaml deleted file mode 100644 index 6fe143648..000000000 --- a/charts/selenium-grid/ci/overrideNameChrome-values.yaml +++ /dev/null @@ -1,9 +0,0 @@ -# These desired is used to test the overrideName of the component -hub: - nameOverride: my-hub-name -chromeNode: - nameOverride: my-chrome-name -edgeNode: - enabled: false -firefoxNode: - enabled: false diff --git a/charts/selenium-grid/ci/overrideNameEdge-values.yaml b/charts/selenium-grid/ci/overrideNameEdge-values.yaml deleted file mode 100644 index 11f20066e..000000000 --- a/charts/selenium-grid/ci/overrideNameEdge-values.yaml +++ /dev/null @@ -1,9 +0,0 @@ -# These desired is used to test the overrideName of the component -hub: - nameOverride: my-hub-name -chromeNode: - enabled: false -edgeNode: - nameOverride: my-edge-name -firefoxNode: - enabled: false diff --git a/charts/selenium-grid/ci/overrideNameFirefox-values.yaml b/charts/selenium-grid/ci/overrideNameFirefox-values.yaml deleted file mode 100644 index dcf4670ed..000000000 --- a/charts/selenium-grid/ci/overrideNameFirefox-values.yaml +++ /dev/null @@ -1,9 +0,0 @@ -# These desired is used to test the overrideName of the component -hub: - nameOverride: my-hub-name -chromeNode: - enabled: false -edgeNode: - enabled: false -firefoxNode: - nameOverride: my-firefox-name diff --git a/tests/chart-test.yaml b/tests/K8s/chart-testing.yaml old mode 100644 new mode 100755 similarity index 60% rename from tests/chart-test.yaml rename to tests/K8s/chart-testing.yaml index e54edd7a3..7c085d076 --- a/tests/chart-test.yaml +++ b/tests/K8s/chart-testing.yaml @@ -1,3 +1,5 @@ +# This is config file for chart-testing tool. It is used to test Helm charts. +# https://github.com/helm/chart-testing target-branch: trunk chart-dirs: - charts diff --git a/tests/K8s/chart_cluster_cleanup.sh b/tests/K8s/chart_cluster_cleanup.sh new file mode 100755 index 000000000..972a9e8b6 --- /dev/null +++ b/tests/K8s/chart_cluster_cleanup.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +echo "Set ENV variables" +CLUSTER_NAME=${CLUSTER_NAME:-"chart-testing"} + +cleanup() { + echo "Clean up kind cluster" + kind delete clusters ${CLUSTER_NAME} +} + +cleanup diff --git a/tests/K8s/chart_cluster_setup.sh b/tests/K8s/chart_cluster_setup.sh new file mode 100755 index 000000000..cfddcd754 --- /dev/null +++ b/tests/K8s/chart_cluster_setup.sh @@ -0,0 +1,51 @@ +#!/bin/bash + +echo "Set ENV variables" +CLUSTER_NAME=${CLUSTER_NAME:-"chart-testing"} +RELEASE_NAME=${RELEASE_NAME:-"test"} +SELENIUM_NAMESPACE=${SELENIUM_NAMESPACE:-"selenium"} +KEDA_NAMESPACE=${KEDA_NAMESPACE:-"keda"} +INGRESS_NAMESPACE=${INGRESS_NAMESPACE:-"ingress-nginx"} +SUB_PATH=${SUB_PATH:-"/selenium"} +CHART_PATH=${CHART_PATH:-"charts/selenium-grid"} +TEST_VALUES_PATH=${TEST_VALUES_PATH:-"charts/selenium-grid/ci"} +SELENIUM_GRID_HOST=${SELENIUM_GRID_HOST:-"localhost"} +SELENIUM_GRID_PORT=${SELENIUM_GRID_PORT:-"80"} +WAIT_TIMEOUT=${WAIT_TIMEOUT:-"90s"} +SKIP_CLEANUP=${SKIP_CLEANUP:-"false"} # For debugging purposes, retain the cluster after the test run + +# Function to clean up for retry step on workflow +cleanup() { + if [ "${SKIP_CLEANUP}" = "false" ]; then + ./tests/K8s/chart_cluster_cleanup.sh + fi +} + +# Function to be executed on command failure +on_failure() { + echo "There is step failed with exit status $?" + cleanup + exit $? +} + +# Trap ERR signal and call on_failure function +trap 'on_failure' ERR + +echo "Create Kind cluster" +kind create cluster --wait ${WAIT_TIMEOUT} --name ${CLUSTER_NAME} --config tests/K8s/kind-cluster-config.yaml + +echo "Install KEDA core on kind kubernetes cluster" +kubectl apply --server-side -f https://github.com/kedacore/keda/releases/download/v2.12.1/keda-2.12.1-core.yaml + +echo "Install ingress-nginx on kind kubernetes cluster" +kubectl apply -n ${INGRESS_NAMESPACE} -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/main/deploy/static/provider/kind/deploy.yaml +kubectl wait --namespace ${INGRESS_NAMESPACE} \ + --for=condition=ready pod \ + --selector=app.kubernetes.io/component=controller \ + --timeout=${WAIT_TIMEOUT} + +echo "Load built local Docker Images into Kind Cluster" +image_list=$(docker images --format "{{.Repository}}:{{.Tag}}" | grep ${NAMESPACE} | grep ${VERSION}) +for image in $image_list; do + kind load docker-image --name ${CLUSTER_NAME} "$image" +done diff --git a/tests/K8s/chart_install.sh b/tests/K8s/chart_install.sh new file mode 100755 index 000000000..a19113395 --- /dev/null +++ b/tests/K8s/chart_install.sh @@ -0,0 +1,61 @@ +#!/bin/bash + +echo "Set ENV variables" +CLUSTER_NAME=${CLUSTER_NAME:-"chart-testing"} +RELEASE_NAME=${RELEASE_NAME:-"test"} +SELENIUM_NAMESPACE=${SELENIUM_NAMESPACE:-"selenium"} +KEDA_NAMESPACE=${KEDA_NAMESPACE:-"keda"} +INGRESS_NAMESPACE=${INGRESS_NAMESPACE:-"ingress-nginx"} +SUB_PATH=${SUB_PATH:-"/selenium"} +CHART_PATH=${CHART_PATH:-"charts/selenium-grid"} +TEST_VALUES_PATH=${TEST_VALUES_PATH:-"charts/selenium-grid/ci"} +SELENIUM_GRID_HOST=${SELENIUM_GRID_HOST:-"localhost"} +SELENIUM_GRID_PORT=${SELENIUM_GRID_PORT:-"80"} +MATRIX_BROWSER=${1:-"NodeChrome"} +SELENIUM_GRID_AUTOSCALING=${2:-"true"} +SELENIUM_GRID_AUTOSCALING_MIN_REPLICA=${3:-"0"} +WAIT_TIMEOUT=${WAIT_TIMEOUT:-"90s"} +SLEEP_INTERVAL=${SLEEP_INTERVAL:-45} +SKIP_CLEANUP=${SKIP_CLEANUP:-"false"} # For debugging purposes, retain the cluster after the test run + +cleanup() { + if [ "${SKIP_CLEANUP}" = "false" ]; then + echo "Clean up chart release and namespace" + helm delete ${RELEASE_NAME} --namespace ${SELENIUM_NAMESPACE} + kubectl delete namespace ${SELENIUM_NAMESPACE} + fi +} + +# Function to be executed on command failure +on_failure() { + echo "There is step failed with exit status $?" + cleanup + exit $? +} + +# Trap ERR signal and call on_failure function +trap 'on_failure' ERR + +echo "Deploy Selenium Grid Chart" +helm upgrade --install ${RELEASE_NAME} \ +-f ${TEST_VALUES_PATH}/auth-ingress-values.yaml \ +-f ${TEST_VALUES_PATH}/autoscaling-values.yaml \ +-f ${TEST_VALUES_PATH}/${MATRIX_BROWSER}-values.yaml \ +--set autoscaling.enableWithExistingKEDA=${SELENIUM_GRID_AUTOSCALING} \ +--set autoscaling.scaledOptions.minReplicaCount=${SELENIUM_GRID_AUTOSCALING_MIN_REPLICA} \ +--set global.seleniumGrid.imageTag=${VERSION} \ +${CHART_PATH} --namespace ${SELENIUM_NAMESPACE} --create-namespace + +echo "Verify Post Deployment Grid Health and Pod Status" +kubectl get pods -n ${SELENIUM_NAMESPACE} + +echo "Run Tests" +export SELENIUM_GRID_HOST=${SELENIUM_GRID_HOST} +export SELENIUM_GRID_PORT=${SELENIUM_GRID_PORT}""${SUB_PATH} +export SELENIUM_GRID_AUTOSCALING=${SELENIUM_GRID_AUTOSCALING} +export SELENIUM_GRID_AUTOSCALING_MIN_REPLICA=${SELENIUM_GRID_AUTOSCALING_MIN_REPLICA} +export RUN_IN_DOCKER_COMPOSE=true +export SLEEP_INTERVAL=${SLEEP_INTERVAL} +./tests/bootstrap.sh ${MATRIX_BROWSER} + +cleanup diff --git a/tests/K8s/chart_lint.sh b/tests/K8s/chart_lint.sh new file mode 100755 index 000000000..25cd5df49 --- /dev/null +++ b/tests/K8s/chart_lint.sh @@ -0,0 +1,28 @@ +#!/bin/bash +# Function to be executed on command failure +on_failure() { + echo "There is step failed with exit status $?" + exit $? +} + +# Trap ERR signal and call on_failure function +trap 'on_failure' ERR + +cd tests || true + +if [ "${CI:-false}" = "false" ]; then + pip3 install virtualenv | grep -v 'Requirement already satisfied' + virtualenv docker-selenium-tests + source docker-selenium-tests/bin/activate +fi + +python -m pip install yamale==4.0.4 \ + yamllint==1.33.0 \ + | grep -v 'Requirement already satisfied' + +cd .. +ct lint --all --config tests/K8s/chart-testing.yaml + +if [ "${CI:-false}" = "false" ]; then + deactivate +fi diff --git a/tests/K8s/chart_setup_env.sh b/tests/K8s/chart_setup_env.sh new file mode 100755 index 000000000..c4bf6e3bc --- /dev/null +++ b/tests/K8s/chart_setup_env.sh @@ -0,0 +1,49 @@ +#!/bin/bash +# Function to be executed on command failure +on_failure() { + echo "There is step failed with exit status $?" + exit $? +} + +# Trap ERR signal and call on_failure function +trap 'on_failure' ERR + +if [ "$(uname -m)" = "x86_64" ]; then + echo "Installing kind for AMD64 / x86_64" + curl -fsSL -o ./kind https://kind.sigs.k8s.io/dl/latest/kind-linux-amd64 + chmod +x ./kind + sudo cp -frp ./kind /usr/local/bin/kind + sudo ln -sf /usr/local/bin/kind /usr/bin/kind + rm -rf kind + kind version + echo "===============================" + + echo "Installing kubectl for AMD64 / x86_64" + curl -fsSL -o ./kubectl "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" + chmod +x ./kubectl + sudo cp -frp ./kubectl /usr/local/bin/kubectl + sudo ln -sf /usr/local/bin/kubectl /usr/bin/kubectl + rm -rf kubectl + kubectl version --client + echo "===============================" + + echo "Installing Helm for AMD64 / x86_64" + curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 + chmod 700 get_helm.sh + ./get_helm.sh + rm -rf get_helm.sh + helm version + echo "===============================" + + echo "Installing chart-testing for AMD64 / x86_64" + curl -fsSL -o ct.tar.gz https://github.com/helm/chart-testing/releases/download/v3.10.1/chart-testing_3.10.1_linux_amd64.tar.gz + sudo mkdir -p /opt/ct + sudo tar -xzf ct.tar.gz -C /opt/ct + sudo chmod +x /opt/ct/ct + sudo ln -sf /opt/ct/ct /usr/bin/ct + sudo cp -frp /opt/ct/ct /usr/local/bin/ct + sudo cp -frp /opt/ct/etc /etc/ct + rm -rf ct.tar.gz + ct version + echo "===============================" +fi diff --git a/tests/kind-cluster-config.yaml b/tests/K8s/kind-cluster-config.yaml old mode 100644 new mode 100755 similarity index 100% rename from tests/kind-cluster-config.yaml rename to tests/K8s/kind-cluster-config.yaml diff --git a/tests/K8sSmokeTest.py b/tests/K8sSmokeTest.py deleted file mode 100644 index 57f118be3..000000000 --- a/tests/K8sSmokeTest.py +++ /dev/null @@ -1,47 +0,0 @@ -import json -import sys -import time - -try: - from urllib2 import urlopen -except ImportError: - from urllib.request import urlopen - -SELENIUM_GRID_URL = sys.argv[1] -max_attempts = 6 -sleep_interval = 10 - - -def get_grid_status(): - try: - response = urlopen('%s/status' % (SELENIUM_GRID_URL)) - print("Response code: " + str(response.getcode())) - response = urlopen('%s/status' % (SELENIUM_GRID_URL)) - encoded_response = response.read() - encoding = response.headers.get_content_charset('utf-8') - decoded_response = encoded_response.decode(encoding) - print("Response: " + decoded_response) - response_json = json.loads(decoded_response) - return response_json['value']['ready'] - except Exception as e: - print(e) - return False - - -def wait_for_grid_to_get_ready(): - result = get_grid_status() - ctr=0 - while(not result): - ctr=ctr+1 - if(ctr>max_attempts): - print("Timed out. Grid is still not in ready state") - sys.exit(1) - - print("Grid is not in ready state. Waiting for {0} secs....".format(sleep_interval)) - time.sleep(sleep_interval) - result = get_grid_status() - print("Grid Status: " + str(result)) - print("Grid is in Ready state now") - - -wait_for_grid_to_get_ready() diff --git a/tests/SmokeTests/__init__.py b/tests/SmokeTests/__init__.py index 6a672d2af..2e5ef768b 100644 --- a/tests/SmokeTests/__init__.py +++ b/tests/SmokeTests/__init__.py @@ -10,27 +10,38 @@ SELENIUM_GRID_HOST = os.environ.get('SELENIUM_GRID_HOST', 'localhost') SELENIUM_GRID_PORT = os.environ.get('SELENIUM_GRID_PORT', '4444') +SELENIUM_GRID_AUTOSCALING = os.environ.get('SELENIUM_GRID_AUTOSCALING', 'false') +SELENIUM_GRID_AUTOSCALING_MIN_REPLICA = os.environ.get('SELENIUM_GRID_AUTOSCALING_MIN_REPLICA', 0) +SLEEP_INTERVAL = os.environ.get('SLEEP_INTERVAL', 3) class SmokeTests(unittest.TestCase): def smoke_test_container(self, port): current_attempts = 0 max_attempts = 3 - sleep_interval = 3 + sleep_interval = int(SLEEP_INTERVAL) status_fetched = False status_json = None + auto_scaling = SELENIUM_GRID_AUTOSCALING == 'true' + auto_scaling_min_replica = int(SELENIUM_GRID_AUTOSCALING_MIN_REPLICA) while current_attempts < max_attempts: current_attempts = current_attempts + 1 try: response = urlopen('http://%s:%s/status' % (SELENIUM_GRID_HOST, port)) status_json = json.loads(response.read()) - self.assertTrue(status_json['value']['ready'], "Container is not ready on port %s" % port) + if not auto_scaling or (auto_scaling and auto_scaling_min_replica > 0): + self.assertTrue(status_json['value']['ready'], "Container is not ready on port %s" % port) + else: + self.assertFalse(status_json['value']['ready'], "Container is autoscaling with min replica set to 0") status_fetched = True except Exception as e: time.sleep(sleep_interval) - self.assertTrue(status_fetched, "Container status was not fetched on port %s" % port) - self.assertTrue(status_json['value']['ready'], "Container is not ready on port %s" % port) + if not auto_scaling or (auto_scaling and auto_scaling_min_replica > 0): + self.assertTrue(status_fetched, "Container status was not fetched on port %s" % port) + self.assertTrue(status_json['value']['ready'], "Container is not ready on port %s" % port) + else: + self.assertFalse(status_json['value']['ready'], "Container is autoscaling with min replica set to 0") class GridTest(SmokeTests): From 57c78c0322f72f22be3fcf0698ad16f55a3dd516 Mon Sep 17 00:00:00 2001 From: Selenium CI Bot Date: Tue, 28 Nov 2023 10:45:24 +0000 Subject: [PATCH 51/84] Update tag in docs and files [skip ci] --- .github/ISSUE_TEMPLATE/bug_report.yml | 2 +- NodeDocker/config.toml | 8 +- README.md | 134 ++++++++++++------------ charts/selenium-grid/CHANGELOG.md | 2 +- charts/selenium-grid/Chart.yaml | 4 +- charts/selenium-grid/README.md | 12 +-- charts/selenium-grid/values.yaml | 24 ++--- docker-compose-v2-tracing.yml | 8 +- docker-compose-v2.yml | 8 +- docker-compose-v3-basicauth.yml | 8 +- docker-compose-v3-dev.yml | 8 +- docker-compose-v3-dynamic-grid.yml | 4 +- docker-compose-v3-full-grid-dev.yml | 16 +-- docker-compose-v3-full-grid-swarm.yml | 8 +- docker-compose-v3-full-grid-tracing.yml | 16 +-- docker-compose-v3-full-grid.yml | 16 +-- docker-compose-v3-swarm.yml | 8 +- docker-compose-v3-tracing.yml | 8 +- docker-compose-v3-video.yml | 14 +-- docker-compose-v3.yml | 8 +- 20 files changed, 158 insertions(+), 158 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index f276a5ec8..293963a20 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -55,6 +55,6 @@ body: attributes: label: Docker Selenium version (tag) description: What version of Docker Selenium are you using? - placeholder: 4.15.0-20231122? Please use the full tag, avoid "latest" + placeholder: 4.15.0-20231128? Please use the full tag, avoid "latest" validations: required: true \ No newline at end of file diff --git a/NodeDocker/config.toml b/NodeDocker/config.toml index a8dd1dc6a..c014087a5 100644 --- a/NodeDocker/config.toml +++ b/NodeDocker/config.toml @@ -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.15.0-20231122", '{"browserName": "firefox", "platformName": "linux"}', - "selenium/standalone-chrome:4.15.0-20231122", '{"browserName": "chrome", "platformName": "linux"}', - "selenium/standalone-edge:4.15.0-20231122", '{"browserName": "MicrosoftEdge", "platformName": "linux"}' + "selenium/standalone-firefox:4.15.0-20231128", '{"browserName": "firefox", "platformName": "linux"}', + "selenium/standalone-chrome:4.15.0-20231128", '{"browserName": "chrome", "platformName": "linux"}', + "selenium/standalone-edge:4.15.0-20231128", '{"browserName": "MicrosoftEdge", "platformName": "linux"}' ] # URL for connecting to the docker daemon @@ -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-6.0-20231122" +video-image = "selenium/video:ffmpeg-6.0-20231128" # Uncomment the following section if you are running the node on a separate VM # Fill out the placeholders with appropriate values diff --git a/README.md b/README.md index 2e5a2967a..8922b112b 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ The project is made possible by volunteer contributors who have put in thousands and made the source code freely available under the [Apache License 2.0](LICENSE.md). These Docker images come with a handful of tags to simplify its usage, have a look at them in one of -our [releases](https://github.com/SeleniumHQ/docker-selenium/releases/tag/4.15.0-20231122). +our [releases](https://github.com/SeleniumHQ/docker-selenium/releases/tag/4.15.0-20231128). To get notifications of new releases, add yourself as a "Releases only" watcher. @@ -64,7 +64,7 @@ Talk to us at https://www.selenium.dev/support/ 1. Start a Docker container with Firefox ```bash -docker run -d -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-firefox:4.15.0-20231122 +docker run -d -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-firefox:4.15.0-20231128 ``` 2. Point your WebDriver tests to http://localhost:4444 @@ -251,17 +251,17 @@ For more information on the Dev and Beta channel container images, see the blog ![Firefox](https://raw.githubusercontent.com/alrra/browser-logos/main/src/firefox/firefox_24x24.png) Firefox ```bash -docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-firefox:4.15.0-20231122 +docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-firefox:4.15.0-20231128 ``` ![Chrome](https://raw.githubusercontent.com/alrra/browser-logos/main/src/chrome/chrome_24x24.png) Chrome ```bash -docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-chrome:4.15.0-20231122 +docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-chrome:4.15.0-20231128 ``` ![Edge](https://raw.githubusercontent.com/alrra/browser-logos/main/src/edge/edge_24x24.png) Edge ```bash -docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-edge:4.15.0-20231122 +docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-edge:4.15.0-20231128 ``` _Note: Only one Standalone container can run on port_ `4444` _at the same time._ @@ -280,44 +280,44 @@ A Docker [network](https://docs.docker.com/engine/reference/commandline/network_ ```bash $ docker network create grid -$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.15.0-20231122 +$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.15.0-20231128 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-chrome:4.15.0-20231122 + selenium/node-chrome:4.15.0-20231128 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-edge:4.15.0-20231122 + selenium/node-edge:4.15.0-20231128 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-firefox:4.15.0-20231122 + selenium/node-firefox:4.15.0-20231128 ``` ##### Windows PowerShell ```powershell $ docker network create grid -$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.15.0-20231122 +$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.15.0-20231128 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub ` --shm-size="2g" ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` - selenium/node-chrome:4.15.0-20231122 + selenium/node-chrome:4.15.0-20231128 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub ` --shm-size="2g" ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` - selenium/node-edge:4.15.0-20231122 + selenium/node-edge:4.15.0-20231128 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub ` --shm-size="2g" ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` - selenium/node-firefox:4.15.0-20231122 + selenium/node-firefox:4.15.0-20231128 ``` When you are done using the Grid, and the containers have exited, the network can be removed with the following command: @@ -334,7 +334,7 @@ configured to expose different ports. ##### Hub - Machine/VM 1 ```bash -$ docker run -d -p 4442-4444:4442-4444 --name selenium-hub selenium/hub:4.15.0-20231122 +$ docker run -d -p 4442-4444:4442-4444 --name selenium-hub selenium/hub:4.15.0-20231128 ``` ##### Node Chrome - Machine/VM 2 @@ -348,7 +348,7 @@ $ docker run -d -p 5555:5555 \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ -e SE_NODE_HOST= \ - selenium/node-chrome:4.15.0-20231122 + selenium/node-chrome:4.15.0-20231128 ``` ###### Windows PowerShell @@ -360,7 +360,7 @@ $ docker run -d -p 5555:5555 ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` -e SE_NODE_HOST= ` - selenium/node-chrome:4.15.0-20231122 + selenium/node-chrome:4.15.0-20231128 ``` @@ -375,7 +375,7 @@ $ docker run -d -p 5555:5555 \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ -e SE_NODE_HOST= \ - selenium/node-edge:4.15.0-20231122 + selenium/node-edge:4.15.0-20231128 ``` ###### Windows PowerShell @@ -387,7 +387,7 @@ $ docker run -d -p 5555:5555 ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` -e SE_NODE_HOST= ` - selenium/node-edge:4.15.0-20231122 + selenium/node-edge:4.15.0-20231128 ``` ##### Node Firefox - Machine/VM 4 @@ -401,7 +401,7 @@ $ docker run -d -p 5555:5555 \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ -e SE_NODE_HOST= \ - selenium/node-firefox:4.15.0-20231122 + selenium/node-firefox:4.15.0-20231128 ``` ###### Windows PowerShell @@ -413,7 +413,7 @@ $ docker run -d -p 5555:5555 ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` -e SE_NODE_HOST= ` - selenium/node-firefox:4.15.0-20231122 + selenium/node-firefox:4.15.0-20231128 ``` ##### Node Chrome - Machine/VM 4 @@ -428,7 +428,7 @@ $ docker run -d -p 5556:5556 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ -e SE_NODE_HOST= \ -e SE_NODE_PORT=5556 \ - selenium/node-chrome:4.15.0-20231122 + selenium/node-chrome:4.15.0-20231128 ``` ###### Windows PowerShell @@ -441,7 +441,7 @@ $ docker run -d -p 5556:5556 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` -e SE_NODE_HOST= ` -e SE_NODE_PORT=5556 ` - selenium/node-chrome:4.15.0-20231122 + selenium/node-chrome:4.15.0-20231128 ``` #### Docker Compose @@ -473,7 +473,7 @@ ___ ## Video recording -Tests execution can be recorded by using the `selenium/video:ffmpeg-6.0-20231122` +Tests execution can be recorded by using the `selenium/video:ffmpeg-6.0-20231128` Docker image. One container is needed per each container where a browser is running. This means if you are running 5 Nodes/Standalone containers, you will need 5 video containers, the mapping is 1-1. @@ -499,8 +499,8 @@ This example shows how to start the containers manually: ``` bash $ docker network create grid -$ docker run -d -p 4444:4444 -p 6900:5900 --net grid --name selenium --shm-size="2g" selenium/standalone-chrome:4.15.0-20231122 -$ docker run -d --net grid --name video -v /tmp/videos:/videos selenium/video:ffmpeg-6.0-20231122 +$ docker run -d -p 4444:4444 -p 6900:5900 --net grid --name selenium --shm-size="2g" selenium/standalone-chrome:4.15.0-20231128 +$ docker run -d --net grid --name video -v /tmp/videos:/videos selenium/video:ffmpeg-6.0-20231128 # Run your tests $ docker stop video && docker rm video $ docker stop selenium && docker rm selenium @@ -532,9 +532,9 @@ You can save this file locally and name it, for example, `config.toml`. # 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.15.0-20231122", '{"browserName": "firefox"}', - "selenium/standalone-chrome:4.15.0-20231122", '{"browserName": "chrome"}', - "selenium/standalone-edge:4.15.0-20231122", '{"browserName": "MicrosoftEdge"}' + "selenium/standalone-firefox:4.15.0-20231128", '{"browserName": "firefox"}', + "selenium/standalone-chrome:4.15.0-20231128", '{"browserName": "chrome"}', + "selenium/standalone-edge:4.15.0-20231128", '{"browserName": "MicrosoftEdge"}' ] # URL for connecting to the docker daemon @@ -547,7 +547,7 @@ configs = [ # Linux: varies from machine to machine, please mount /var/run/docker.sock. If this does not work, please create an issue. url = "http://127.0.0.1:2375" # Docker image used for video recording -video-image = "selenium/video:ffmpeg-6.0-20231122" +video-image = "selenium/video:ffmpeg-6.0-20231128" # Uncomment the following section if you are running the node on a separate VM # Fill out the placeholders with appropriate values @@ -566,28 +566,28 @@ virtual machines. ```bash $ docker network create grid -$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.15.0-20231122 +$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.15.0-20231128 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ -v ${PWD}/config.toml:/opt/bin/config.toml \ -v ${PWD}/assets:/opt/selenium/assets \ -v /var/run/docker.sock:/var/run/docker.sock \ - selenium/node-docker:4.15.0-20231122 + selenium/node-docker:4.15.0-20231128 ``` #### Windows PowerShell ```powershell $ docker network create grid -$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.15.0-20231122 +$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.15.0-20231128 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` -v ${PWD}/config.toml:/opt/bin/config.toml ` -v ${PWD}/assets:/opt/selenium/assets ` -v /var/run/docker.sock:/var/run/docker.sock ` - selenium/node-docker:4.15.0-20231122 + selenium/node-docker:4.15.0-20231128 ``` To have the assets saved on your host, please mount your host path to `/opt/selenium/assets`. @@ -608,7 +608,7 @@ docker run --rm --name selenium-docker -p 4444:4444 \ -v ${PWD}/config.toml:/opt/bin/config.toml \ -v ${PWD}/assets:/opt/selenium/assets \ -v /var/run/docker.sock:/var/run/docker.sock \ - selenium/standalone-docker:4.15.0-20231122 + selenium/standalone-docker:4.15.0-20231128 ``` #### Windows PowerShell @@ -618,7 +618,7 @@ docker run --rm --name selenium-docker -p 4444:4444 ` -v ${PWD}/config.toml:/opt/bin/config.toml ` -v ${PWD}/assets:/opt/selenium/assets ` -v /var/run/docker.sock:/var/run/docker.sock ` - selenium/standalone-docker:4.15.0-20231122 + selenium/standalone-docker:4.15.0-20231128 ``` ### Using Dynamic Grid in different machines/VMs @@ -626,7 +626,7 @@ docker run --rm --name selenium-docker -p 4444:4444 ` #### Hub - Machine/VM 1 ```bash -$ docker run -d -p 4442-4444:4442-4444 --name selenium-hub selenium/hub:4.15.0-20231122 +$ docker run -d -p 4442-4444:4442-4444 --name selenium-hub selenium/hub:4.15.0-20231128 ``` #### Node Chrome - Machine/VM 2 @@ -641,7 +641,7 @@ $ docker run -d -p 5555:5555 \ -v ${PWD}/config.toml:/opt/bin/config.toml \ -v ${PWD}/assets:/opt/selenium/assets \ -v /var/run/docker.sock:/var/run/docker.sock \ - selenium/node-docker:4.15.0-20231122 + selenium/node-docker:4.15.0-20231128 ``` #### Windows PowerShell @@ -654,7 +654,7 @@ $ docker run -d -p 5555:5555 ` -v ${PWD}/config.toml:/opt/bin/config.toml ` -v ${PWD}/assets:/opt/selenium/assets ` -v /var/run/docker.sock:/var/run/docker.sock ` - selenium/node-docker:4.15.0-20231122 + selenium/node-docker:4.15.0-20231128 ``` Complete the `[server]` section in the `config.toml` file. @@ -663,9 +663,9 @@ Complete the `[server]` section in the `config.toml` file. # 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.15.0-20231122", "{\"browserName\": \"firefox\"}", - "selenium/standalone-chrome:4.15.0-20231122", "{\"browserName\": \"chrome\"}", - "selenium/standalone-edge:4.15.0-20231122", "{\"browserName\": \"MicrosoftEdge\"}" + "selenium/standalone-firefox:4.15.0-20231128", "{\"browserName\": \"firefox\"}", + "selenium/standalone-chrome:4.15.0-20231128", "{\"browserName\": \"chrome\"}", + "selenium/standalone-edge:4.15.0-20231128", "{\"browserName\": \"MicrosoftEdge\"}" ] # URL for connecting to the docker daemon @@ -678,7 +678,7 @@ configs = [ # Linux: varies from machine to machine, please mount /var/run/docker.sock. If this does not work, please create an issue. url = "http://127.0.0.1:2375" # Docker image used for video recording -video-image = "selenium/video:ffmpeg-6.0-20231122" +video-image = "selenium/video:ffmpeg-6.0-20231128" # Uncomment the following section if you are running the node on a separate VM # Fill out the placeholders with appropriate values @@ -712,7 +712,7 @@ docker run --rm --name selenium-docker -p 4444:4444 \ -v ${PWD}/config.toml:/opt/bin/config.toml \ -v ${PWD}/assets:/opt/selenium/assets \ -v /var/run/docker.sock:/var/run/docker.sock \ - selenium/standalone-docker:4.15.0-20231122 + selenium/standalone-docker:4.15.0-20231128 ``` #### Windows PowerShell @@ -723,7 +723,7 @@ docker run --rm --name selenium-docker -p 4444:4444 ` -v ${PWD}/config.toml:/opt/bin/config.toml ` -v ${PWD}/assets:/opt/selenium/assets ` -v /var/run/docker.sock:/var/run/docker.sock ` - selenium/standalone-docker:4.15.0-20231122 + selenium/standalone-docker:4.15.0-20231128 ``` @@ -761,7 +761,7 @@ ___ You can pass `SE_OPTS` variable with additional command line parameters for starting a hub or a node. ``` bash -$ docker run -d -p 4444:4444 -e SE_OPTS="--log-level FINE" --name selenium-hub selenium/hub:4.15.0-20231122 +$ docker run -d -p 4444:4444 -e SE_OPTS="--log-level FINE" --name selenium-hub selenium/hub:4.15.0-20231128 ``` ### SE_JAVA_OPTS Java Environment Options @@ -769,7 +769,7 @@ $ docker run -d -p 4444:4444 -e SE_OPTS="--log-level FINE" --name selenium-hub s You can pass `SE_JAVA_OPTS` environment variable to the Java process. ``` bash -$ docker run -d -p 4444:4444 -e SE_JAVA_OPTS=-Xmx512m --name selenium-hub selenium/hub:4.15.0-20231122 +$ docker run -d -p 4444:4444 -e SE_JAVA_OPTS=-Xmx512m --name selenium-hub selenium/hub:4.15.0-20231128 ``` ### Node configuration options @@ -791,7 +791,7 @@ $ docker run -d \ -e SE_EVENT_BUS_HOST= \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 -e SE_NODE_STEREOTYPE="{\"browserName\":\"${SE_NODE_BROWSER_NAME}\",\"browserVersion\":\"${SE_NODE_BROWSER_VERSION}\",\"platformName\": \"Linux\"}" \ - --shm-size="2g" selenium/node-chrome:4.15.0-20231122 + --shm-size="2g" selenium/node-chrome:4.15.0-20231128 ``` ### Setting Sub Path @@ -810,7 +810,7 @@ These settings can be adjusted by specifying `SE_SCREEN_WIDTH`, `SE_SCREEN_HEIGH environmental variables when starting the container. ``` bash -docker run -d -e SE_SCREEN_WIDTH=1366 -e SE_SCREEN_HEIGHT=768 -e SE_SCREEN_DEPTH=24 -e SE_SCREEN_DPI=74 selenium/standalone-firefox:4.15.0-20231122 +docker run -d -e SE_SCREEN_WIDTH=1366 -e SE_SCREEN_HEIGHT=768 -e SE_SCREEN_DEPTH=24 -e SE_SCREEN_DPI=74 selenium/standalone-firefox:4.15.0-20231128 ``` ### Grid Url and Session Timeout @@ -860,7 +860,7 @@ To avoid starting the server you can set the `START_XVFB` environment variable t ``` bash $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ - -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 -e START_XVFB=false --shm-size="2g" selenium/node-chrome:4.15.0-20231122 + -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 -e START_XVFB=false --shm-size="2g" selenium/node-chrome:4.15.0-20231128 ``` For more information, see this GitHub [issue](https://github.com/SeleniumHQ/docker-selenium/issues/567). @@ -873,7 +873,7 @@ pod and then scale a new one after N sessions. Set the environment variable `SE_ a value higher than zero to enable this behaviour. ``` bash -$ docker run -e SE_DRAIN_AFTER_SESSION_COUNT=5 --shm-size="2g" selenium/standalone-firefox:4.15.0-20231122 +$ docker run -e SE_DRAIN_AFTER_SESSION_COUNT=5 --shm-size="2g" selenium/standalone-firefox:4.15.0-20231128 ``` With the previous command, the Standalone container will shut down after 5 sessions have been executed. @@ -965,22 +965,22 @@ $ docker network create grid $ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub \ --health-cmd='/opt/bin/check-grid.sh --host 0.0.0.0 --port 4444' \ --health-interval=15s --health-timeout=30s --health-retries=5 \ - selenium/hub:4.15.0-20231122 + selenium/hub:4.15.0-20231128 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-chrome:4.15.0-20231122 + selenium/node-chrome:4.15.0-20231128 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-edge:4.15.0-20231122 + selenium/node-edge:4.15.0-20231128 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-firefox:4.15.0-20231122 + selenium/node-firefox:4.15.0-20231128 ``` **Note:** The `\` line delimiter won't work on Windows-based terminals, try either `^` or a backtick. @@ -1113,7 +1113,7 @@ RUN mkdir -p -m755 /seluser/.pki/nssdb \ && chown -R 1200:1201 /seluser # Start from Selenium image and add relevant files from build image -FROM selenium/node-chrome:4.15.0-20231122 +FROM selenium/node-chrome:4.15.0-20231128 USER root COPY --from=build /seluser/ /home/seluser/ USER seluser @@ -1128,7 +1128,7 @@ RUN mkdir -p "/distribution" "/certs" && \ echo '{ "policies": { "Certificates": { "Install": ["/opt/firefox-latest/YOUR_CA.pem"] }} }' >"/distribution/policies.json" # Start from Selenium image and add relevant files from build image -FROM selenium/node-firefox:4.15.0-20231122 +FROM selenium/node-firefox:4.15.0-20231128 USER root COPY --from=build /certs /opt/firefox-latest COPY --from=build /distribution /opt/firefox-latest/distribution @@ -1151,9 +1151,9 @@ You can override it with the `SE_VNC_PORT` environment variable in case you want Here is an example with the standalone images, the same concept applies to the node images. ``` bash -$ docker run -d -p 4444:4444 -p 5900:5900 --shm-size="2g" selenium/standalone-chrome:4.15.0-20231122 -$ docker run -d -p 4445:4444 -p 5901:5900 --shm-size="2g" selenium/standalone-edge:4.15.0-20231122 -$ docker run -d -p 4446:4444 -p 5902:5900 --shm-size="2g" selenium/standalone-firefox:4.15.0-20231122 +$ docker run -d -p 4444:4444 -p 5900:5900 --shm-size="2g" selenium/standalone-chrome:4.15.0-20231128 +$ docker run -d -p 4445:4444 -p 5901:5900 --shm-size="2g" selenium/standalone-edge:4.15.0-20231128 +$ docker run -d -p 4446:4444 -p 5902:5900 --shm-size="2g" selenium/standalone-firefox:4.15.0-20231128 ``` Then, you would use in your VNC client: @@ -1179,9 +1179,9 @@ You can also override it with the `SE_NO_VNC_PORT` environment variable in case Here is an example with the standalone images, the same concept applies to the node images. ``` bash -$ docker run -d -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-chrome:4.15.0-20231122 -$ docker run -d -p 4445:4444 -p 7901:7900 --shm-size="2g" selenium/standalone-edge:4.15.0-20231122 -$ docker run -d -p 4446:4444 -p 7902:7900 --shm-size="2g" selenium/standalone-firefox:4.15.0-20231122 +$ docker run -d -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-chrome:4.15.0-20231128 +$ docker run -d -p 4445:4444 -p 7901:7900 --shm-size="2g" selenium/standalone-edge:4.15.0-20231128 +$ docker run -d -p 4446:4444 -p 7902:7900 --shm-size="2g" selenium/standalone-firefox:4.15.0-20231128 ``` Then, you would use in your browser: @@ -1206,28 +1206,28 @@ In order to enable tracing in the Selenium Grid container, the following command ```bash docker network create grid docker run -d -p 16686:16686 -p 14250:14250 --net grid --name jaeger jaegertracing/all-in-one:1.17 -docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.15.0-20231122 +docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.15.0-20231128 docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_ENABLE_TRACING=true \ -e JAVA_OPTS="-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-chrome" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-chrome:4.15.0-20231122 + selenium/node-chrome:4.15.0-20231128 docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_ENABLE_TRACING=true \ -e JAVA_OPTS="-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-edge" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-edge:4.15.0-20231122 + selenium/node-edge:4.15.0-20231128 docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_ENABLE_TRACING=true \ -e JAVA_OPTS="-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-firefox" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-firefox:4.15.0-20231122 + selenium/node-firefox:4.15.0-20231128 ``` You can also refer to the below docker-compose yaml files to be able to start a simple grid (or) a dynamic grid. @@ -1287,7 +1287,7 @@ container in the following way: ```bash docker run -d -p 4444:4444 --shm-size="2g" \ -v /home/ubuntu/files:/home/seluser/files \ - selenium/standalone-chrome:4.15.0-20231122 + selenium/standalone-chrome:4.15.0-20231128 ``` That will mount the host `/home/ubuntu/files` directory diff --git a/charts/selenium-grid/CHANGELOG.md b/charts/selenium-grid/CHANGELOG.md index fda597389..b92493cd0 100644 --- a/charts/selenium-grid/CHANGELOG.md +++ b/charts/selenium-grid/CHANGELOG.md @@ -17,7 +17,7 @@ All notable changes to this helm chart will be documented in this file. - feat: Adding port to nodes service (#1196) :: Viet Nguyen Duc ### Changed -- Update image tag to 4.15.0-20231122 +- Update image tag to 4.15.0-20231128 ## :heavy_check_mark: 0.23.0 diff --git a/charts/selenium-grid/Chart.yaml b/charts/selenium-grid/Chart.yaml index 3bcf73628..d300a367d 100644 --- a/charts/selenium-grid/Chart.yaml +++ b/charts/selenium-grid/Chart.yaml @@ -2,8 +2,8 @@ apiVersion: v2 name: selenium-grid description: A Helm chart for creating a Selenium Grid Server in Kubernetes type: application -version: 0.25.1 -appVersion: 4.15.0-20231122 +version: 0.25.2 +appVersion: 4.15.0-20231128 icon: https://github.com/SeleniumHQ/docker-selenium/raw/trunk/logo.png dependencies: - repository: https://kedacore.github.io/charts diff --git a/charts/selenium-grid/README.md b/charts/selenium-grid/README.md index bcd2ad492..3bb8dff49 100644 --- a/charts/selenium-grid/README.md +++ b/charts/selenium-grid/README.md @@ -85,8 +85,8 @@ For now, global configuration supported is: | Parameter | Default | Description | |---------------------------------------|-------------------|---------------------------------------| -| `global.seleniumGrid.imageTag` | `4.15.0-20231122` | Image tag for all selenium components | -| `global.seleniumGrid.nodesImageTag` | `4.15.0-20231122` | Image tag for browser's nodes | +| `global.seleniumGrid.imageTag` | `4.15.0-20231128` | Image tag for all selenium components | +| `global.seleniumGrid.nodesImageTag` | `4.15.0-20231128` | Image tag for browser's nodes | | `global.seleniumGrid.imagePullSecret` | `""` | Pull secret to be used for all images | | `global.seleniumGrid.imagePullSecret` | `""` | Pull secret to be used for all images | | `global.seleniumGrid.affinity` | `{}` | Affinity assigned globally | @@ -128,7 +128,7 @@ This table contains the configuration parameters of the chart and their default | `chromeNode.deploymentEnabled` | `true` | Enable creation of Deployment for chrome nodes | | `chromeNode.replicas` | `1` | Number of chrome nodes. Disabled if autoscaling is enabled. | | `chromeNode.imageName` | `selenium/node-chrome` | Image of chrome nodes | -| `chromeNode.imageTag` | `4.15.0-20231122` | Image of chrome nodes | +| `chromeNode.imageTag` | `4.15.0-20231128` | Image of chrome nodes | | `chromeNode.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | | `chromeNode.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | | `chromeNode.ports` | `[5555]` | Port list to enable on container | @@ -167,7 +167,7 @@ This table contains the configuration parameters of the chart and their default | `firefoxNode.deploymentEnabled` | `true` | Enable creation of Deployment for firefox nodes | | `firefoxNode.replicas` | `1` | Number of firefox nodes. Disabled if autoscaling is enabled. | | `firefoxNode.imageName` | `selenium/node-firefox` | Image of firefox nodes | -| `firefoxNode.imageTag` | `4.15.0-20231122` | Image of firefox nodes | +| `firefoxNode.imageTag` | `4.15.0-20231128` | Image of firefox nodes | | `firefoxNode.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | | `firefoxNode.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | | `firefoxNode.ports` | `[5555]` | Port list to enable on container | @@ -206,7 +206,7 @@ This table contains the configuration parameters of the chart and their default | `edgeNode.deploymentEnabled` | `true` | Enable creation of Deployment for edge nodes | | `edgeNode.replicas` | `1` | Number of edge nodes. Disabled if autoscaling is enabled. | | `edgeNode.imageName` | `selenium/node-edge` | Image of edge nodes | -| `edgeNode.imageTag` | `4.15.0-20231122` | Image of edge nodes | +| `edgeNode.imageTag` | `4.15.0-20231128` | Image of edge nodes | | `edgeNode.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | | `edgeNode.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | | `edgeNode.ports` | `[5555]` | Port list to enable on container | @@ -243,7 +243,7 @@ This table contains the configuration parameters of the chart and their default | `edgeNode.scaledObjectOptions` | See `values.yaml` | Override the global `autoscaling.scaledObjectOptions` with specific scaled options for edge nodes | | `videoRecorder.enabled` | `false` | Enable video recorder for node | | `videoRecorder.imageName` | `selenium/video` | Selenium video recoder image name | -| `videoRecorder.imageTag` | `ffmpeg-6.0-20231122` | Image tag of video recorder | +| `videoRecorder.imageTag` | `ffmpeg-6.0-20231128` | Image tag of video recorder | | `videoRecorder.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | | `videoRecorder.uploader` | `false` | Name of the uploader to use. The value `false` is used to disable uploader. Supported default `s3` | | `videoRecorder.uploadDestinationPrefix` | `false` | Destination URL for uploading video file. The value `false` is used to disable the uploading | diff --git a/charts/selenium-grid/values.yaml b/charts/selenium-grid/values.yaml index 469dfe306..5467674a3 100644 --- a/charts/selenium-grid/values.yaml +++ b/charts/selenium-grid/values.yaml @@ -1,9 +1,9 @@ global: seleniumGrid: # Image tag for all selenium components - imageTag: 4.15.0-20231122 + imageTag: 4.15.0-20231128 # Image tag for browser's nodes - nodesImageTag: 4.15.0-20231122 + nodesImageTag: 4.15.0-20231128 # Pull secret for all components, can be overridden individually imagePullSecret: "" @@ -66,7 +66,7 @@ components: # Router image name imageName: selenium/router # Router image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.15.0-20231122 + # imageTag: 4.15.0-20231128 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent @@ -117,7 +117,7 @@ components: # Distributor image name imageName: selenium/distributor # Distributor image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.15.0-20231122 + # imageTag: 4.15.0-20231128 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent @@ -148,7 +148,7 @@ components: # Event Bus image name imageName: selenium/event-bus # Event Bus image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.15.0-20231122 + # imageTag: 4.15.0-20231128 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent @@ -183,7 +183,7 @@ components: # Session Map image name imageName: selenium/sessions # Session Map image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.15.0-20231122 + # imageTag: 4.15.0-20231128 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent @@ -213,7 +213,7 @@ components: # Session Queue image name imageName: selenium/session-queue # Session Queue image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.15.0-20231122 + # imageTag: 4.15.0-20231128 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent @@ -263,7 +263,7 @@ hub: # Selenium Hub image name imageName: selenium/hub # Selenium Hub image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.15.0-20231122 + # imageTag: 4.15.0-20231128 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent # Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) @@ -403,7 +403,7 @@ chromeNode: # Image of chrome nodes imageName: selenium/node-chrome # Image of chrome nodes (this overwrites global.seleniumGrid.nodesImageTag) - # imageTag: 4.15.0-20231122 + # imageTag: 4.15.0-20231128 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent # Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) @@ -535,7 +535,7 @@ firefoxNode: # Image of firefox nodes imageName: selenium/node-firefox # Image of firefox nodes (this overwrites global.seleniumGrid.nodesImageTag) - # imageTag: 4.15.0-20231122 + # imageTag: 4.15.0-20231128 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent # Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) @@ -664,7 +664,7 @@ edgeNode: # Image of edge nodes imageName: selenium/node-edge # Image of edge nodes (this overwrites global.seleniumGrid.nodesImageTag) - # imageTag: 4.15.0-20231122 + # imageTag: 4.15.0-20231128 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent # Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) @@ -782,7 +782,7 @@ videoRecorder: # Image of video recorder imageName: selenium/video # Image of video recorder - imageTag: ffmpeg-6.0-20231122 + imageTag: ffmpeg-6.0-20231128 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent # Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) diff --git a/docker-compose-v2-tracing.yml b/docker-compose-v2-tracing.yml index 53eedb26f..76d9e0e4a 100644 --- a/docker-compose-v2-tracing.yml +++ b/docker-compose-v2-tracing.yml @@ -9,7 +9,7 @@ services: - "16686:16686" - "14250:14250" chrome: - image: selenium/node-chrome:4.15.0-20231122 + image: selenium/node-chrome:4.15.0-20231128 shm_size: 2gb depends_on: - selenium-hub @@ -23,7 +23,7 @@ services: - "6900:5900" edge: - image: selenium/node-edge:4.15.0-20231122 + image: selenium/node-edge:4.15.0-20231128 shm_size: 2gb depends_on: - selenium-hub @@ -37,7 +37,7 @@ services: - "6901:5900" firefox: - image: selenium/node-firefox:4.15.0-20231122 + image: selenium/node-firefox:4.15.0-20231128 shm_size: 2gb depends_on: - selenium-hub @@ -51,7 +51,7 @@ services: - "6902:5900" selenium-hub: - image: selenium/hub:4.15.0-20231122 + image: selenium/hub:4.15.0-20231128 ports: - "4442:4442" - "4443:4443" diff --git a/docker-compose-v2.yml b/docker-compose-v2.yml index 259b5253c..d576b405e 100644 --- a/docker-compose-v2.yml +++ b/docker-compose-v2.yml @@ -4,7 +4,7 @@ version: '2' services: chrome: - image: selenium/node-chrome:4.15.0-20231122 + image: selenium/node-chrome:4.15.0-20231128 shm_size: 2gb depends_on: - selenium-hub @@ -16,7 +16,7 @@ services: - "6900:5900" edge: - image: selenium/node-edge:4.15.0-20231122 + image: selenium/node-edge:4.15.0-20231128 shm_size: 2gb depends_on: - selenium-hub @@ -28,7 +28,7 @@ services: - "6901:5900" firefox: - image: selenium/node-firefox:4.15.0-20231122 + image: selenium/node-firefox:4.15.0-20231128 shm_size: 2gb depends_on: - selenium-hub @@ -40,7 +40,7 @@ services: - "6902:5900" selenium-hub: - image: selenium/hub:4.15.0-20231122 + image: selenium/hub:4.15.0-20231128 ports: - "4442:4442" - "4443:4443" diff --git a/docker-compose-v3-basicauth.yml b/docker-compose-v3-basicauth.yml index da1413143..33a3e8ece 100644 --- a/docker-compose-v3-basicauth.yml +++ b/docker-compose-v3-basicauth.yml @@ -4,7 +4,7 @@ version: "3" services: chrome: - image: selenium/node-chrome:4.15.0-20231122 + image: selenium/node-chrome:4.15.0-20231128 shm_size: 2gb depends_on: - selenium-hub @@ -14,7 +14,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.15.0-20231122 + image: selenium/node-edge:4.15.0-20231128 shm_size: 2gb depends_on: - selenium-hub @@ -24,7 +24,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.15.0-20231122 + image: selenium/node-firefox:4.15.0-20231128 shm_size: 2gb depends_on: - selenium-hub @@ -34,7 +34,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-hub: - image: selenium/hub:4.15.0-20231122 + image: selenium/hub:4.15.0-20231128 container_name: selenium-hub ports: - "4442:4442" diff --git a/docker-compose-v3-dev.yml b/docker-compose-v3-dev.yml index 61a41298a..0a9693692 100644 --- a/docker-compose-v3-dev.yml +++ b/docker-compose-v3-dev.yml @@ -4,7 +4,7 @@ version: "3" services: chrome: - image: selenium/node-chrome:4.15.0-20231122 + image: selenium/node-chrome:4.15.0-20231128 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar @@ -16,7 +16,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.15.0-20231122 + image: selenium/node-edge:4.15.0-20231128 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar @@ -28,7 +28,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.15.0-20231122 + image: selenium/node-firefox:4.15.0-20231128 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar @@ -40,7 +40,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-hub: - image: selenium/hub:4.15.0-20231122 + image: selenium/hub:4.15.0-20231128 container_name: selenium-hub volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar diff --git a/docker-compose-v3-dynamic-grid.yml b/docker-compose-v3-dynamic-grid.yml index 2b80682ca..20d19b70b 100644 --- a/docker-compose-v3-dynamic-grid.yml +++ b/docker-compose-v3-dynamic-grid.yml @@ -4,7 +4,7 @@ version: "3" services: node-docker: - image: selenium/node-docker:4.15.0-20231122 + image: selenium/node-docker:4.15.0-20231128 volumes: - ./assets:/opt/selenium/assets - ./NodeDocker/config.toml:/opt/bin/config.toml @@ -17,7 +17,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-hub: - image: selenium/hub:4.15.0-20231122 + image: selenium/hub:4.15.0-20231128 container_name: selenium-hub ports: - "4442:4442" diff --git a/docker-compose-v3-full-grid-dev.yml b/docker-compose-v3-full-grid-dev.yml index 2d3c6c258..7690805bf 100644 --- a/docker-compose-v3-full-grid-dev.yml +++ b/docker-compose-v3-full-grid-dev.yml @@ -4,7 +4,7 @@ version: "3" services: selenium-event-bus: - image: selenium/event-bus:4.15.0-20231122 + image: selenium/event-bus:4.15.0-20231128 volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar container_name: selenium-event-bus @@ -14,7 +14,7 @@ services: - "5557:5557" selenium-sessions: - image: selenium/sessions:4.15.0-20231122 + image: selenium/sessions:4.15.0-20231128 volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar container_name: selenium-sessions @@ -28,7 +28,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-session-queue: - image: selenium/session-queue:4.15.0-20231122 + image: selenium/session-queue:4.15.0-20231128 volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar container_name: selenium-session-queue @@ -36,7 +36,7 @@ services: - "5559:5559" selenium-distributor: - image: selenium/distributor:4.15.0-20231122 + image: selenium/distributor:4.15.0-20231128 volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar container_name: selenium-distributor @@ -56,7 +56,7 @@ services: - SE_SESSION_QUEUE_PORT=5559 selenium-router: - image: selenium/router:4.15.0-20231122 + image: selenium/router:4.15.0-20231128 volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar container_name: selenium-router @@ -75,7 +75,7 @@ services: - SE_SESSION_QUEUE_PORT=5559 chrome: - image: selenium/node-chrome:4.15.0-20231122 + image: selenium/node-chrome:4.15.0-20231128 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar @@ -87,7 +87,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.15.0-20231122 + image: selenium/node-edge:4.15.0-20231128 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar @@ -99,7 +99,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.15.0-20231122 + image: selenium/node-firefox:4.15.0-20231128 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar diff --git a/docker-compose-v3-full-grid-swarm.yml b/docker-compose-v3-full-grid-swarm.yml index 9d35c94bb..7477b82cc 100644 --- a/docker-compose-v3-full-grid-swarm.yml +++ b/docker-compose-v3-full-grid-swarm.yml @@ -7,7 +7,7 @@ version: '3.7' services: chrome: - image: selenium/node-chrome:4.15.0-20231122 + image: selenium/node-chrome:4.15.0-20231128 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -18,7 +18,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' edge: - image: selenium/node-edge:4.15.0-20231122 + image: selenium/node-edge:4.15.0-20231128 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -29,7 +29,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' firefox: - image: selenium/node-firefox:4.15.0-20231122 + image: selenium/node-firefox:4.15.0-20231128 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -40,7 +40,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' selenium-hub: - image: selenium/hub:4.15.0-20231122 + image: selenium/hub:4.15.0-20231128 ports: - "4442:4442" - "4443:4443" diff --git a/docker-compose-v3-full-grid-tracing.yml b/docker-compose-v3-full-grid-tracing.yml index 62fa03692..8d42d757c 100644 --- a/docker-compose-v3-full-grid-tracing.yml +++ b/docker-compose-v3-full-grid-tracing.yml @@ -9,7 +9,7 @@ services: - "16686:16686" - "14250:14250" selenium-event-bus: - image: selenium/event-bus:4.15.0-20231122 + image: selenium/event-bus:4.15.0-20231128 container_name: selenium-event-bus ports: - "4442:4442" @@ -21,7 +21,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-event-bus selenium-sessions: - image: selenium/sessions:4.15.0-20231122 + image: selenium/sessions:4.15.0-20231128 container_name: selenium-sessions ports: - "5556:5556" @@ -34,7 +34,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-sessions selenium-session-queue: - image: selenium/session-queue:4.15.0-20231122 + image: selenium/session-queue:4.15.0-20231128 container_name: selenium-session-queue ports: - "5559:5559" @@ -42,7 +42,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-session-queue selenium-distributor: - image: selenium/distributor:4.15.0-20231122 + image: selenium/distributor:4.15.0-20231128 container_name: selenium-distributor ports: - "5553:5553" @@ -61,7 +61,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-distributor selenium-router: - image: selenium/router:4.15.0-20231122 + image: selenium/router:4.15.0-20231128 container_name: selenium-router ports: - "4444:4444" @@ -79,7 +79,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-router chrome: - image: selenium/node-chrome:4.15.0-20231122 + image: selenium/node-chrome:4.15.0-20231128 shm_size: 2gb depends_on: - selenium-event-bus @@ -90,7 +90,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-chrome edge: - image: selenium/node-edge:4.15.0-20231122 + image: selenium/node-edge:4.15.0-20231128 shm_size: 2gb depends_on: - selenium-event-bus @@ -101,7 +101,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-edge firefox: - image: selenium/node-firefox:4.15.0-20231122 + image: selenium/node-firefox:4.15.0-20231128 shm_size: 2gb depends_on: - selenium-event-bus diff --git a/docker-compose-v3-full-grid.yml b/docker-compose-v3-full-grid.yml index 78a962995..497d58db3 100644 --- a/docker-compose-v3-full-grid.yml +++ b/docker-compose-v3-full-grid.yml @@ -4,7 +4,7 @@ version: "3" services: selenium-event-bus: - image: selenium/event-bus:4.15.0-20231122 + image: selenium/event-bus:4.15.0-20231128 container_name: selenium-event-bus ports: - "4442:4442" @@ -12,7 +12,7 @@ services: - "5557:5557" selenium-sessions: - image: selenium/sessions:4.15.0-20231122 + image: selenium/sessions:4.15.0-20231128 container_name: selenium-sessions ports: - "5556:5556" @@ -24,13 +24,13 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-session-queue: - image: selenium/session-queue:4.15.0-20231122 + image: selenium/session-queue:4.15.0-20231128 container_name: selenium-session-queue ports: - "5559:5559" selenium-distributor: - image: selenium/distributor:4.15.0-20231122 + image: selenium/distributor:4.15.0-20231128 container_name: selenium-distributor ports: - "5553:5553" @@ -48,7 +48,7 @@ services: - SE_SESSION_QUEUE_PORT=5559 selenium-router: - image: selenium/router:4.15.0-20231122 + image: selenium/router:4.15.0-20231128 container_name: selenium-router ports: - "4444:4444" @@ -65,7 +65,7 @@ services: - SE_SESSION_QUEUE_PORT=5559 chrome: - image: selenium/node-chrome:4.15.0-20231122 + image: selenium/node-chrome:4.15.0-20231128 shm_size: 2gb depends_on: - selenium-event-bus @@ -75,7 +75,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.15.0-20231122 + image: selenium/node-edge:4.15.0-20231128 shm_size: 2gb depends_on: - selenium-event-bus @@ -85,7 +85,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.15.0-20231122 + image: selenium/node-firefox:4.15.0-20231128 shm_size: 2gb depends_on: - selenium-event-bus diff --git a/docker-compose-v3-swarm.yml b/docker-compose-v3-swarm.yml index 9d35c94bb..7477b82cc 100644 --- a/docker-compose-v3-swarm.yml +++ b/docker-compose-v3-swarm.yml @@ -7,7 +7,7 @@ version: '3.7' services: chrome: - image: selenium/node-chrome:4.15.0-20231122 + image: selenium/node-chrome:4.15.0-20231128 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -18,7 +18,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' edge: - image: selenium/node-edge:4.15.0-20231122 + image: selenium/node-edge:4.15.0-20231128 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -29,7 +29,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' firefox: - image: selenium/node-firefox:4.15.0-20231122 + image: selenium/node-firefox:4.15.0-20231128 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -40,7 +40,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' selenium-hub: - image: selenium/hub:4.15.0-20231122 + image: selenium/hub:4.15.0-20231128 ports: - "4442:4442" - "4443:4443" diff --git a/docker-compose-v3-tracing.yml b/docker-compose-v3-tracing.yml index 30e5535ac..7173fbc66 100644 --- a/docker-compose-v3-tracing.yml +++ b/docker-compose-v3-tracing.yml @@ -9,7 +9,7 @@ services: - "16686:16686" - "14250:14250" chrome: - image: selenium/node-chrome:4.15.0-20231122 + image: selenium/node-chrome:4.15.0-20231128 shm_size: 2gb depends_on: - selenium-hub @@ -21,7 +21,7 @@ services: - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-chrome edge: - image: selenium/node-edge:4.15.0-20231122 + image: selenium/node-edge:4.15.0-20231128 shm_size: 2gb depends_on: - selenium-hub @@ -33,7 +33,7 @@ services: - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-edge firefox: - image: selenium/node-firefox:4.15.0-20231122 + image: selenium/node-firefox:4.15.0-20231128 shm_size: 2gb depends_on: - selenium-hub @@ -45,7 +45,7 @@ services: - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-firefox selenium-hub: - image: selenium/hub:4.15.0-20231122 + image: selenium/hub:4.15.0-20231128 container_name: selenium-hub ports: - "4442:4442" diff --git a/docker-compose-v3-video.yml b/docker-compose-v3-video.yml index 7ae22d7a3..f481b8e25 100644 --- a/docker-compose-v3-video.yml +++ b/docker-compose-v3-video.yml @@ -4,7 +4,7 @@ version: "3" services: chrome: - image: selenium/node-chrome:4.15.0-20231122 + image: selenium/node-chrome:4.15.0-20231128 shm_size: 2gb depends_on: - selenium-hub @@ -14,7 +14,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.15.0-20231122 + image: selenium/node-edge:4.15.0-20231128 shm_size: 2gb depends_on: - selenium-hub @@ -24,7 +24,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.15.0-20231122 + image: selenium/node-firefox:4.15.0-20231128 shm_size: 2gb depends_on: - selenium-hub @@ -34,7 +34,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 chrome_video: - image: selenium/video:ffmpeg-6.0-20231122 + image: selenium/video:ffmpeg-6.0-20231128 volumes: - /tmp/videos:/videos depends_on: @@ -44,7 +44,7 @@ services: - FILE_NAME=chrome_video.mp4 edge_video: - image: selenium/video:ffmpeg-6.0-20231122 + image: selenium/video:ffmpeg-6.0-20231128 volumes: - /tmp/videos:/videos depends_on: @@ -54,7 +54,7 @@ services: - FILE_NAME=edge_video.mp4 firefox_video: - image: selenium/video:ffmpeg-6.0-20231122 + image: selenium/video:ffmpeg-6.0-20231128 volumes: - /tmp/videos:/videos depends_on: @@ -64,7 +64,7 @@ services: - FILE_NAME=firefox_video.mp4 selenium-hub: - image: selenium/hub:4.15.0-20231122 + image: selenium/hub:4.15.0-20231128 container_name: selenium-hub ports: - "4442:4442" diff --git a/docker-compose-v3.yml b/docker-compose-v3.yml index d5641f2cb..e4c305204 100644 --- a/docker-compose-v3.yml +++ b/docker-compose-v3.yml @@ -4,7 +4,7 @@ version: "3" services: chrome: - image: selenium/node-chrome:4.15.0-20231122 + image: selenium/node-chrome:4.15.0-20231128 shm_size: 2gb depends_on: - selenium-hub @@ -14,7 +14,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.15.0-20231122 + image: selenium/node-edge:4.15.0-20231128 shm_size: 2gb depends_on: - selenium-hub @@ -24,7 +24,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.15.0-20231122 + image: selenium/node-firefox:4.15.0-20231128 shm_size: 2gb depends_on: - selenium-hub @@ -34,7 +34,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-hub: - image: selenium/hub:4.15.0-20231122 + image: selenium/hub:4.15.0-20231128 container_name: selenium-hub ports: - "4442:4442" From e3304b41619d6e88377836c2fe09e0fcd81a917a Mon Sep 17 00:00:00 2001 From: Viet Nguyen Duc Date: Wed, 29 Nov 2023 14:32:59 +0700 Subject: [PATCH 52/84] bug(#1888): TimeZone change behavior changed (#2031) Signed-off-by: Viet Nguyen Duc --- Base/Dockerfile | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Base/Dockerfile b/Base/Dockerfile index 0e2481ddf..d15e08c2a 100644 --- a/Base/Dockerfile +++ b/Base/Dockerfile @@ -39,8 +39,9 @@ RUN apt-get -qqy update \ # Possible alternative: https://github.com/docker/docker/issues/3359#issuecomment-32150214 #=================== ENV TZ "UTC" -RUN echo "${TZ}" > /etc/timezone \ - && dpkg-reconfigure --frontend noninteractive tzdata +RUN ln -fs /usr/share/zoneinfo/${TZ} /etc/localtime && \ + dpkg-reconfigure -f noninteractive tzdata && \ + cat /etc/timezone #======================================== # Add normal user and group with passwordless sudo From 7545bc9b0b4590bcfebf4ae2cc30f8a6d9b0b04b Mon Sep 17 00:00:00 2001 From: Viet Nguyen Duc Date: Wed, 29 Nov 2023 16:10:12 +0700 Subject: [PATCH 53/84] feat(chart): distribution registry can be set global and individual component (#2030) * test: Sanity tests Selenium Grid chart via Makefile commands Signed-off-by: Viet Nguyen Duc * Remove redundant if: statement from workflow [skip ci] Signed-off-by: Viet Nguyen Duc * Add event workflow_dispatch to release charts [skip ci] Signed-off-by: Viet Nguyen Duc * test: Sanity tests Selenium Grid chart via Makefile commands Signed-off-by: Viet Nguyen Duc * Increase nginx ingress timeout Signed-off-by: Viet Nguyen Duc * feat: distribution registry can be set global and individual component Signed-off-by: Viet Nguyen Duc * feat: distribution registry can be set global and individual component Signed-off-by: Viet Nguyen Duc * Update chart values.yaml Signed-off-by: Viet Nguyen Duc * Update for Released notes to extract Chrome version after PR #2018 Signed-off-by: Viet Nguyen Duc --------- Signed-off-by: Viet Nguyen Duc --- .github/workflows/build-test.yml | 2 - .github/workflows/deploy.yml | 2 +- .github/workflows/helm-chart-release.yml | 1 + .github/workflows/helm-chart-test.yml | 2 - .github/workflows/test-video.yml | 2 - charts/selenium-grid/README.md | 196 ++++++++++-------- .../selenium-grid/ci/auth-ingress-values.yaml | 3 + charts/selenium-grid/templates/_helpers.tpl | 7 +- .../templates/distributor-deployment.yaml | 3 +- .../templates/event-bus-deployment.yaml | 3 +- .../templates/hub-deployment.yaml | 3 +- .../templates/router-deployment.yaml | 3 +- .../templates/session-map-deployment.yaml | 3 +- .../templates/session-queuer-deployment.yaml | 3 +- charts/selenium-grid/values.yaml | 36 +++- generate_release_notes.sh | 2 +- tag_and_push_browser_images.sh | 2 +- tests/K8s/chart_cluster_setup.sh | 5 +- tests/K8s/chart_install.sh | 24 ++- tests/K8s/chart_lint.sh | 5 +- tests/K8s/chart_setup_env.sh | 5 +- tests/SeleniumTests/__init__.py | 3 +- tests/SmokeTests/__init__.py | 7 +- 23 files changed, 184 insertions(+), 138 deletions(-) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index 6ec2a7d98..0bdda25c5 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -9,8 +9,6 @@ permissions: jobs: build-and-test: - # Skip job based on the commit message, only works in push to branches for now - if: contains(toJson(github.event.commits), '[skip ci]') == false name: Build & test Docker images with random user runs-on: ubuntu-latest strategy: diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 8b4c99084..de0ac5db9 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -78,7 +78,7 @@ jobs: run: | git config --local user.email "selenium-ci@users.noreply.github.com" git config --local user.name "Selenium CI Bot" - git commit -m "Update tag in docs and files [skip ci]" -a + git commit -m "Update tag in docs and files" -a - name: Push changes uses: ad-m/github-push-action@d91a481090679876dfc4178fef17f286781251df # master with: diff --git a/.github/workflows/helm-chart-release.yml b/.github/workflows/helm-chart-release.yml index e31046aba..252ca1840 100644 --- a/.github/workflows/helm-chart-release.yml +++ b/.github/workflows/helm-chart-release.yml @@ -6,6 +6,7 @@ on: - trunk paths: - 'charts/selenium-grid/Chart.yaml' + workflow_dispatch: jobs: release: diff --git a/.github/workflows/helm-chart-test.yml b/.github/workflows/helm-chart-test.yml index 9d2c4a8fc..2c1cd307c 100644 --- a/.github/workflows/helm-chart-test.yml +++ b/.github/workflows/helm-chart-test.yml @@ -14,8 +14,6 @@ permissions: jobs: build-and-test: - # Skip job based on the commit message, only works in push to branches for now - if: contains(toJson(github.event.commits), '[skip ci]') == false name: Build & test Docker images with Helm charts runs-on: ubuntu-latest steps: diff --git a/.github/workflows/test-video.yml b/.github/workflows/test-video.yml index da59f8a8f..e65301460 100644 --- a/.github/workflows/test-video.yml +++ b/.github/workflows/test-video.yml @@ -9,8 +9,6 @@ permissions: jobs: build-and-test: - # Skip job based on the commit message, only works in push to branches for now - if: contains(toJson(github.event.commits), '[skip ci]') == false name: Test video recorded through Docker Selenium runs-on: ubuntu-latest steps: diff --git a/charts/selenium-grid/README.md b/charts/selenium-grid/README.md index 3bb8dff49..94d46fb4e 100644 --- a/charts/selenium-grid/README.md +++ b/charts/selenium-grid/README.md @@ -33,7 +33,7 @@ helm install selenium-grid --set ingress.hostname=selenium-grid.k8s.local docker ## Enable Selenium Grid Autoscaling -Selenium Grid has the ability to autoscale browser nodes up/down based on the pending requests in the +Selenium Grid has the ability to autoscaling browser nodes up/down based on the pending requests in the session queue. To do this [KEDA](https://keda.sh/docs/2.12/scalers/selenium-grid-scaler/) is used. When enabling @@ -83,13 +83,15 @@ helm uninstall selenium-grid For now, global configuration supported is: -| Parameter | Default | Description | -|---------------------------------------|-------------------|---------------------------------------| -| `global.seleniumGrid.imageTag` | `4.15.0-20231128` | Image tag for all selenium components | -| `global.seleniumGrid.nodesImageTag` | `4.15.0-20231128` | Image tag for browser's nodes | -| `global.seleniumGrid.imagePullSecret` | `""` | Pull secret to be used for all images | -| `global.seleniumGrid.imagePullSecret` | `""` | Pull secret to be used for all images | -| `global.seleniumGrid.affinity` | `{}` | Affinity assigned globally | +| Parameter | Default | Description | +|---------------------------------------|-----------------------|---------------------------------------| +| `global.seleniumGrid.imageRegistry` | `selenium` | Distribution registry to pull images | +| `global.seleniumGrid.imageTag` | `4.15.0-20231128` | Image tag for all selenium components | +| `global.seleniumGrid.nodesImageTag` | `4.15.0-20231128` | Image tag for browser's nodes | +| `global.seleniumGrid.videoImageTag` | `ffmpeg-6.0-20231128` | Image tag for browser's video recoder | +| `global.seleniumGrid.imagePullSecret` | `""` | Pull secret to be used for all images | +| `global.seleniumGrid.imagePullSecret` | `""` | Pull secret to be used for all images | +| `global.seleniumGrid.affinity` | `{}` | Affinity assigned globally | This table contains the configuration parameters of the chart and their default values: @@ -127,7 +129,8 @@ This table contains the configuration parameters of the chart and their default | `chromeNode.enabled` | `true` | Enable chrome nodes | | `chromeNode.deploymentEnabled` | `true` | Enable creation of Deployment for chrome nodes | | `chromeNode.replicas` | `1` | Number of chrome nodes. Disabled if autoscaling is enabled. | -| `chromeNode.imageName` | `selenium/node-chrome` | Image of chrome nodes | +| `chromeNode.imageRegistry` | `nil` | Distribution registry to pull the image | +| `chromeNode.imageName` | `node-chrome` | Image of chrome nodes | | `chromeNode.imageTag` | `4.15.0-20231128` | Image of chrome nodes | | `chromeNode.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | | `chromeNode.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | @@ -166,7 +169,8 @@ This table contains the configuration parameters of the chart and their default | `firefoxNode.enabled` | `true` | Enable firefox nodes | | `firefoxNode.deploymentEnabled` | `true` | Enable creation of Deployment for firefox nodes | | `firefoxNode.replicas` | `1` | Number of firefox nodes. Disabled if autoscaling is enabled. | -| `firefoxNode.imageName` | `selenium/node-firefox` | Image of firefox nodes | +| `firefoxNode.imageRegistry` | `nil` | Distribution registry to pull the image | +| `firefoxNode.imageName` | `node-firefox` | Image of firefox nodes | | `firefoxNode.imageTag` | `4.15.0-20231128` | Image of firefox nodes | | `firefoxNode.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | | `firefoxNode.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | @@ -205,7 +209,8 @@ This table contains the configuration parameters of the chart and their default | `edgeNode.enabled` | `true` | Enable edge nodes | | `edgeNode.deploymentEnabled` | `true` | Enable creation of Deployment for edge nodes | | `edgeNode.replicas` | `1` | Number of edge nodes. Disabled if autoscaling is enabled. | -| `edgeNode.imageName` | `selenium/node-edge` | Image of edge nodes | +| `edgeNode.imageRegistry` | `nil` | Distribution registry to pull the image | +| `edgeNode.imageName` | `node-edge` | Image of edge nodes | | `edgeNode.imageTag` | `4.15.0-20231128` | Image of edge nodes | | `edgeNode.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | | `edgeNode.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | @@ -242,7 +247,8 @@ This table contains the configuration parameters of the chart and their default | `edgeNode.scaledJobOptions` | See `values.yaml` | Override the global `autoscaling.scaledJobOptions` with specific scaled options for edge nodes | | `edgeNode.scaledObjectOptions` | See `values.yaml` | Override the global `autoscaling.scaledObjectOptions` with specific scaled options for edge nodes | | `videoRecorder.enabled` | `false` | Enable video recorder for node | -| `videoRecorder.imageName` | `selenium/video` | Selenium video recoder image name | +| `videoRecorder.imageRegistry` | `nil` | Distribution registry to pull the image | +| `videoRecorder.imageName` | `video` | Selenium video recoder image name | | `videoRecorder.imageTag` | `ffmpeg-6.0-20231128` | Image tag of video recorder | | `videoRecorder.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | | `videoRecorder.uploader` | `false` | Name of the uploader to use. The value `false` is used to disable uploader. Supported default `s3` | @@ -279,7 +285,8 @@ You can configure the Selenium Hub with these values: | Parameter | Default | Description | |---------------------------------|-------------------|--------------------------------------------------------------------------------------------------------------------------------------------------| -| `hub.imageName` | `selenium/hub` | Selenium Hub image name | +| `hub.imageRegistry` | `nil` | Distribution registry to pull the image | +| `hub.imageName` | `hub` | Selenium Hub image name | | `hub.imageTag` | `nil` | Selenium Hub image tag (this overwrites `.global.seleniumGrid.imageTag` value) | | `hub.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | | `hub.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | @@ -310,84 +317,89 @@ You can configure the Selenium Hub with these values: If you implement selenium-grid with separate components (`isolateComponents: true`), you can configure all components via the following values: -| Parameter | Default | Description | -|----------------------------------------------|--------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------| -| `components.router.imageName` | `selenium/router` | Router image name | -| `components.router.imageTag` | `nil` | Router image tag (this overwrites `.global.seleniumGrid.imageTag` value) | -| `components.router.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | -| `components.router.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | -| `components.router.annotations` | `{}` | Custom annotations for router pod | -| `components.router.port` | `4444` | Router port | -| `components.router.livenessProbe` | `See values.yaml` | Liveness probe settings | -| `components.router.readinessProbe` | `See values.yaml` | Readiness probe settings | -| `components.router.resources` | `{}` | Resources for router pod | -| `components.router.securityContext` | `See values.yaml` | Security context for router pod | -| `components.router.serviceType` | `ClusterIP` | Kubernetes service type (see https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types) | -| `components.router.loadBalancerIP` | `nil` | Set specific loadBalancerIP when serviceType is LoadBalancer (see https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer) | -| `components.router.serviceAnnotations` | `{}` | Custom annotations for router service | -| `components.router.tolerations` | `[]` | Tolerations for router pods | -| `components.router.nodeSelector` | `{}` | Node Selector for router pods | -| `components.router.affinity` | `{}` | Affinity for router pods | -| `components.router.priorityClassName` | `""` | Priority class name for router pods | -| `components.distributor.imageName` | `selenium/distributor` | Distributor image name | -| `components.distributor.imageTag` | `nil` | Distributor image tag (this overwrites `.global.seleniumGrid.imageTag` value) | -| `components.distributor.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | -| `components.distributor.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | -| `components.distributor.annotations` | `{}` | Custom annotations for Distributor pod | -| `components.distributor.port` | `5553` | Distributor port | -| `components.distributor.resources` | `{}` | Resources for Distributor pod | -| `components.distributor.securityContext` | `See values.yaml` | Security context for Distributor pod | -| `components.distributor.serviceType` | `ClusterIP` | Kubernetes service type (see https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types) | -| `components.distributor.serviceAnnotations` | `{}` | Custom annotations for Distributor service | -| `components.distributor.tolerations` | `[]` | Tolerations for Distributor pods | -| `components.distributor.nodeSelector` | `{}` | Node Selector for Distributor pods | -| `components.distributor.affinity` | `{}` | Affinity for Distributor pods | -| `components.distributor.priorityClassName` | `""` | Priority class name for Distributor pods | -| `components.eventBus.imageName` | `selenium/event-bus` | Event Bus image name | -| `components.eventBus.imageTag` | `nil` | Event Bus image tag (this overwrites `.global.seleniumGrid.imageTag` value) | -| `components.eventBus.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | -| `components.eventBus.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | -| `components.eventBus.annotations` | `{}` | Custom annotations for Event Bus pod | -| `components.eventBus.port` | `5557` | Event Bus port | -| `components.eventBus.publishPort` | `4442` | Port where events are published | -| `components.eventBus.subscribePort` | `4443` | Port where to subscribe for events | -| `components.eventBus.resources` | `{}` | Resources for event-bus pod | -| `components.eventBus.securityContext` | `See values.yaml` | Security context for event-bus pod | -| `components.eventBus.serviceType` | `ClusterIP` | Kubernetes service type (see https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types) | -| `components.eventBus.serviceAnnotations` | `{}` | Custom annotations for Event Bus service | -| `components.eventBus.tolerations` | `[]` | Tolerations for Event Bus pods | -| `components.eventBus.nodeSelector` | `{}` | Node Selector for Event Bus pods | -| `components.eventBus.affinity` | `{}` | Affinity for Event Bus pods | -| `components.eventBus.priorityClassName` | `""` | Priority class name for Event Bus pods | -| `components.sessionMap.imageName` | `selenium/sessions` | Session Map image name | -| `components.sessionMap.imageTag` | `nil` | Session Map image tag (this overwrites `.global.seleniumGrid.imageTag` value) | -| `components.sessionMap.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | -| `components.sessionMap.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | -| `components.sessionMap.annotations` | `{}` | Custom annotations for Session Map pod | -| `components.sessionMap.resources` | `{}` | Resources for Session Map pod | -| `components.sessionMap.securityContext` | `See values.yaml` | Security context for Session Map pod | -| `components.sessionMap.serviceType` | `ClusterIP` | Kubernetes service type (see https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types) | -| `components.sessionMap.serviceAnnotations` | `{}` | Custom annotations for Session Map service | -| `components.sessionMap.tolerations` | `[]` | Tolerations for Session Map pods | -| `components.sessionMap.nodeSelector` | `{}` | Node Selector for Session Map pods | -| `components.sessionMap.affinity` | `{}` | Affinity for Session Map pods | -| `components.sessionMap.priorityClassName` | `""` | Priority class name for Session Map pods | -| `components.sessionQueue.imageName` | `selenium/session-queue` | Session Queue image name | -| `components.sessionQueue.imageTag` | `nil` | Session Queue image tag (this overwrites `.global.seleniumGrid.imageTag` value) | -| `components.sessionQueue.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | -| `components.sessionQueue.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | -| `components.sessionQueue.annotations` | `{}` | Custom annotations for Session Queue pod | -| `components.sessionQueue.port` | `5559` | Session Queue Port | -| `components.sessionQueue.resources` | `{}` | Resources for Session Queue pod | -| `components.sessionQueue.securityContext` | `See values.yaml` | Security context for Session Queue pod | -| `components.sessionQueue.serviceType` | `ClusterIP` | Kubernetes service type (see https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types) | -| `components.sessionQueue.serviceAnnotations` | `{}` | Custom annotations for Session Queue service | -| `components.sessionQueue.tolerations` | `[]` | Tolerations for Session Queue pods | -| `components.sessionQueue.nodeSelector` | `{}` | Node Selector for Session Queue pods | -| `components.sessionQueue.affinity` | `{}` | Affinity for Session Queue pods | -| `components.sessionQueue.priorityClassName` | `""` | Priority class name for Session Queue pods | -| `components.subPath` | `/` | Custom sub path for all components | -| `components.extraEnvironmentVariables` | `nil` | Custom environment variables for all components | -| `components.extraEnvFrom` | `nil` | Custom environment variables taken from `configMap` or `secret` for all components | +| Parameter | Default | Description | +|----------------------------------------------|-------------------|--------------------------------------------------------------------------------------------------------------------------------------------------| +| `components.router.imageRegistry` | `nil` | Distribution registry to pull the image | +| `components.router.imageName` | `router` | Router image name | +| `components.router.imageTag` | `nil` | Router image tag (this overwrites `.global.seleniumGrid.imageTag` value) | +| `components.router.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | +| `components.router.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | +| `components.router.annotations` | `{}` | Custom annotations for router pod | +| `components.router.port` | `4444` | Router port | +| `components.router.livenessProbe` | `See values.yaml` | Liveness probe settings | +| `components.router.readinessProbe` | `See values.yaml` | Readiness probe settings | +| `components.router.resources` | `{}` | Resources for router pod | +| `components.router.securityContext` | `See values.yaml` | Security context for router pod | +| `components.router.serviceType` | `ClusterIP` | Kubernetes service type (see https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types) | +| `components.router.loadBalancerIP` | `nil` | Set specific loadBalancerIP when serviceType is LoadBalancer (see https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer) | +| `components.router.serviceAnnotations` | `{}` | Custom annotations for router service | +| `components.router.tolerations` | `[]` | Tolerations for router pods | +| `components.router.nodeSelector` | `{}` | Node Selector for router pods | +| `components.router.affinity` | `{}` | Affinity for router pods | +| `components.router.priorityClassName` | `""` | Priority class name for router pods | +| `components.distributor.imageRegistry` | `nil` | Distribution registry to pull the image | +| `components.distributor.imageName` | `distributor` | Distributor image name | +| `components.distributor.imageTag` | `nil` | Distributor image tag (this overwrites `.global.seleniumGrid.imageTag` value) | +| `components.distributor.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | +| `components.distributor.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | +| `components.distributor.annotations` | `{}` | Custom annotations for Distributor pod | +| `components.distributor.port` | `5553` | Distributor port | +| `components.distributor.resources` | `{}` | Resources for Distributor pod | +| `components.distributor.securityContext` | `See values.yaml` | Security context for Distributor pod | +| `components.distributor.serviceType` | `ClusterIP` | Kubernetes service type (see https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types) | +| `components.distributor.serviceAnnotations` | `{}` | Custom annotations for Distributor service | +| `components.distributor.tolerations` | `[]` | Tolerations for Distributor pods | +| `components.distributor.nodeSelector` | `{}` | Node Selector for Distributor pods | +| `components.distributor.affinity` | `{}` | Affinity for Distributor pods | +| `components.distributor.priorityClassName` | `""` | Priority class name for Distributor pods | +| `components.eventBus.imageRegistry` | `nil` | Distribution registry to pull the image | +| `components.eventBus.imageName` | `event-bus` | Event Bus image name | +| `components.eventBus.imageTag` | `nil` | Event Bus image tag (this overwrites `.global.seleniumGrid.imageTag` value) | +| `components.eventBus.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | +| `components.eventBus.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | +| `components.eventBus.annotations` | `{}` | Custom annotations for Event Bus pod | +| `components.eventBus.port` | `5557` | Event Bus port | +| `components.eventBus.publishPort` | `4442` | Port where events are published | +| `components.eventBus.subscribePort` | `4443` | Port where to subscribe for events | +| `components.eventBus.resources` | `{}` | Resources for event-bus pod | +| `components.eventBus.securityContext` | `See values.yaml` | Security context for event-bus pod | +| `components.eventBus.serviceType` | `ClusterIP` | Kubernetes service type (see https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types) | +| `components.eventBus.serviceAnnotations` | `{}` | Custom annotations for Event Bus service | +| `components.eventBus.tolerations` | `[]` | Tolerations for Event Bus pods | +| `components.eventBus.nodeSelector` | `{}` | Node Selector for Event Bus pods | +| `components.eventBus.affinity` | `{}` | Affinity for Event Bus pods | +| `components.eventBus.priorityClassName` | `""` | Priority class name for Event Bus pods | +| `components.sessionMap.imageRegistry` | `nil` | Distribution registry to pull the image | +| `components.sessionMap.imageName` | `sessions` | Session Map image name | +| `components.sessionMap.imageTag` | `nil` | Session Map image tag (this overwrites `.global.seleniumGrid.imageTag` value) | +| `components.sessionMap.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | +| `components.sessionMap.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | +| `components.sessionMap.annotations` | `{}` | Custom annotations for Session Map pod | +| `components.sessionMap.resources` | `{}` | Resources for Session Map pod | +| `components.sessionMap.securityContext` | `See values.yaml` | Security context for Session Map pod | +| `components.sessionMap.serviceType` | `ClusterIP` | Kubernetes service type (see https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types) | +| `components.sessionMap.serviceAnnotations` | `{}` | Custom annotations for Session Map service | +| `components.sessionMap.tolerations` | `[]` | Tolerations for Session Map pods | +| `components.sessionMap.nodeSelector` | `{}` | Node Selector for Session Map pods | +| `components.sessionMap.affinity` | `{}` | Affinity for Session Map pods | +| `components.sessionMap.priorityClassName` | `""` | Priority class name for Session Map pods | +| `components.sessionQueue.imageRegistry` | `nil` | Distribution registry to pull the image | +| `components.sessionQueue.imageName` | `session-queue` | Session Queue image name | +| `components.sessionQueue.imageTag` | `nil` | Session Queue image tag (this overwrites `.global.seleniumGrid.imageTag` value) | +| `components.sessionQueue.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | +| `components.sessionQueue.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | +| `components.sessionQueue.annotations` | `{}` | Custom annotations for Session Queue pod | +| `components.sessionQueue.port` | `5559` | Session Queue Port | +| `components.sessionQueue.resources` | `{}` | Resources for Session Queue pod | +| `components.sessionQueue.securityContext` | `See values.yaml` | Security context for Session Queue pod | +| `components.sessionQueue.serviceType` | `ClusterIP` | Kubernetes service type (see https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types) | +| `components.sessionQueue.serviceAnnotations` | `{}` | Custom annotations for Session Queue service | +| `components.sessionQueue.tolerations` | `[]` | Tolerations for Session Queue pods | +| `components.sessionQueue.nodeSelector` | `{}` | Node Selector for Session Queue pods | +| `components.sessionQueue.affinity` | `{}` | Affinity for Session Queue pods | +| `components.sessionQueue.priorityClassName` | `""` | Priority class name for Session Queue pods | +| `components.subPath` | `/` | Custom sub path for all components | +| `components.extraEnvironmentVariables` | `nil` | Custom environment variables for all components | +| `components.extraEnvFrom` | `nil` | Custom environment variables taken from `configMap` or `secret` for all components | See how to customize a helm chart installation in the [Helm Docs](https://helm.sh/docs/intro/using_helm/#customizing-the-chart-before-installing) for more information. diff --git a/charts/selenium-grid/ci/auth-ingress-values.yaml b/charts/selenium-grid/ci/auth-ingress-values.yaml index 459d218d3..e5d055ba6 100644 --- a/charts/selenium-grid/ci/auth-ingress-values.yaml +++ b/charts/selenium-grid/ci/auth-ingress-values.yaml @@ -3,6 +3,9 @@ ingress: nginx.ingress.kubernetes.io/use-regex: "true" nginx.ingress.kubernetes.io/rewrite-target: /$2 nginx.ingress.kubernetes.io/app-root: &gridAppRoot "/selenium" + nginx.ingress.kubernetes.io/proxy-connect-timeout: "360" + nginx.ingress.kubernetes.io/proxy-read-timeout: "360" + nginx.ingress.kubernetes.io/proxy-send-timeout: "360" hostname: "" paths: - path: /selenium(/|$)(.*) diff --git a/charts/selenium-grid/templates/_helpers.tpl b/charts/selenium-grid/templates/_helpers.tpl index 5fa362094..1b0aa573c 100644 --- a/charts/selenium-grid/templates/_helpers.tpl +++ b/charts/selenium-grid/templates/_helpers.tpl @@ -173,7 +173,8 @@ template: containers: - name: {{.name}} {{- $imageTag := default .Values.global.seleniumGrid.nodesImageTag .node.imageTag }} - image: {{ printf "%s:%s" .node.imageName $imageTag }} + {{- $imageRegistry := default .Values.global.seleniumGrid.imageRegistry .node.imageRegistry }} + image: {{ printf "%s/%s:%s" $imageRegistry .node.imageName $imageTag }} imagePullPolicy: {{ .node.imagePullPolicy }} {{- with .node.extraEnvironmentVariables }} env: {{- tpl (toYaml .) $ | nindent 10 }} @@ -217,7 +218,9 @@ template: {{- end }} {{- if .Values.videoRecorder.enabled }} - name: video - image: {{ printf "%s:%s" .Values.videoRecorder.imageName .Values.videoRecorder.imageTag }} + {{- $imageTag := default .Values.global.seleniumGrid.videoImageTag .Values.videoRecorder.imageTag }} + {{- $imageRegistry := default .Values.global.seleniumGrid.imageRegistry .Values.videoRecorder.imageRegistry }} + image: {{ printf "%s/%s:%s" $imageRegistry .Values.videoRecorder.imageName $imageTag }} imagePullPolicy: {{ .Values.videoRecorder.imagePullPolicy }} env: - name: UPLOAD_DESTINATION_PREFIX diff --git a/charts/selenium-grid/templates/distributor-deployment.yaml b/charts/selenium-grid/templates/distributor-deployment.yaml index fe5efd767..07462f15e 100644 --- a/charts/selenium-grid/templates/distributor-deployment.yaml +++ b/charts/selenium-grid/templates/distributor-deployment.yaml @@ -29,7 +29,8 @@ spec: containers: - name: {{ template "seleniumGrid.distributor.fullname" . }} {{- $imageTag := default .Values.global.seleniumGrid.imageTag .Values.components.distributor.imageTag }} - image: {{ printf "%s:%s" .Values.components.distributor.imageName $imageTag }} + {{- $imageRegistry := default .Values.global.seleniumGrid.imageRegistry .Values.components.distributor.imageRegistry }} + image: {{ printf "%s/%s:%s" $imageRegistry .Values.components.distributor.imageName $imageTag }} imagePullPolicy: {{ .Values.components.distributor.imagePullPolicy }} env: - name: SE_SESSIONS_MAP_HOST diff --git a/charts/selenium-grid/templates/event-bus-deployment.yaml b/charts/selenium-grid/templates/event-bus-deployment.yaml index a315cd820..8d894790b 100644 --- a/charts/selenium-grid/templates/event-bus-deployment.yaml +++ b/charts/selenium-grid/templates/event-bus-deployment.yaml @@ -29,7 +29,8 @@ spec: containers: - name: {{ template "seleniumGrid.eventBus.fullname" . }} {{- $imageTag := default .Values.global.seleniumGrid.imageTag .Values.components.eventBus.imageTag }} - image: {{ printf "%s:%s" .Values.components.eventBus.imageName $imageTag }} + {{- $imageRegistry := default .Values.global.seleniumGrid.imageRegistry .Values.components.eventBus.imageRegistry }} + image: {{ printf "%s/%s:%s" $imageRegistry .Values.components.eventBus.imageName $imageTag }} imagePullPolicy: {{ .Values.components.eventBus.imagePullPolicy }} ports: - containerPort: {{ .Values.components.eventBus.port }} diff --git a/charts/selenium-grid/templates/hub-deployment.yaml b/charts/selenium-grid/templates/hub-deployment.yaml index a5ea71ab5..8b322ecd5 100644 --- a/charts/selenium-grid/templates/hub-deployment.yaml +++ b/charts/selenium-grid/templates/hub-deployment.yaml @@ -32,7 +32,8 @@ spec: containers: - name: {{ template "seleniumGrid.hub.fullname" . }} {{- $imageTag := default .Values.global.seleniumGrid.imageTag .Values.hub.imageTag }} - image: {{ printf "%s:%s" .Values.hub.imageName $imageTag }} + {{- $imageRegistry := default .Values.global.seleniumGrid.imageRegistry .Values.hub.imageRegistry }} + image: {{ printf "%s/%s:%s" $imageRegistry .Values.hub.imageName $imageTag }} imagePullPolicy: {{ .Values.hub.imagePullPolicy }} ports: - containerPort: {{ .Values.hub.port }} diff --git a/charts/selenium-grid/templates/router-deployment.yaml b/charts/selenium-grid/templates/router-deployment.yaml index 05ae9a7b9..33d98c65a 100644 --- a/charts/selenium-grid/templates/router-deployment.yaml +++ b/charts/selenium-grid/templates/router-deployment.yaml @@ -29,7 +29,8 @@ spec: containers: - name: {{ template "seleniumGrid.router.fullname" . }} {{- $imageTag := default .Values.global.seleniumGrid.imageTag .Values.components.router.imageTag }} - image: {{ printf "%s:%s" .Values.components.router.imageName $imageTag }} + {{- $imageRegistry := default .Values.global.seleniumGrid.imageRegistry .Values.components.router.imageRegistry }} + image: {{ printf "%s/%s:%s" $imageRegistry .Values.components.router.imageName $imageTag }} imagePullPolicy: {{ .Values.components.router.imagePullPolicy }} env: - name: SE_DISTRIBUTOR_HOST diff --git a/charts/selenium-grid/templates/session-map-deployment.yaml b/charts/selenium-grid/templates/session-map-deployment.yaml index 496089eaf..8aebdefb2 100644 --- a/charts/selenium-grid/templates/session-map-deployment.yaml +++ b/charts/selenium-grid/templates/session-map-deployment.yaml @@ -29,7 +29,8 @@ spec: containers: - name: {{ template "seleniumGrid.sessionMap.fullname" . }} {{- $imageTag := default .Values.global.seleniumGrid.imageTag .Values.components.sessionMap.imageTag }} - image: {{ printf "%s:%s" .Values.components.sessionMap.imageName $imageTag }} + {{- $imageRegistry := default .Values.global.seleniumGrid.imageRegistry .Values.components.sessionMap.imageRegistry }} + image: {{ printf "%s/%s:%s" $imageRegistry .Values.components.sessionMap.imageName $imageTag }} imagePullPolicy: {{ .Values.components.sessionMap.imagePullPolicy }} {{- with .Values.components.extraEnvironmentVariables }} env: {{- tpl (toYaml .) $ | nindent 12 }} diff --git a/charts/selenium-grid/templates/session-queuer-deployment.yaml b/charts/selenium-grid/templates/session-queuer-deployment.yaml index 28c17b49c..557d6774e 100644 --- a/charts/selenium-grid/templates/session-queuer-deployment.yaml +++ b/charts/selenium-grid/templates/session-queuer-deployment.yaml @@ -29,7 +29,8 @@ spec: containers: - name: {{ template "seleniumGrid.sessionQueue.fullname" . }} {{- $imageTag := default .Values.global.seleniumGrid.imageTag .Values.components.sessionQueue.imageTag }} - image: {{ printf "%s:%s" .Values.components.sessionQueue.imageName $imageTag }} + {{- $imageRegistry := default .Values.global.seleniumGrid.imageRegistry .Values.components.sessionQueue.imageRegistry }} + image: {{ printf "%s/%s:%s" $imageRegistry .Values.components.sessionQueue.imageName $imageTag }} imagePullPolicy: {{ .Values.components.sessionQueue.imagePullPolicy }} {{- with .Values.components.extraEnvironmentVariables }} env: {{- tpl (toYaml .) $ | nindent 12 }} diff --git a/charts/selenium-grid/values.yaml b/charts/selenium-grid/values.yaml index 5467674a3..cadf4cee2 100644 --- a/charts/selenium-grid/values.yaml +++ b/charts/selenium-grid/values.yaml @@ -1,9 +1,13 @@ global: seleniumGrid: + # Image registry for all selenium components + imageRegistry: selenium # Image tag for all selenium components imageTag: 4.15.0-20231128 # Image tag for browser's nodes nodesImageTag: 4.15.0-20231128 + # Image tag for browser's video recorder + videoImageTag: ffmpeg-6.0-20231128 # Pull secret for all components, can be overridden individually imagePullSecret: "" @@ -63,8 +67,9 @@ components: # Configuration for router component router: + # imageRegistry: selenium # Router image name - imageName: selenium/router + imageName: router # Router image tag (this overwrites global.seleniumGrid.imageTag parameter) # imageTag: 4.15.0-20231128 @@ -114,8 +119,9 @@ components: # Configuration for distributor component distributor: + # imageRegistry: selenium # Distributor image name - imageName: selenium/distributor + imageName: distributor # Distributor image tag (this overwrites global.seleniumGrid.imageTag parameter) # imageTag: 4.15.0-20231128 @@ -145,8 +151,9 @@ components: # Configuration for Event Bus component eventBus: + # imageRegistry: selenium # Event Bus image name - imageName: selenium/event-bus + imageName: event-bus # Event Bus image tag (this overwrites global.seleniumGrid.imageTag parameter) # imageTag: 4.15.0-20231128 @@ -180,8 +187,9 @@ components: # Configuration for Session Map component sessionMap: + # imageRegistry: selenium # Session Map image name - imageName: selenium/sessions + imageName: sessions # Session Map image tag (this overwrites global.seleniumGrid.imageTag parameter) # imageTag: 4.15.0-20231128 @@ -210,8 +218,9 @@ components: # Configuration for Session Queue component sessionQueue: + # imageRegistry: selenium # Session Queue image name - imageName: selenium/session-queue + imageName: session-queue # Session Queue image tag (this overwrites global.seleniumGrid.imageTag parameter) # imageTag: 4.15.0-20231128 @@ -260,8 +269,9 @@ components: # Configuration for selenium hub deployment (applied only if `isolateComponents: false`) hub: + # imageRegistry: selenium # Selenium Hub image name - imageName: selenium/hub + imageName: hub # Selenium Hub image tag (this overwrites global.seleniumGrid.imageTag parameter) # imageTag: 4.15.0-20231128 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) @@ -400,8 +410,9 @@ chromeNode: # Number of chrome nodes replicas: 1 + # imageRegistry: selenium # Image of chrome nodes - imageName: selenium/node-chrome + imageName: node-chrome # Image of chrome nodes (this overwrites global.seleniumGrid.nodesImageTag) # imageTag: 4.15.0-20231128 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) @@ -532,8 +543,9 @@ firefoxNode: # Number of firefox nodes replicas: 1 + # imageRegistry: selenium # Image of firefox nodes - imageName: selenium/node-firefox + imageName: node-firefox # Image of firefox nodes (this overwrites global.seleniumGrid.nodesImageTag) # imageTag: 4.15.0-20231128 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) @@ -661,8 +673,9 @@ edgeNode: # Number of edge nodes replicas: 1 + # imageRegistry: selenium # Image of edge nodes - imageName: selenium/node-edge + imageName: node-edge # Image of edge nodes (this overwrites global.seleniumGrid.nodesImageTag) # imageTag: 4.15.0-20231128 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) @@ -779,10 +792,11 @@ edgeNode: videoRecorder: enabled: false + # imageRegistry: selenium # Image of video recorder - imageName: selenium/video + imageName: video # Image of video recorder - imageTag: ffmpeg-6.0-20231128 + # imageTag: ffmpeg-6.0-20231128 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent # Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) diff --git a/generate_release_notes.sh b/generate_release_notes.sh index c936c48d4..3dff24e52 100755 --- a/generate_release_notes.sh +++ b/generate_release_notes.sh @@ -11,7 +11,7 @@ echo "" >> release_notes.md echo "### Changelog" > release_notes.md 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 -CHROME_VERSION=$(docker run --rm selenium/node-chrome:${TAG_VERSION} google-chrome --version | awk '{print $3}') +CHROME_VERSION=$(docker run --rm selenium/node-chrome:${TAG_VERSION} google-chrome --version | awk '{print $5}') EDGE_VERSION=$(docker run --rm selenium/node-edge:${TAG_VERSION} microsoft-edge --version | awk '{print $3}') CHROMEDRIVER_VERSION=$(docker run --rm selenium/node-chrome:${TAG_VERSION} chromedriver --version | awk '{print $2}') EDGEDRIVER_VERSION=$(docker run --rm selenium/node-edge:${TAG_VERSION} msedgedriver --version | awk '{print $4}') diff --git a/tag_and_push_browser_images.sh b/tag_and_push_browser_images.sh index aa2744e66..305c2588c 100755 --- a/tag_and_push_browser_images.sh +++ b/tag_and_push_browser_images.sh @@ -20,7 +20,7 @@ echo "Tagging images for browser ${BROWSER}, version ${VERSION}, build date ${BU case "${BROWSER}" in chrome) - CHROME_VERSION=$(docker run --rm selenium/node-chrome:${TAG_VERSION} google-chrome --version | awk '{print $3}') + CHROME_VERSION=$(docker run --rm selenium/node-chrome:${TAG_VERSION} google-chrome --version | awk '{print $5}') echo "Chrome version -> "${CHROME_VERSION} CHROME_SHORT_VERSION="$(short_version ${CHROME_VERSION})" echo "Short Chrome version -> "${CHROME_SHORT_VERSION} diff --git a/tests/K8s/chart_cluster_setup.sh b/tests/K8s/chart_cluster_setup.sh index cfddcd754..b46231449 100755 --- a/tests/K8s/chart_cluster_setup.sh +++ b/tests/K8s/chart_cluster_setup.sh @@ -23,9 +23,10 @@ cleanup() { # Function to be executed on command failure on_failure() { - echo "There is step failed with exit status $?" + local exit_status=$? + echo "There is step failed with exit status $exit_status" cleanup - exit $? + exit $exit_status } # Trap ERR signal and call on_failure function diff --git a/tests/K8s/chart_install.sh b/tests/K8s/chart_install.sh index a19113395..7fb7a0cb5 100755 --- a/tests/K8s/chart_install.sh +++ b/tests/K8s/chart_install.sh @@ -15,7 +15,8 @@ MATRIX_BROWSER=${1:-"NodeChrome"} SELENIUM_GRID_AUTOSCALING=${2:-"true"} SELENIUM_GRID_AUTOSCALING_MIN_REPLICA=${3:-"0"} WAIT_TIMEOUT=${WAIT_TIMEOUT:-"90s"} -SLEEP_INTERVAL=${SLEEP_INTERVAL:-45} +HUB_CHECKS_INTERVAL=${HUB_CHECKS_INTERVAL:-45} +WEB_DRIVER_WAIT_TIMEOUT=${WEB_DRIVER_WAIT_TIMEOUT:-120} SKIP_CLEANUP=${SKIP_CLEANUP:-"false"} # For debugging purposes, retain the cluster after the test run cleanup() { @@ -28,9 +29,12 @@ cleanup() { # Function to be executed on command failure on_failure() { - echo "There is step failed with exit status $?" + local exit_status=$? + echo "Describe all resources in the ${SELENIUM_NAMESPACE} namespace for debugging purposes" + kubectl describe all -n ${SELENIUM_NAMESPACE} + echo "There is step failed with exit status $exit_status" cleanup - exit $? + exit $exit_status } # Trap ERR signal and call on_failure function @@ -43,19 +47,23 @@ helm upgrade --install ${RELEASE_NAME} \ -f ${TEST_VALUES_PATH}/${MATRIX_BROWSER}-values.yaml \ --set autoscaling.enableWithExistingKEDA=${SELENIUM_GRID_AUTOSCALING} \ --set autoscaling.scaledOptions.minReplicaCount=${SELENIUM_GRID_AUTOSCALING_MIN_REPLICA} \ ---set global.seleniumGrid.imageTag=${VERSION} \ +--set global.seleniumGrid.imageTag=${VERSION} --set global.seleniumGrid.imageRegistry=${NAMESPACE} \ ${CHART_PATH} --namespace ${SELENIUM_NAMESPACE} --create-namespace -echo "Verify Post Deployment Grid Health and Pod Status" -kubectl get pods -n ${SELENIUM_NAMESPACE} - echo "Run Tests" export SELENIUM_GRID_HOST=${SELENIUM_GRID_HOST} export SELENIUM_GRID_PORT=${SELENIUM_GRID_PORT}""${SUB_PATH} export SELENIUM_GRID_AUTOSCALING=${SELENIUM_GRID_AUTOSCALING} export SELENIUM_GRID_AUTOSCALING_MIN_REPLICA=${SELENIUM_GRID_AUTOSCALING_MIN_REPLICA} export RUN_IN_DOCKER_COMPOSE=true -export SLEEP_INTERVAL=${SLEEP_INTERVAL} +export HUB_CHECKS_INTERVAL=${HUB_CHECKS_INTERVAL} +export WEB_DRIVER_WAIT_TIMEOUT=${WEB_DRIVER_WAIT_TIMEOUT} ./tests/bootstrap.sh ${MATRIX_BROWSER} +echo "Get pods status" +kubectl get pods -n ${SELENIUM_NAMESPACE} + +echo "Get all resources in the ${SELENIUM_NAMESPACE} namespace" +kubectl get all -n ${SELENIUM_NAMESPACE} + cleanup diff --git a/tests/K8s/chart_lint.sh b/tests/K8s/chart_lint.sh index 25cd5df49..09c46edc1 100755 --- a/tests/K8s/chart_lint.sh +++ b/tests/K8s/chart_lint.sh @@ -1,8 +1,9 @@ #!/bin/bash # Function to be executed on command failure on_failure() { - echo "There is step failed with exit status $?" - exit $? + local exit_status=$? + echo "There is step failed with exit status $exit_status" + exit $exit_status } # Trap ERR signal and call on_failure function diff --git a/tests/K8s/chart_setup_env.sh b/tests/K8s/chart_setup_env.sh index c4bf6e3bc..8c77101bf 100755 --- a/tests/K8s/chart_setup_env.sh +++ b/tests/K8s/chart_setup_env.sh @@ -1,8 +1,9 @@ #!/bin/bash # Function to be executed on command failure on_failure() { - echo "There is step failed with exit status $?" - exit $? + local exit_status=$? + echo "There is step failed with exit status $exit_status" + exit $exit_status } # Trap ERR signal and call on_failure function diff --git a/tests/SeleniumTests/__init__.py b/tests/SeleniumTests/__init__.py index fb6308308..ef6e9bada 100644 --- a/tests/SeleniumTests/__init__.py +++ b/tests/SeleniumTests/__init__.py @@ -10,6 +10,7 @@ SELENIUM_GRID_HOST = os.environ.get('SELENIUM_GRID_HOST', 'localhost') SELENIUM_GRID_PORT = os.environ.get('SELENIUM_GRID_PORT', '4444') +WEB_DRIVER_WAIT_TIMEOUT = int(os.environ.get('WEB_DRIVER_WAIT_TIMEOUT', 60)) class SeleniumGenericTests(unittest.TestCase): @@ -51,7 +52,7 @@ def test_visit_basic_auth_secured_page(self): def test_play_video(self): driver = self.driver driver.get('https://hls-js.netlify.com/demo/') - wait = WebDriverWait(driver, 30) + wait = WebDriverWait(driver, WEB_DRIVER_WAIT_TIMEOUT) video = wait.until( EC.element_to_be_clickable((By.TAG_NAME, 'video')) ) diff --git a/tests/SmokeTests/__init__.py b/tests/SmokeTests/__init__.py index 2e5ef768b..a2f74c7fa 100644 --- a/tests/SmokeTests/__init__.py +++ b/tests/SmokeTests/__init__.py @@ -12,13 +12,14 @@ SELENIUM_GRID_PORT = os.environ.get('SELENIUM_GRID_PORT', '4444') SELENIUM_GRID_AUTOSCALING = os.environ.get('SELENIUM_GRID_AUTOSCALING', 'false') SELENIUM_GRID_AUTOSCALING_MIN_REPLICA = os.environ.get('SELENIUM_GRID_AUTOSCALING_MIN_REPLICA', 0) -SLEEP_INTERVAL = os.environ.get('SLEEP_INTERVAL', 3) +HUB_CHECKS_MAX_ATTEMPTS = os.environ.get('HUB_CHECKS_MAX_ATTEMPTS', 3) +HUB_CHECKS_INTERVAL = os.environ.get('HUB_CHECKS_INTERVAL', 10) class SmokeTests(unittest.TestCase): def smoke_test_container(self, port): current_attempts = 0 - max_attempts = 3 - sleep_interval = int(SLEEP_INTERVAL) + max_attempts = int(HUB_CHECKS_MAX_ATTEMPTS) + sleep_interval = int(HUB_CHECKS_INTERVAL) status_fetched = False status_json = None auto_scaling = SELENIUM_GRID_AUTOSCALING == 'true' From b5dab369fc19f624852a7b12410637e69e1480a4 Mon Sep 17 00:00:00 2001 From: Viet Nguyen Duc Date: Wed, 29 Nov 2023 19:22:41 +0700 Subject: [PATCH 54/84] bug(#2032): Rollback to use regular version in NodeChrome (#2033) Signed-off-by: Viet Nguyen Duc --- NodeChrome/Dockerfile | 92 ++++++++++------------------------ generate_release_notes.sh | 2 +- tag_and_push_browser_images.sh | 2 +- 3 files changed, 29 insertions(+), 67 deletions(-) diff --git a/NodeChrome/Dockerfile b/NodeChrome/Dockerfile index b93ae223e..63eb00bd3 100644 --- a/NodeChrome/Dockerfile +++ b/NodeChrome/Dockerfile @@ -6,51 +6,22 @@ LABEL authors=${AUTHORS} USER root -RUN apt-get update -qqy \ - && apt-get -qqy --no-install-recommends install libatk1.0-0 libatk-bridge2.0-0 \ - libxkbcommon-x11-0 libgbm1 libpango-1.0-0 \ - && rm -rf /var/lib/apt/lists/* /var/cache/apt/* - #============================================ # Google Chrome #============================================ # can specify versions by CHROME_VERSION; -# Support these inputs (following https://github.com/GoogleChromeLabs/chrome-for-testing): -# LATEST_RELEASE_STABLE -# LATEST_RELEASE_BETA -# LATEST_RELEASE_DEV -# LATEST_RELEASE_CANARY -# 121 (specific major version) -# 119.0.6045.105 (specific full version) -#============================================ -ARG DOWNLOAD_HOST="https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing" -ARG VERSION_HOST="https://googlechromelabs.github.io/chrome-for-testing" -ARG CHROME_VERSION="LATEST_RELEASE_STABLE" -ARG CHROME_PLATFORM="linux64" -RUN if [ ! -z "$CHROME_VERSION" ]; \ - then GET_VERSION_URL=$VERSION_HOST/$CHROME_VERSION \ - && if [ $(curl -I -s -o /dev/null -w "%{http_code}" $GET_VERSION_URL) -eq 200 ]; \ - then echo "Getting Chrome version from "$GET_VERSION_URL \ - && CHROME_VERSION=$(wget -qO- $VERSION_HOST"/"$CHROME_VERSION | sed 's/\r$//') ; \ - fi \ - else echo "Getting Chrome version "$CHROME_DRIVER_VERSION ; \ - fi \ - && CHROME_URL=$DOWNLOAD_HOST/$CHROME_VERSION/$CHROME_PLATFORM/chrome-$CHROME_PLATFORM.zip \ - && if [ $(curl -I -s -o /dev/null -w "%{http_code}" $CHROME_URL) -ne 200 ]; \ - then CHROME_MAJOR_VERSION=$(echo $CHROME_VERSION | sed -E "s/([0-9]+).*/\1/") \ - && echo "Getting Chrome latest major version from "$VERSION_HOST"/LATEST_RELEASE_"$CHROME_MAJOR_VERSION \ - && CHROME_VERSION=$(wget -qO- $VERSION_HOST/LATEST_RELEASE_${CHROME_MAJOR_VERSION} | sed 's/\r$//') \ - && CHROME_URL=$DOWNLOAD_HOST/$CHROME_VERSION/$CHROME_PLATFORM/chrome-$CHROME_PLATFORM.zip ; \ - fi \ - && echo "Using Chrome from: "$CHROME_URL \ - && wget --no-verbose -O /tmp/chrome-$CHROME_PLATFORM.zip $CHROME_URL \ - && rm -rf /opt/google/chrome \ - && unzip /tmp/chrome-$CHROME_PLATFORM.zip -d /opt/google \ - && mv /opt/google/chrome-$CHROME_PLATFORM /opt/google/chrome \ - && rm /tmp/chrome-$CHROME_PLATFORM.zip \ - && mv /opt/google/chrome/chrome-wrapper /opt/google/chrome/google-chrome \ - && chmod +x /opt/google/chrome/google-chrome \ - && ln -fs /opt/google/chrome/google-chrome /usr/bin/google-chrome +# e.g. google-chrome-stable +# google-chrome-beta +# google-chrome-unstable +#============================================ +ARG CHROME_VERSION="google-chrome-stable" +RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - \ + && echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list \ + && apt-get update -qqy \ + && apt-get -qqy install \ + ${CHROME_VERSION:-google-chrome-stable} \ + && rm /etc/apt/sources.list.d/google-chrome.list \ + && rm -rf /var/lib/apt/lists/* /var/cache/apt/* #================================= # Chrome Launch Script Wrapper @@ -58,44 +29,35 @@ RUN if [ ! -z "$CHROME_VERSION" ]; \ COPY wrap_chrome_binary /opt/bin/wrap_chrome_binary RUN /opt/bin/wrap_chrome_binary +USER 1200 + #============================================ # Chrome webdriver #============================================ # can specify versions by CHROME_DRIVER_VERSION -# Latest released version (following browser version) will be used by default +# Latest released version will be used by default #============================================ -ARG CHROME_DRIVER_VERSION=$CHROME_VERSION +ARG CHROME_DRIVER_VERSION RUN if [ ! -z "$CHROME_DRIVER_VERSION" ]; \ - then GET_VERSION_URL=$VERSION_HOST/$CHROME_DRIVER_VERSION \ - && if [ $(curl -I -s -o /dev/null -w "%{http_code}" $GET_VERSION_URL) -eq 200 ]; \ - then echo "Getting ChromeDriver version from "$GET_VERSION_URL \ - && CHROME_DRIVER_VERSION=$(wget -qO- $VERSION_HOST"/"$CHROME_DRIVER_VERSION | sed 's/\r$//') ; \ - fi \ - else CHROME_DRIVER_VERSION=$(google-chrome --version | sed -E "s/.* ([0-9]+(\.[0-9]+)+).*/\1/") \ - && echo "Getting ChromeDriver same as browser version "$CHROME_DRIVER_VERSION ; \ - fi \ - && CHROME_DRIVER_URL=$DOWNLOAD_HOST/$CHROME_DRIVER_VERSION/$CHROME_PLATFORM/chromedriver-$CHROME_PLATFORM.zip \ - && if [ $(curl -I -s -o /dev/null -w "%{http_code}" $CHROME_DRIVER_URL) -ne 200 ]; \ - then CHROME_MAJOR_VERSION=$(echo $CHROME_DRIVER_VERSION | sed -E "s/([0-9]+).*/\1/") \ - && echo "Getting ChromeDriver latest major version from "$VERSION_HOST"/LATEST_RELEASE_"$CHROME_MAJOR_VERSION \ - && CHROME_DRIVER_VERSION=$(wget -qO- $VERSION_HOST/LATEST_RELEASE_${CHROME_MAJOR_VERSION} | sed 's/\r$//') \ - && CHROME_DRIVER_URL=$DOWNLOAD_HOST/$CHROME_DRIVER_VERSION/$CHROME_PLATFORM/chromedriver-$CHROME_PLATFORM.zip ; \ + then CHROME_DRIVER_URL=https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/$CHROME_DRIVER_VERSION/linux64/chromedriver-linux64.zip ; \ + else echo "Geting ChromeDriver latest version from https://googlechromelabs.github.io/chrome-for-testing/LATEST_RELEASE_" \ + && CHROME_MAJOR_VERSION=$(google-chrome --version | sed -E "s/.* ([0-9]+)(\.[0-9]+){3}.*/\1/") \ + && CHROME_DRIVER_VERSION=$(wget -qO- https://googlechromelabs.github.io/chrome-for-testing/LATEST_RELEASE_${CHROME_MAJOR_VERSION} | sed 's/\r$//') \ + && CHROME_DRIVER_URL=https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/$CHROME_DRIVER_VERSION/linux64/chromedriver-linux64.zip ; \ fi \ && echo "Using ChromeDriver from: "$CHROME_DRIVER_URL \ && echo "Using ChromeDriver version: "$CHROME_DRIVER_VERSION \ - && wget --no-verbose -O /tmp/chromedriver_$CHROME_PLATFORM.zip $CHROME_DRIVER_URL \ + && wget --no-verbose -O /tmp/chromedriver_linux64.zip $CHROME_DRIVER_URL \ && rm -rf /opt/selenium/chromedriver \ - && unzip /tmp/chromedriver_$CHROME_PLATFORM.zip -d /opt/selenium \ - && rm /tmp/chromedriver_$CHROME_PLATFORM.zip \ - && mv /opt/selenium/chromedriver-$CHROME_PLATFORM/chromedriver /opt/selenium/chromedriver-$CHROME_DRIVER_VERSION \ + && unzip /tmp/chromedriver_linux64.zip -d /opt/selenium \ + && rm /tmp/chromedriver_linux64.zip \ + && mv /opt/selenium/chromedriver-linux64/chromedriver /opt/selenium/chromedriver-$CHROME_DRIVER_VERSION \ && chmod 755 /opt/selenium/chromedriver-$CHROME_DRIVER_VERSION \ - && ln -fs /opt/selenium/chromedriver-$CHROME_DRIVER_VERSION /usr/bin/chromedriver - -USER 1200 + && sudo ln -fs /opt/selenium/chromedriver-$CHROME_DRIVER_VERSION /usr/bin/chromedriver #============================================ # Dumping Browser information for config #============================================ RUN echo "chrome" > /opt/selenium/browser_name -RUN google-chrome --version | awk '{print $5}' > /opt/selenium/browser_version +RUN google-chrome --version | awk '{print $3}' > /opt/selenium/browser_version RUN echo "\"goog:chromeOptions\": {\"binary\": \"/usr/bin/google-chrome\"}" > /opt/selenium/browser_binary_location diff --git a/generate_release_notes.sh b/generate_release_notes.sh index 3dff24e52..c936c48d4 100755 --- a/generate_release_notes.sh +++ b/generate_release_notes.sh @@ -11,7 +11,7 @@ echo "" >> release_notes.md echo "### Changelog" > release_notes.md 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 -CHROME_VERSION=$(docker run --rm selenium/node-chrome:${TAG_VERSION} google-chrome --version | awk '{print $5}') +CHROME_VERSION=$(docker run --rm selenium/node-chrome:${TAG_VERSION} google-chrome --version | awk '{print $3}') EDGE_VERSION=$(docker run --rm selenium/node-edge:${TAG_VERSION} microsoft-edge --version | awk '{print $3}') CHROMEDRIVER_VERSION=$(docker run --rm selenium/node-chrome:${TAG_VERSION} chromedriver --version | awk '{print $2}') EDGEDRIVER_VERSION=$(docker run --rm selenium/node-edge:${TAG_VERSION} msedgedriver --version | awk '{print $4}') diff --git a/tag_and_push_browser_images.sh b/tag_and_push_browser_images.sh index 305c2588c..aa2744e66 100755 --- a/tag_and_push_browser_images.sh +++ b/tag_and_push_browser_images.sh @@ -20,7 +20,7 @@ echo "Tagging images for browser ${BROWSER}, version ${VERSION}, build date ${BU case "${BROWSER}" in chrome) - CHROME_VERSION=$(docker run --rm selenium/node-chrome:${TAG_VERSION} google-chrome --version | awk '{print $5}') + CHROME_VERSION=$(docker run --rm selenium/node-chrome:${TAG_VERSION} google-chrome --version | awk '{print $3}') echo "Chrome version -> "${CHROME_VERSION} CHROME_SHORT_VERSION="$(short_version ${CHROME_VERSION})" echo "Short Chrome version -> "${CHROME_SHORT_VERSION} From 991d24566d7acaa07f67620d2e903f9bf57bc7e3 Mon Sep 17 00:00:00 2001 From: Viet Nguyen Duc Date: Wed, 29 Nov 2023 19:48:47 +0700 Subject: [PATCH 55/84] test: Add sanity test for download file (#2034) [deploy] Signed-off-by: Viet Nguyen Duc --- README.md | 1 + charts/selenium-grid/TESTING.md | 1 + .../selenium-grid/ci/NodeChrome-values.yaml | 3 +++ charts/selenium-grid/ci/NodeEdge-values.yaml | 3 +++ .../selenium-grid/ci/NodeFirefox-values.yaml | 3 +++ tests/SeleniumTests/__init__.py | 25 ++++++++++++++++--- tests/docker-compose-v3-test-video.yml | 1 + tests/test.py | 2 ++ 8 files changed, 36 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 8922b112b..402944670 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,6 @@ ![Build & test](https://github.com/SeleniumHQ/docker-selenium/workflows/Build%20&%20test/badge.svg?branch=trunk) ![Deployments](https://github.com/SeleniumHQ/docker-selenium/workflows/Deploys/badge.svg) +![Helm Charts](https://github.com/SeleniumHQ/docker-selenium/workflows/Lint%20and%20Test%20Helm%20Charts/badge.svg) # Docker images for the Selenium Grid Server diff --git a/charts/selenium-grid/TESTING.md b/charts/selenium-grid/TESTING.md index aee1c772b..d6e266713 100644 --- a/charts/selenium-grid/TESTING.md +++ b/charts/selenium-grid/TESTING.md @@ -18,6 +18,7 @@ All related testing to this helm chart will be documented in this file. | Browser Nodes | Node `nameOverride` is set | ✓ | | | Sanity tests in node | ✓ | | | Video recorder is enabled in node | ✗ | +| | Node `extraEnvironmentVariables` is set value | ✓ | ## Build & test Docker images with Helm charts Noted: These `make` commands are composed and tested on Linux x86_64. diff --git a/charts/selenium-grid/ci/NodeChrome-values.yaml b/charts/selenium-grid/ci/NodeChrome-values.yaml index f3c30c48d..131434058 100644 --- a/charts/selenium-grid/ci/NodeChrome-values.yaml +++ b/charts/selenium-grid/ci/NodeChrome-values.yaml @@ -2,6 +2,9 @@ # Configuration for chrome nodes chromeNode: nameOverride: my-chrome-name + extraEnvironmentVariables: + - name: SE_OPTS + value: "--enable-managed-downloads true" # Configuration for edge nodes edgeNode: enabled: false diff --git a/charts/selenium-grid/ci/NodeEdge-values.yaml b/charts/selenium-grid/ci/NodeEdge-values.yaml index 1d1c13f9c..aec663509 100644 --- a/charts/selenium-grid/ci/NodeEdge-values.yaml +++ b/charts/selenium-grid/ci/NodeEdge-values.yaml @@ -5,6 +5,9 @@ chromeNode: # Configuration for edge nodes edgeNode: nameOverride: my-edge-name + extraEnvironmentVariables: + - name: SE_OPTS + value: "--enable-managed-downloads true" # Configuration for firefox nodes firefoxNode: enabled: false diff --git a/charts/selenium-grid/ci/NodeFirefox-values.yaml b/charts/selenium-grid/ci/NodeFirefox-values.yaml index 418d00b8a..8ccc9bd41 100644 --- a/charts/selenium-grid/ci/NodeFirefox-values.yaml +++ b/charts/selenium-grid/ci/NodeFirefox-values.yaml @@ -8,3 +8,6 @@ edgeNode: # Configuration for firefox nodes firefoxNode: nameOverride: my-firefox-name + extraEnvironmentVariables: + - name: SE_OPTS + value: "--enable-managed-downloads true" diff --git a/tests/SeleniumTests/__init__.py b/tests/SeleniumTests/__init__.py index ef6e9bada..12ee94ede 100644 --- a/tests/SeleniumTests/__init__.py +++ b/tests/SeleniumTests/__init__.py @@ -63,29 +63,48 @@ def test_play_video(self): paused = video.get_property('paused') self.assertFalse(paused) + def test_download_file(self): + driver = self.driver + driver.get('https://the-internet.herokuapp.com/download') + wait = WebDriverWait(driver, 30) + file_link = wait.until( + EC.element_to_be_clickable((By.LINK_TEXT, 'some-file.txt')) + ) + file_link.click() + wait.until( + lambda d: len(d.get_downloadable_files()) > 0 + ) + self.assertTrue(len(driver.get_downloadable_files()) > 0) + def tearDown(self): self.driver.quit() class ChromeTests(SeleniumGenericTests): def setUp(self): + options = ChromeOptions() + options.enable_downloads = True self.driver = webdriver.Remote( - options=ChromeOptions(), + options=options, command_executor="http://%s:%s" % (SELENIUM_GRID_HOST,SELENIUM_GRID_PORT) ) class EdgeTests(SeleniumGenericTests): def setUp(self): + options = EdgeOptions() + options.enable_downloads = True self.driver = webdriver.Remote( - options=EdgeOptions(), + options=options, command_executor="http://%s:%s" % (SELENIUM_GRID_HOST,SELENIUM_GRID_PORT) ) class FirefoxTests(SeleniumGenericTests): def setUp(self): + options = FirefoxOptions() + options.enable_downloads = True self.driver = webdriver.Remote( - options=FirefoxOptions(), + options=options, command_executor="http://%s:%s" % (SELENIUM_GRID_HOST,SELENIUM_GRID_PORT) ) diff --git a/tests/docker-compose-v3-test-video.yml b/tests/docker-compose-v3-test-video.yml index e80c56b92..bbfb6f6ab 100644 --- a/tests/docker-compose-v3-test-video.yml +++ b/tests/docker-compose-v3-test-video.yml @@ -12,6 +12,7 @@ services: - SE_EVENT_BUS_HOST=selenium-hub - SE_EVENT_BUS_PUBLISH_PORT=4442 - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 + - SE_OPTS=--enable-managed-downloads true ports: - "6900:5900" diff --git a/tests/test.py b/tests/test.py index 16dbbbf30..7568d755b 100644 --- a/tests/test.py +++ b/tests/test.py @@ -136,6 +136,8 @@ def launch_container(container, **kwargs): 'SE_EVENT_BUS_PUBLISH_PORT': 4442, 'SE_EVENT_BUS_SUBSCRIBE_PORT': 4443 } + if container != 'Hub': + environment['SE_OPTS'] = "--enable-managed-downloads true" container_id = client.containers.run("%s/%s:%s" % (NAMESPACE, IMAGE_NAME_MAP[container], VERSION), detach=True, environment=environment, From 591e3f58cc63365c2247bd8c7cc9227c0827b8ca Mon Sep 17 00:00:00 2001 From: Selenium CI Bot Date: Wed, 29 Nov 2023 12:57:57 +0000 Subject: [PATCH 56/84] Update tag in docs and files --- .github/ISSUE_TEMPLATE/bug_report.yml | 2 +- NodeDocker/config.toml | 8 +- README.md | 134 ++++++++++++------------ charts/selenium-grid/CHANGELOG.md | 2 +- charts/selenium-grid/Chart.yaml | 4 +- charts/selenium-grid/README.md | 14 +-- charts/selenium-grid/values.yaml | 26 ++--- docker-compose-v2-tracing.yml | 8 +- docker-compose-v2.yml | 8 +- docker-compose-v3-basicauth.yml | 8 +- docker-compose-v3-dev.yml | 8 +- docker-compose-v3-dynamic-grid.yml | 4 +- docker-compose-v3-full-grid-dev.yml | 16 +-- docker-compose-v3-full-grid-swarm.yml | 8 +- docker-compose-v3-full-grid-tracing.yml | 16 +-- docker-compose-v3-full-grid.yml | 16 +-- docker-compose-v3-swarm.yml | 8 +- docker-compose-v3-tracing.yml | 8 +- docker-compose-v3-video.yml | 14 +-- docker-compose-v3.yml | 8 +- 20 files changed, 160 insertions(+), 160 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 293963a20..89be700b9 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -55,6 +55,6 @@ body: attributes: label: Docker Selenium version (tag) description: What version of Docker Selenium are you using? - placeholder: 4.15.0-20231128? Please use the full tag, avoid "latest" + placeholder: 4.15.0-20231129? Please use the full tag, avoid "latest" validations: required: true \ No newline at end of file diff --git a/NodeDocker/config.toml b/NodeDocker/config.toml index c014087a5..5c31e62cf 100644 --- a/NodeDocker/config.toml +++ b/NodeDocker/config.toml @@ -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.15.0-20231128", '{"browserName": "firefox", "platformName": "linux"}', - "selenium/standalone-chrome:4.15.0-20231128", '{"browserName": "chrome", "platformName": "linux"}', - "selenium/standalone-edge:4.15.0-20231128", '{"browserName": "MicrosoftEdge", "platformName": "linux"}' + "selenium/standalone-firefox:4.15.0-20231129", '{"browserName": "firefox", "platformName": "linux"}', + "selenium/standalone-chrome:4.15.0-20231129", '{"browserName": "chrome", "platformName": "linux"}', + "selenium/standalone-edge:4.15.0-20231129", '{"browserName": "MicrosoftEdge", "platformName": "linux"}' ] # URL for connecting to the docker daemon @@ -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-6.0-20231128" +video-image = "selenium/video:ffmpeg-6.0-20231129" # Uncomment the following section if you are running the node on a separate VM # Fill out the placeholders with appropriate values diff --git a/README.md b/README.md index 402944670..684bf284e 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ The project is made possible by volunteer contributors who have put in thousands and made the source code freely available under the [Apache License 2.0](LICENSE.md). These Docker images come with a handful of tags to simplify its usage, have a look at them in one of -our [releases](https://github.com/SeleniumHQ/docker-selenium/releases/tag/4.15.0-20231128). +our [releases](https://github.com/SeleniumHQ/docker-selenium/releases/tag/4.15.0-20231129). To get notifications of new releases, add yourself as a "Releases only" watcher. @@ -65,7 +65,7 @@ Talk to us at https://www.selenium.dev/support/ 1. Start a Docker container with Firefox ```bash -docker run -d -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-firefox:4.15.0-20231128 +docker run -d -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-firefox:4.15.0-20231129 ``` 2. Point your WebDriver tests to http://localhost:4444 @@ -252,17 +252,17 @@ For more information on the Dev and Beta channel container images, see the blog ![Firefox](https://raw.githubusercontent.com/alrra/browser-logos/main/src/firefox/firefox_24x24.png) Firefox ```bash -docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-firefox:4.15.0-20231128 +docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-firefox:4.15.0-20231129 ``` ![Chrome](https://raw.githubusercontent.com/alrra/browser-logos/main/src/chrome/chrome_24x24.png) Chrome ```bash -docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-chrome:4.15.0-20231128 +docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-chrome:4.15.0-20231129 ``` ![Edge](https://raw.githubusercontent.com/alrra/browser-logos/main/src/edge/edge_24x24.png) Edge ```bash -docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-edge:4.15.0-20231128 +docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-edge:4.15.0-20231129 ``` _Note: Only one Standalone container can run on port_ `4444` _at the same time._ @@ -281,44 +281,44 @@ A Docker [network](https://docs.docker.com/engine/reference/commandline/network_ ```bash $ docker network create grid -$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.15.0-20231128 +$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.15.0-20231129 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-chrome:4.15.0-20231128 + selenium/node-chrome:4.15.0-20231129 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-edge:4.15.0-20231128 + selenium/node-edge:4.15.0-20231129 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-firefox:4.15.0-20231128 + selenium/node-firefox:4.15.0-20231129 ``` ##### Windows PowerShell ```powershell $ docker network create grid -$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.15.0-20231128 +$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.15.0-20231129 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub ` --shm-size="2g" ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` - selenium/node-chrome:4.15.0-20231128 + selenium/node-chrome:4.15.0-20231129 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub ` --shm-size="2g" ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` - selenium/node-edge:4.15.0-20231128 + selenium/node-edge:4.15.0-20231129 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub ` --shm-size="2g" ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` - selenium/node-firefox:4.15.0-20231128 + selenium/node-firefox:4.15.0-20231129 ``` When you are done using the Grid, and the containers have exited, the network can be removed with the following command: @@ -335,7 +335,7 @@ configured to expose different ports. ##### Hub - Machine/VM 1 ```bash -$ docker run -d -p 4442-4444:4442-4444 --name selenium-hub selenium/hub:4.15.0-20231128 +$ docker run -d -p 4442-4444:4442-4444 --name selenium-hub selenium/hub:4.15.0-20231129 ``` ##### Node Chrome - Machine/VM 2 @@ -349,7 +349,7 @@ $ docker run -d -p 5555:5555 \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ -e SE_NODE_HOST= \ - selenium/node-chrome:4.15.0-20231128 + selenium/node-chrome:4.15.0-20231129 ``` ###### Windows PowerShell @@ -361,7 +361,7 @@ $ docker run -d -p 5555:5555 ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` -e SE_NODE_HOST= ` - selenium/node-chrome:4.15.0-20231128 + selenium/node-chrome:4.15.0-20231129 ``` @@ -376,7 +376,7 @@ $ docker run -d -p 5555:5555 \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ -e SE_NODE_HOST= \ - selenium/node-edge:4.15.0-20231128 + selenium/node-edge:4.15.0-20231129 ``` ###### Windows PowerShell @@ -388,7 +388,7 @@ $ docker run -d -p 5555:5555 ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` -e SE_NODE_HOST= ` - selenium/node-edge:4.15.0-20231128 + selenium/node-edge:4.15.0-20231129 ``` ##### Node Firefox - Machine/VM 4 @@ -402,7 +402,7 @@ $ docker run -d -p 5555:5555 \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ -e SE_NODE_HOST= \ - selenium/node-firefox:4.15.0-20231128 + selenium/node-firefox:4.15.0-20231129 ``` ###### Windows PowerShell @@ -414,7 +414,7 @@ $ docker run -d -p 5555:5555 ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` -e SE_NODE_HOST= ` - selenium/node-firefox:4.15.0-20231128 + selenium/node-firefox:4.15.0-20231129 ``` ##### Node Chrome - Machine/VM 4 @@ -429,7 +429,7 @@ $ docker run -d -p 5556:5556 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ -e SE_NODE_HOST= \ -e SE_NODE_PORT=5556 \ - selenium/node-chrome:4.15.0-20231128 + selenium/node-chrome:4.15.0-20231129 ``` ###### Windows PowerShell @@ -442,7 +442,7 @@ $ docker run -d -p 5556:5556 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` -e SE_NODE_HOST= ` -e SE_NODE_PORT=5556 ` - selenium/node-chrome:4.15.0-20231128 + selenium/node-chrome:4.15.0-20231129 ``` #### Docker Compose @@ -474,7 +474,7 @@ ___ ## Video recording -Tests execution can be recorded by using the `selenium/video:ffmpeg-6.0-20231128` +Tests execution can be recorded by using the `selenium/video:ffmpeg-6.0-20231129` Docker image. One container is needed per each container where a browser is running. This means if you are running 5 Nodes/Standalone containers, you will need 5 video containers, the mapping is 1-1. @@ -500,8 +500,8 @@ This example shows how to start the containers manually: ``` bash $ docker network create grid -$ docker run -d -p 4444:4444 -p 6900:5900 --net grid --name selenium --shm-size="2g" selenium/standalone-chrome:4.15.0-20231128 -$ docker run -d --net grid --name video -v /tmp/videos:/videos selenium/video:ffmpeg-6.0-20231128 +$ docker run -d -p 4444:4444 -p 6900:5900 --net grid --name selenium --shm-size="2g" selenium/standalone-chrome:4.15.0-20231129 +$ docker run -d --net grid --name video -v /tmp/videos:/videos selenium/video:ffmpeg-6.0-20231129 # Run your tests $ docker stop video && docker rm video $ docker stop selenium && docker rm selenium @@ -533,9 +533,9 @@ You can save this file locally and name it, for example, `config.toml`. # 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.15.0-20231128", '{"browserName": "firefox"}', - "selenium/standalone-chrome:4.15.0-20231128", '{"browserName": "chrome"}', - "selenium/standalone-edge:4.15.0-20231128", '{"browserName": "MicrosoftEdge"}' + "selenium/standalone-firefox:4.15.0-20231129", '{"browserName": "firefox"}', + "selenium/standalone-chrome:4.15.0-20231129", '{"browserName": "chrome"}', + "selenium/standalone-edge:4.15.0-20231129", '{"browserName": "MicrosoftEdge"}' ] # URL for connecting to the docker daemon @@ -548,7 +548,7 @@ configs = [ # Linux: varies from machine to machine, please mount /var/run/docker.sock. If this does not work, please create an issue. url = "http://127.0.0.1:2375" # Docker image used for video recording -video-image = "selenium/video:ffmpeg-6.0-20231128" +video-image = "selenium/video:ffmpeg-6.0-20231129" # Uncomment the following section if you are running the node on a separate VM # Fill out the placeholders with appropriate values @@ -567,28 +567,28 @@ virtual machines. ```bash $ docker network create grid -$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.15.0-20231128 +$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.15.0-20231129 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ -v ${PWD}/config.toml:/opt/bin/config.toml \ -v ${PWD}/assets:/opt/selenium/assets \ -v /var/run/docker.sock:/var/run/docker.sock \ - selenium/node-docker:4.15.0-20231128 + selenium/node-docker:4.15.0-20231129 ``` #### Windows PowerShell ```powershell $ docker network create grid -$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.15.0-20231128 +$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.15.0-20231129 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` -v ${PWD}/config.toml:/opt/bin/config.toml ` -v ${PWD}/assets:/opt/selenium/assets ` -v /var/run/docker.sock:/var/run/docker.sock ` - selenium/node-docker:4.15.0-20231128 + selenium/node-docker:4.15.0-20231129 ``` To have the assets saved on your host, please mount your host path to `/opt/selenium/assets`. @@ -609,7 +609,7 @@ docker run --rm --name selenium-docker -p 4444:4444 \ -v ${PWD}/config.toml:/opt/bin/config.toml \ -v ${PWD}/assets:/opt/selenium/assets \ -v /var/run/docker.sock:/var/run/docker.sock \ - selenium/standalone-docker:4.15.0-20231128 + selenium/standalone-docker:4.15.0-20231129 ``` #### Windows PowerShell @@ -619,7 +619,7 @@ docker run --rm --name selenium-docker -p 4444:4444 ` -v ${PWD}/config.toml:/opt/bin/config.toml ` -v ${PWD}/assets:/opt/selenium/assets ` -v /var/run/docker.sock:/var/run/docker.sock ` - selenium/standalone-docker:4.15.0-20231128 + selenium/standalone-docker:4.15.0-20231129 ``` ### Using Dynamic Grid in different machines/VMs @@ -627,7 +627,7 @@ docker run --rm --name selenium-docker -p 4444:4444 ` #### Hub - Machine/VM 1 ```bash -$ docker run -d -p 4442-4444:4442-4444 --name selenium-hub selenium/hub:4.15.0-20231128 +$ docker run -d -p 4442-4444:4442-4444 --name selenium-hub selenium/hub:4.15.0-20231129 ``` #### Node Chrome - Machine/VM 2 @@ -642,7 +642,7 @@ $ docker run -d -p 5555:5555 \ -v ${PWD}/config.toml:/opt/bin/config.toml \ -v ${PWD}/assets:/opt/selenium/assets \ -v /var/run/docker.sock:/var/run/docker.sock \ - selenium/node-docker:4.15.0-20231128 + selenium/node-docker:4.15.0-20231129 ``` #### Windows PowerShell @@ -655,7 +655,7 @@ $ docker run -d -p 5555:5555 ` -v ${PWD}/config.toml:/opt/bin/config.toml ` -v ${PWD}/assets:/opt/selenium/assets ` -v /var/run/docker.sock:/var/run/docker.sock ` - selenium/node-docker:4.15.0-20231128 + selenium/node-docker:4.15.0-20231129 ``` Complete the `[server]` section in the `config.toml` file. @@ -664,9 +664,9 @@ Complete the `[server]` section in the `config.toml` file. # 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.15.0-20231128", "{\"browserName\": \"firefox\"}", - "selenium/standalone-chrome:4.15.0-20231128", "{\"browserName\": \"chrome\"}", - "selenium/standalone-edge:4.15.0-20231128", "{\"browserName\": \"MicrosoftEdge\"}" + "selenium/standalone-firefox:4.15.0-20231129", "{\"browserName\": \"firefox\"}", + "selenium/standalone-chrome:4.15.0-20231129", "{\"browserName\": \"chrome\"}", + "selenium/standalone-edge:4.15.0-20231129", "{\"browserName\": \"MicrosoftEdge\"}" ] # URL for connecting to the docker daemon @@ -679,7 +679,7 @@ configs = [ # Linux: varies from machine to machine, please mount /var/run/docker.sock. If this does not work, please create an issue. url = "http://127.0.0.1:2375" # Docker image used for video recording -video-image = "selenium/video:ffmpeg-6.0-20231128" +video-image = "selenium/video:ffmpeg-6.0-20231129" # Uncomment the following section if you are running the node on a separate VM # Fill out the placeholders with appropriate values @@ -713,7 +713,7 @@ docker run --rm --name selenium-docker -p 4444:4444 \ -v ${PWD}/config.toml:/opt/bin/config.toml \ -v ${PWD}/assets:/opt/selenium/assets \ -v /var/run/docker.sock:/var/run/docker.sock \ - selenium/standalone-docker:4.15.0-20231128 + selenium/standalone-docker:4.15.0-20231129 ``` #### Windows PowerShell @@ -724,7 +724,7 @@ docker run --rm --name selenium-docker -p 4444:4444 ` -v ${PWD}/config.toml:/opt/bin/config.toml ` -v ${PWD}/assets:/opt/selenium/assets ` -v /var/run/docker.sock:/var/run/docker.sock ` - selenium/standalone-docker:4.15.0-20231128 + selenium/standalone-docker:4.15.0-20231129 ``` @@ -762,7 +762,7 @@ ___ You can pass `SE_OPTS` variable with additional command line parameters for starting a hub or a node. ``` bash -$ docker run -d -p 4444:4444 -e SE_OPTS="--log-level FINE" --name selenium-hub selenium/hub:4.15.0-20231128 +$ docker run -d -p 4444:4444 -e SE_OPTS="--log-level FINE" --name selenium-hub selenium/hub:4.15.0-20231129 ``` ### SE_JAVA_OPTS Java Environment Options @@ -770,7 +770,7 @@ $ docker run -d -p 4444:4444 -e SE_OPTS="--log-level FINE" --name selenium-hub s You can pass `SE_JAVA_OPTS` environment variable to the Java process. ``` bash -$ docker run -d -p 4444:4444 -e SE_JAVA_OPTS=-Xmx512m --name selenium-hub selenium/hub:4.15.0-20231128 +$ docker run -d -p 4444:4444 -e SE_JAVA_OPTS=-Xmx512m --name selenium-hub selenium/hub:4.15.0-20231129 ``` ### Node configuration options @@ -792,7 +792,7 @@ $ docker run -d \ -e SE_EVENT_BUS_HOST= \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 -e SE_NODE_STEREOTYPE="{\"browserName\":\"${SE_NODE_BROWSER_NAME}\",\"browserVersion\":\"${SE_NODE_BROWSER_VERSION}\",\"platformName\": \"Linux\"}" \ - --shm-size="2g" selenium/node-chrome:4.15.0-20231128 + --shm-size="2g" selenium/node-chrome:4.15.0-20231129 ``` ### Setting Sub Path @@ -811,7 +811,7 @@ These settings can be adjusted by specifying `SE_SCREEN_WIDTH`, `SE_SCREEN_HEIGH environmental variables when starting the container. ``` bash -docker run -d -e SE_SCREEN_WIDTH=1366 -e SE_SCREEN_HEIGHT=768 -e SE_SCREEN_DEPTH=24 -e SE_SCREEN_DPI=74 selenium/standalone-firefox:4.15.0-20231128 +docker run -d -e SE_SCREEN_WIDTH=1366 -e SE_SCREEN_HEIGHT=768 -e SE_SCREEN_DEPTH=24 -e SE_SCREEN_DPI=74 selenium/standalone-firefox:4.15.0-20231129 ``` ### Grid Url and Session Timeout @@ -861,7 +861,7 @@ To avoid starting the server you can set the `START_XVFB` environment variable t ``` bash $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ - -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 -e START_XVFB=false --shm-size="2g" selenium/node-chrome:4.15.0-20231128 + -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 -e START_XVFB=false --shm-size="2g" selenium/node-chrome:4.15.0-20231129 ``` For more information, see this GitHub [issue](https://github.com/SeleniumHQ/docker-selenium/issues/567). @@ -874,7 +874,7 @@ pod and then scale a new one after N sessions. Set the environment variable `SE_ a value higher than zero to enable this behaviour. ``` bash -$ docker run -e SE_DRAIN_AFTER_SESSION_COUNT=5 --shm-size="2g" selenium/standalone-firefox:4.15.0-20231128 +$ docker run -e SE_DRAIN_AFTER_SESSION_COUNT=5 --shm-size="2g" selenium/standalone-firefox:4.15.0-20231129 ``` With the previous command, the Standalone container will shut down after 5 sessions have been executed. @@ -966,22 +966,22 @@ $ docker network create grid $ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub \ --health-cmd='/opt/bin/check-grid.sh --host 0.0.0.0 --port 4444' \ --health-interval=15s --health-timeout=30s --health-retries=5 \ - selenium/hub:4.15.0-20231128 + selenium/hub:4.15.0-20231129 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-chrome:4.15.0-20231128 + selenium/node-chrome:4.15.0-20231129 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-edge:4.15.0-20231128 + selenium/node-edge:4.15.0-20231129 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-firefox:4.15.0-20231128 + selenium/node-firefox:4.15.0-20231129 ``` **Note:** The `\` line delimiter won't work on Windows-based terminals, try either `^` or a backtick. @@ -1114,7 +1114,7 @@ RUN mkdir -p -m755 /seluser/.pki/nssdb \ && chown -R 1200:1201 /seluser # Start from Selenium image and add relevant files from build image -FROM selenium/node-chrome:4.15.0-20231128 +FROM selenium/node-chrome:4.15.0-20231129 USER root COPY --from=build /seluser/ /home/seluser/ USER seluser @@ -1129,7 +1129,7 @@ RUN mkdir -p "/distribution" "/certs" && \ echo '{ "policies": { "Certificates": { "Install": ["/opt/firefox-latest/YOUR_CA.pem"] }} }' >"/distribution/policies.json" # Start from Selenium image and add relevant files from build image -FROM selenium/node-firefox:4.15.0-20231128 +FROM selenium/node-firefox:4.15.0-20231129 USER root COPY --from=build /certs /opt/firefox-latest COPY --from=build /distribution /opt/firefox-latest/distribution @@ -1152,9 +1152,9 @@ You can override it with the `SE_VNC_PORT` environment variable in case you want Here is an example with the standalone images, the same concept applies to the node images. ``` bash -$ docker run -d -p 4444:4444 -p 5900:5900 --shm-size="2g" selenium/standalone-chrome:4.15.0-20231128 -$ docker run -d -p 4445:4444 -p 5901:5900 --shm-size="2g" selenium/standalone-edge:4.15.0-20231128 -$ docker run -d -p 4446:4444 -p 5902:5900 --shm-size="2g" selenium/standalone-firefox:4.15.0-20231128 +$ docker run -d -p 4444:4444 -p 5900:5900 --shm-size="2g" selenium/standalone-chrome:4.15.0-20231129 +$ docker run -d -p 4445:4444 -p 5901:5900 --shm-size="2g" selenium/standalone-edge:4.15.0-20231129 +$ docker run -d -p 4446:4444 -p 5902:5900 --shm-size="2g" selenium/standalone-firefox:4.15.0-20231129 ``` Then, you would use in your VNC client: @@ -1180,9 +1180,9 @@ You can also override it with the `SE_NO_VNC_PORT` environment variable in case Here is an example with the standalone images, the same concept applies to the node images. ``` bash -$ docker run -d -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-chrome:4.15.0-20231128 -$ docker run -d -p 4445:4444 -p 7901:7900 --shm-size="2g" selenium/standalone-edge:4.15.0-20231128 -$ docker run -d -p 4446:4444 -p 7902:7900 --shm-size="2g" selenium/standalone-firefox:4.15.0-20231128 +$ docker run -d -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-chrome:4.15.0-20231129 +$ docker run -d -p 4445:4444 -p 7901:7900 --shm-size="2g" selenium/standalone-edge:4.15.0-20231129 +$ docker run -d -p 4446:4444 -p 7902:7900 --shm-size="2g" selenium/standalone-firefox:4.15.0-20231129 ``` Then, you would use in your browser: @@ -1207,28 +1207,28 @@ In order to enable tracing in the Selenium Grid container, the following command ```bash docker network create grid docker run -d -p 16686:16686 -p 14250:14250 --net grid --name jaeger jaegertracing/all-in-one:1.17 -docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.15.0-20231128 +docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.15.0-20231129 docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_ENABLE_TRACING=true \ -e JAVA_OPTS="-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-chrome" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-chrome:4.15.0-20231128 + selenium/node-chrome:4.15.0-20231129 docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_ENABLE_TRACING=true \ -e JAVA_OPTS="-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-edge" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-edge:4.15.0-20231128 + selenium/node-edge:4.15.0-20231129 docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_ENABLE_TRACING=true \ -e JAVA_OPTS="-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-firefox" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-firefox:4.15.0-20231128 + selenium/node-firefox:4.15.0-20231129 ``` You can also refer to the below docker-compose yaml files to be able to start a simple grid (or) a dynamic grid. @@ -1288,7 +1288,7 @@ container in the following way: ```bash docker run -d -p 4444:4444 --shm-size="2g" \ -v /home/ubuntu/files:/home/seluser/files \ - selenium/standalone-chrome:4.15.0-20231128 + selenium/standalone-chrome:4.15.0-20231129 ``` That will mount the host `/home/ubuntu/files` directory diff --git a/charts/selenium-grid/CHANGELOG.md b/charts/selenium-grid/CHANGELOG.md index b92493cd0..68558c3b4 100644 --- a/charts/selenium-grid/CHANGELOG.md +++ b/charts/selenium-grid/CHANGELOG.md @@ -17,7 +17,7 @@ All notable changes to this helm chart will be documented in this file. - feat: Adding port to nodes service (#1196) :: Viet Nguyen Duc ### Changed -- Update image tag to 4.15.0-20231128 +- Update image tag to 4.15.0-20231129 ## :heavy_check_mark: 0.23.0 diff --git a/charts/selenium-grid/Chart.yaml b/charts/selenium-grid/Chart.yaml index d300a367d..a66c44217 100644 --- a/charts/selenium-grid/Chart.yaml +++ b/charts/selenium-grid/Chart.yaml @@ -2,8 +2,8 @@ apiVersion: v2 name: selenium-grid description: A Helm chart for creating a Selenium Grid Server in Kubernetes type: application -version: 0.25.2 -appVersion: 4.15.0-20231128 +version: 0.25.3 +appVersion: 4.15.0-20231129 icon: https://github.com/SeleniumHQ/docker-selenium/raw/trunk/logo.png dependencies: - repository: https://kedacore.github.io/charts diff --git a/charts/selenium-grid/README.md b/charts/selenium-grid/README.md index 94d46fb4e..2d444e969 100644 --- a/charts/selenium-grid/README.md +++ b/charts/selenium-grid/README.md @@ -86,9 +86,9 @@ For now, global configuration supported is: | Parameter | Default | Description | |---------------------------------------|-----------------------|---------------------------------------| | `global.seleniumGrid.imageRegistry` | `selenium` | Distribution registry to pull images | -| `global.seleniumGrid.imageTag` | `4.15.0-20231128` | Image tag for all selenium components | -| `global.seleniumGrid.nodesImageTag` | `4.15.0-20231128` | Image tag for browser's nodes | -| `global.seleniumGrid.videoImageTag` | `ffmpeg-6.0-20231128` | Image tag for browser's video recoder | +| `global.seleniumGrid.imageTag` | `4.15.0-20231129` | Image tag for all selenium components | +| `global.seleniumGrid.nodesImageTag` | `4.15.0-20231129` | Image tag for browser's nodes | +| `global.seleniumGrid.videoImageTag` | `ffmpeg-6.0-20231129` | Image tag for browser's video recoder | | `global.seleniumGrid.imagePullSecret` | `""` | Pull secret to be used for all images | | `global.seleniumGrid.imagePullSecret` | `""` | Pull secret to be used for all images | | `global.seleniumGrid.affinity` | `{}` | Affinity assigned globally | @@ -131,7 +131,7 @@ This table contains the configuration parameters of the chart and their default | `chromeNode.replicas` | `1` | Number of chrome nodes. Disabled if autoscaling is enabled. | | `chromeNode.imageRegistry` | `nil` | Distribution registry to pull the image | | `chromeNode.imageName` | `node-chrome` | Image of chrome nodes | -| `chromeNode.imageTag` | `4.15.0-20231128` | Image of chrome nodes | +| `chromeNode.imageTag` | `4.15.0-20231129` | Image of chrome nodes | | `chromeNode.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | | `chromeNode.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | | `chromeNode.ports` | `[5555]` | Port list to enable on container | @@ -171,7 +171,7 @@ This table contains the configuration parameters of the chart and their default | `firefoxNode.replicas` | `1` | Number of firefox nodes. Disabled if autoscaling is enabled. | | `firefoxNode.imageRegistry` | `nil` | Distribution registry to pull the image | | `firefoxNode.imageName` | `node-firefox` | Image of firefox nodes | -| `firefoxNode.imageTag` | `4.15.0-20231128` | Image of firefox nodes | +| `firefoxNode.imageTag` | `4.15.0-20231129` | Image of firefox nodes | | `firefoxNode.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | | `firefoxNode.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | | `firefoxNode.ports` | `[5555]` | Port list to enable on container | @@ -211,7 +211,7 @@ This table contains the configuration parameters of the chart and their default | `edgeNode.replicas` | `1` | Number of edge nodes. Disabled if autoscaling is enabled. | | `edgeNode.imageRegistry` | `nil` | Distribution registry to pull the image | | `edgeNode.imageName` | `node-edge` | Image of edge nodes | -| `edgeNode.imageTag` | `4.15.0-20231128` | Image of edge nodes | +| `edgeNode.imageTag` | `4.15.0-20231129` | Image of edge nodes | | `edgeNode.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | | `edgeNode.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | | `edgeNode.ports` | `[5555]` | Port list to enable on container | @@ -249,7 +249,7 @@ This table contains the configuration parameters of the chart and their default | `videoRecorder.enabled` | `false` | Enable video recorder for node | | `videoRecorder.imageRegistry` | `nil` | Distribution registry to pull the image | | `videoRecorder.imageName` | `video` | Selenium video recoder image name | -| `videoRecorder.imageTag` | `ffmpeg-6.0-20231128` | Image tag of video recorder | +| `videoRecorder.imageTag` | `ffmpeg-6.0-20231129` | Image tag of video recorder | | `videoRecorder.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | | `videoRecorder.uploader` | `false` | Name of the uploader to use. The value `false` is used to disable uploader. Supported default `s3` | | `videoRecorder.uploadDestinationPrefix` | `false` | Destination URL for uploading video file. The value `false` is used to disable the uploading | diff --git a/charts/selenium-grid/values.yaml b/charts/selenium-grid/values.yaml index cadf4cee2..b6e4ee040 100644 --- a/charts/selenium-grid/values.yaml +++ b/charts/selenium-grid/values.yaml @@ -3,11 +3,11 @@ global: # Image registry for all selenium components imageRegistry: selenium # Image tag for all selenium components - imageTag: 4.15.0-20231128 + imageTag: 4.15.0-20231129 # Image tag for browser's nodes - nodesImageTag: 4.15.0-20231128 + nodesImageTag: 4.15.0-20231129 # Image tag for browser's video recorder - videoImageTag: ffmpeg-6.0-20231128 + videoImageTag: ffmpeg-6.0-20231129 # Pull secret for all components, can be overridden individually imagePullSecret: "" @@ -71,7 +71,7 @@ components: # Router image name imageName: router # Router image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.15.0-20231128 + # imageTag: 4.15.0-20231129 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent @@ -123,7 +123,7 @@ components: # Distributor image name imageName: distributor # Distributor image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.15.0-20231128 + # imageTag: 4.15.0-20231129 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent @@ -155,7 +155,7 @@ components: # Event Bus image name imageName: event-bus # Event Bus image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.15.0-20231128 + # imageTag: 4.15.0-20231129 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent @@ -191,7 +191,7 @@ components: # Session Map image name imageName: sessions # Session Map image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.15.0-20231128 + # imageTag: 4.15.0-20231129 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent @@ -222,7 +222,7 @@ components: # Session Queue image name imageName: session-queue # Session Queue image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.15.0-20231128 + # imageTag: 4.15.0-20231129 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent @@ -273,7 +273,7 @@ hub: # Selenium Hub image name imageName: hub # Selenium Hub image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.15.0-20231128 + # imageTag: 4.15.0-20231129 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent # Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) @@ -414,7 +414,7 @@ chromeNode: # Image of chrome nodes imageName: node-chrome # Image of chrome nodes (this overwrites global.seleniumGrid.nodesImageTag) - # imageTag: 4.15.0-20231128 + # imageTag: 4.15.0-20231129 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent # Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) @@ -547,7 +547,7 @@ firefoxNode: # Image of firefox nodes imageName: node-firefox # Image of firefox nodes (this overwrites global.seleniumGrid.nodesImageTag) - # imageTag: 4.15.0-20231128 + # imageTag: 4.15.0-20231129 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent # Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) @@ -677,7 +677,7 @@ edgeNode: # Image of edge nodes imageName: node-edge # Image of edge nodes (this overwrites global.seleniumGrid.nodesImageTag) - # imageTag: 4.15.0-20231128 + # imageTag: 4.15.0-20231129 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent # Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) @@ -796,7 +796,7 @@ videoRecorder: # Image of video recorder imageName: video # Image of video recorder - # imageTag: ffmpeg-6.0-20231128 + # imageTag: ffmpeg-6.0-20231129 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent # Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) diff --git a/docker-compose-v2-tracing.yml b/docker-compose-v2-tracing.yml index 76d9e0e4a..9743f3465 100644 --- a/docker-compose-v2-tracing.yml +++ b/docker-compose-v2-tracing.yml @@ -9,7 +9,7 @@ services: - "16686:16686" - "14250:14250" chrome: - image: selenium/node-chrome:4.15.0-20231128 + image: selenium/node-chrome:4.15.0-20231129 shm_size: 2gb depends_on: - selenium-hub @@ -23,7 +23,7 @@ services: - "6900:5900" edge: - image: selenium/node-edge:4.15.0-20231128 + image: selenium/node-edge:4.15.0-20231129 shm_size: 2gb depends_on: - selenium-hub @@ -37,7 +37,7 @@ services: - "6901:5900" firefox: - image: selenium/node-firefox:4.15.0-20231128 + image: selenium/node-firefox:4.15.0-20231129 shm_size: 2gb depends_on: - selenium-hub @@ -51,7 +51,7 @@ services: - "6902:5900" selenium-hub: - image: selenium/hub:4.15.0-20231128 + image: selenium/hub:4.15.0-20231129 ports: - "4442:4442" - "4443:4443" diff --git a/docker-compose-v2.yml b/docker-compose-v2.yml index d576b405e..5fce484ec 100644 --- a/docker-compose-v2.yml +++ b/docker-compose-v2.yml @@ -4,7 +4,7 @@ version: '2' services: chrome: - image: selenium/node-chrome:4.15.0-20231128 + image: selenium/node-chrome:4.15.0-20231129 shm_size: 2gb depends_on: - selenium-hub @@ -16,7 +16,7 @@ services: - "6900:5900" edge: - image: selenium/node-edge:4.15.0-20231128 + image: selenium/node-edge:4.15.0-20231129 shm_size: 2gb depends_on: - selenium-hub @@ -28,7 +28,7 @@ services: - "6901:5900" firefox: - image: selenium/node-firefox:4.15.0-20231128 + image: selenium/node-firefox:4.15.0-20231129 shm_size: 2gb depends_on: - selenium-hub @@ -40,7 +40,7 @@ services: - "6902:5900" selenium-hub: - image: selenium/hub:4.15.0-20231128 + image: selenium/hub:4.15.0-20231129 ports: - "4442:4442" - "4443:4443" diff --git a/docker-compose-v3-basicauth.yml b/docker-compose-v3-basicauth.yml index 33a3e8ece..37ab13ab9 100644 --- a/docker-compose-v3-basicauth.yml +++ b/docker-compose-v3-basicauth.yml @@ -4,7 +4,7 @@ version: "3" services: chrome: - image: selenium/node-chrome:4.15.0-20231128 + image: selenium/node-chrome:4.15.0-20231129 shm_size: 2gb depends_on: - selenium-hub @@ -14,7 +14,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.15.0-20231128 + image: selenium/node-edge:4.15.0-20231129 shm_size: 2gb depends_on: - selenium-hub @@ -24,7 +24,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.15.0-20231128 + image: selenium/node-firefox:4.15.0-20231129 shm_size: 2gb depends_on: - selenium-hub @@ -34,7 +34,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-hub: - image: selenium/hub:4.15.0-20231128 + image: selenium/hub:4.15.0-20231129 container_name: selenium-hub ports: - "4442:4442" diff --git a/docker-compose-v3-dev.yml b/docker-compose-v3-dev.yml index 0a9693692..d1560f30e 100644 --- a/docker-compose-v3-dev.yml +++ b/docker-compose-v3-dev.yml @@ -4,7 +4,7 @@ version: "3" services: chrome: - image: selenium/node-chrome:4.15.0-20231128 + image: selenium/node-chrome:4.15.0-20231129 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar @@ -16,7 +16,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.15.0-20231128 + image: selenium/node-edge:4.15.0-20231129 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar @@ -28,7 +28,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.15.0-20231128 + image: selenium/node-firefox:4.15.0-20231129 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar @@ -40,7 +40,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-hub: - image: selenium/hub:4.15.0-20231128 + image: selenium/hub:4.15.0-20231129 container_name: selenium-hub volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar diff --git a/docker-compose-v3-dynamic-grid.yml b/docker-compose-v3-dynamic-grid.yml index 20d19b70b..50d125d8b 100644 --- a/docker-compose-v3-dynamic-grid.yml +++ b/docker-compose-v3-dynamic-grid.yml @@ -4,7 +4,7 @@ version: "3" services: node-docker: - image: selenium/node-docker:4.15.0-20231128 + image: selenium/node-docker:4.15.0-20231129 volumes: - ./assets:/opt/selenium/assets - ./NodeDocker/config.toml:/opt/bin/config.toml @@ -17,7 +17,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-hub: - image: selenium/hub:4.15.0-20231128 + image: selenium/hub:4.15.0-20231129 container_name: selenium-hub ports: - "4442:4442" diff --git a/docker-compose-v3-full-grid-dev.yml b/docker-compose-v3-full-grid-dev.yml index 7690805bf..7e5a7ffd0 100644 --- a/docker-compose-v3-full-grid-dev.yml +++ b/docker-compose-v3-full-grid-dev.yml @@ -4,7 +4,7 @@ version: "3" services: selenium-event-bus: - image: selenium/event-bus:4.15.0-20231128 + image: selenium/event-bus:4.15.0-20231129 volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar container_name: selenium-event-bus @@ -14,7 +14,7 @@ services: - "5557:5557" selenium-sessions: - image: selenium/sessions:4.15.0-20231128 + image: selenium/sessions:4.15.0-20231129 volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar container_name: selenium-sessions @@ -28,7 +28,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-session-queue: - image: selenium/session-queue:4.15.0-20231128 + image: selenium/session-queue:4.15.0-20231129 volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar container_name: selenium-session-queue @@ -36,7 +36,7 @@ services: - "5559:5559" selenium-distributor: - image: selenium/distributor:4.15.0-20231128 + image: selenium/distributor:4.15.0-20231129 volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar container_name: selenium-distributor @@ -56,7 +56,7 @@ services: - SE_SESSION_QUEUE_PORT=5559 selenium-router: - image: selenium/router:4.15.0-20231128 + image: selenium/router:4.15.0-20231129 volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar container_name: selenium-router @@ -75,7 +75,7 @@ services: - SE_SESSION_QUEUE_PORT=5559 chrome: - image: selenium/node-chrome:4.15.0-20231128 + image: selenium/node-chrome:4.15.0-20231129 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar @@ -87,7 +87,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.15.0-20231128 + image: selenium/node-edge:4.15.0-20231129 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar @@ -99,7 +99,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.15.0-20231128 + image: selenium/node-firefox:4.15.0-20231129 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar diff --git a/docker-compose-v3-full-grid-swarm.yml b/docker-compose-v3-full-grid-swarm.yml index 7477b82cc..eef813159 100644 --- a/docker-compose-v3-full-grid-swarm.yml +++ b/docker-compose-v3-full-grid-swarm.yml @@ -7,7 +7,7 @@ version: '3.7' services: chrome: - image: selenium/node-chrome:4.15.0-20231128 + image: selenium/node-chrome:4.15.0-20231129 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -18,7 +18,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' edge: - image: selenium/node-edge:4.15.0-20231128 + image: selenium/node-edge:4.15.0-20231129 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -29,7 +29,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' firefox: - image: selenium/node-firefox:4.15.0-20231128 + image: selenium/node-firefox:4.15.0-20231129 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -40,7 +40,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' selenium-hub: - image: selenium/hub:4.15.0-20231128 + image: selenium/hub:4.15.0-20231129 ports: - "4442:4442" - "4443:4443" diff --git a/docker-compose-v3-full-grid-tracing.yml b/docker-compose-v3-full-grid-tracing.yml index 8d42d757c..efba7cb49 100644 --- a/docker-compose-v3-full-grid-tracing.yml +++ b/docker-compose-v3-full-grid-tracing.yml @@ -9,7 +9,7 @@ services: - "16686:16686" - "14250:14250" selenium-event-bus: - image: selenium/event-bus:4.15.0-20231128 + image: selenium/event-bus:4.15.0-20231129 container_name: selenium-event-bus ports: - "4442:4442" @@ -21,7 +21,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-event-bus selenium-sessions: - image: selenium/sessions:4.15.0-20231128 + image: selenium/sessions:4.15.0-20231129 container_name: selenium-sessions ports: - "5556:5556" @@ -34,7 +34,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-sessions selenium-session-queue: - image: selenium/session-queue:4.15.0-20231128 + image: selenium/session-queue:4.15.0-20231129 container_name: selenium-session-queue ports: - "5559:5559" @@ -42,7 +42,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-session-queue selenium-distributor: - image: selenium/distributor:4.15.0-20231128 + image: selenium/distributor:4.15.0-20231129 container_name: selenium-distributor ports: - "5553:5553" @@ -61,7 +61,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-distributor selenium-router: - image: selenium/router:4.15.0-20231128 + image: selenium/router:4.15.0-20231129 container_name: selenium-router ports: - "4444:4444" @@ -79,7 +79,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-router chrome: - image: selenium/node-chrome:4.15.0-20231128 + image: selenium/node-chrome:4.15.0-20231129 shm_size: 2gb depends_on: - selenium-event-bus @@ -90,7 +90,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-chrome edge: - image: selenium/node-edge:4.15.0-20231128 + image: selenium/node-edge:4.15.0-20231129 shm_size: 2gb depends_on: - selenium-event-bus @@ -101,7 +101,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-edge firefox: - image: selenium/node-firefox:4.15.0-20231128 + image: selenium/node-firefox:4.15.0-20231129 shm_size: 2gb depends_on: - selenium-event-bus diff --git a/docker-compose-v3-full-grid.yml b/docker-compose-v3-full-grid.yml index 497d58db3..1c23a5f88 100644 --- a/docker-compose-v3-full-grid.yml +++ b/docker-compose-v3-full-grid.yml @@ -4,7 +4,7 @@ version: "3" services: selenium-event-bus: - image: selenium/event-bus:4.15.0-20231128 + image: selenium/event-bus:4.15.0-20231129 container_name: selenium-event-bus ports: - "4442:4442" @@ -12,7 +12,7 @@ services: - "5557:5557" selenium-sessions: - image: selenium/sessions:4.15.0-20231128 + image: selenium/sessions:4.15.0-20231129 container_name: selenium-sessions ports: - "5556:5556" @@ -24,13 +24,13 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-session-queue: - image: selenium/session-queue:4.15.0-20231128 + image: selenium/session-queue:4.15.0-20231129 container_name: selenium-session-queue ports: - "5559:5559" selenium-distributor: - image: selenium/distributor:4.15.0-20231128 + image: selenium/distributor:4.15.0-20231129 container_name: selenium-distributor ports: - "5553:5553" @@ -48,7 +48,7 @@ services: - SE_SESSION_QUEUE_PORT=5559 selenium-router: - image: selenium/router:4.15.0-20231128 + image: selenium/router:4.15.0-20231129 container_name: selenium-router ports: - "4444:4444" @@ -65,7 +65,7 @@ services: - SE_SESSION_QUEUE_PORT=5559 chrome: - image: selenium/node-chrome:4.15.0-20231128 + image: selenium/node-chrome:4.15.0-20231129 shm_size: 2gb depends_on: - selenium-event-bus @@ -75,7 +75,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.15.0-20231128 + image: selenium/node-edge:4.15.0-20231129 shm_size: 2gb depends_on: - selenium-event-bus @@ -85,7 +85,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.15.0-20231128 + image: selenium/node-firefox:4.15.0-20231129 shm_size: 2gb depends_on: - selenium-event-bus diff --git a/docker-compose-v3-swarm.yml b/docker-compose-v3-swarm.yml index 7477b82cc..eef813159 100644 --- a/docker-compose-v3-swarm.yml +++ b/docker-compose-v3-swarm.yml @@ -7,7 +7,7 @@ version: '3.7' services: chrome: - image: selenium/node-chrome:4.15.0-20231128 + image: selenium/node-chrome:4.15.0-20231129 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -18,7 +18,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' edge: - image: selenium/node-edge:4.15.0-20231128 + image: selenium/node-edge:4.15.0-20231129 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -29,7 +29,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' firefox: - image: selenium/node-firefox:4.15.0-20231128 + image: selenium/node-firefox:4.15.0-20231129 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -40,7 +40,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' selenium-hub: - image: selenium/hub:4.15.0-20231128 + image: selenium/hub:4.15.0-20231129 ports: - "4442:4442" - "4443:4443" diff --git a/docker-compose-v3-tracing.yml b/docker-compose-v3-tracing.yml index 7173fbc66..1e5fb3e10 100644 --- a/docker-compose-v3-tracing.yml +++ b/docker-compose-v3-tracing.yml @@ -9,7 +9,7 @@ services: - "16686:16686" - "14250:14250" chrome: - image: selenium/node-chrome:4.15.0-20231128 + image: selenium/node-chrome:4.15.0-20231129 shm_size: 2gb depends_on: - selenium-hub @@ -21,7 +21,7 @@ services: - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-chrome edge: - image: selenium/node-edge:4.15.0-20231128 + image: selenium/node-edge:4.15.0-20231129 shm_size: 2gb depends_on: - selenium-hub @@ -33,7 +33,7 @@ services: - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-edge firefox: - image: selenium/node-firefox:4.15.0-20231128 + image: selenium/node-firefox:4.15.0-20231129 shm_size: 2gb depends_on: - selenium-hub @@ -45,7 +45,7 @@ services: - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-firefox selenium-hub: - image: selenium/hub:4.15.0-20231128 + image: selenium/hub:4.15.0-20231129 container_name: selenium-hub ports: - "4442:4442" diff --git a/docker-compose-v3-video.yml b/docker-compose-v3-video.yml index f481b8e25..ff2e8c7fe 100644 --- a/docker-compose-v3-video.yml +++ b/docker-compose-v3-video.yml @@ -4,7 +4,7 @@ version: "3" services: chrome: - image: selenium/node-chrome:4.15.0-20231128 + image: selenium/node-chrome:4.15.0-20231129 shm_size: 2gb depends_on: - selenium-hub @@ -14,7 +14,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.15.0-20231128 + image: selenium/node-edge:4.15.0-20231129 shm_size: 2gb depends_on: - selenium-hub @@ -24,7 +24,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.15.0-20231128 + image: selenium/node-firefox:4.15.0-20231129 shm_size: 2gb depends_on: - selenium-hub @@ -34,7 +34,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 chrome_video: - image: selenium/video:ffmpeg-6.0-20231128 + image: selenium/video:ffmpeg-6.0-20231129 volumes: - /tmp/videos:/videos depends_on: @@ -44,7 +44,7 @@ services: - FILE_NAME=chrome_video.mp4 edge_video: - image: selenium/video:ffmpeg-6.0-20231128 + image: selenium/video:ffmpeg-6.0-20231129 volumes: - /tmp/videos:/videos depends_on: @@ -54,7 +54,7 @@ services: - FILE_NAME=edge_video.mp4 firefox_video: - image: selenium/video:ffmpeg-6.0-20231128 + image: selenium/video:ffmpeg-6.0-20231129 volumes: - /tmp/videos:/videos depends_on: @@ -64,7 +64,7 @@ services: - FILE_NAME=firefox_video.mp4 selenium-hub: - image: selenium/hub:4.15.0-20231128 + image: selenium/hub:4.15.0-20231129 container_name: selenium-hub ports: - "4442:4442" diff --git a/docker-compose-v3.yml b/docker-compose-v3.yml index e4c305204..1badb813a 100644 --- a/docker-compose-v3.yml +++ b/docker-compose-v3.yml @@ -4,7 +4,7 @@ version: "3" services: chrome: - image: selenium/node-chrome:4.15.0-20231128 + image: selenium/node-chrome:4.15.0-20231129 shm_size: 2gb depends_on: - selenium-hub @@ -14,7 +14,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.15.0-20231128 + image: selenium/node-edge:4.15.0-20231129 shm_size: 2gb depends_on: - selenium-hub @@ -24,7 +24,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.15.0-20231128 + image: selenium/node-firefox:4.15.0-20231129 shm_size: 2gb depends_on: - selenium-hub @@ -34,7 +34,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-hub: - image: selenium/hub:4.15.0-20231128 + image: selenium/hub:4.15.0-20231129 container_name: selenium-hub ports: - "4442:4442" From 4c7703be6e76e5fbc573dacfa3bcd09a19faf1a1 Mon Sep 17 00:00:00 2001 From: Viet Nguyen Duc Date: Thu, 30 Nov 2023 01:28:09 +0530 Subject: [PATCH 57/84] Update bug report template [skip ci] Signed-off-by: Viet Nguyen Duc --- .github/ISSUE_TEMPLATE/bug_report.yml | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 89be700b9..c66e49567 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -19,14 +19,15 @@ body: validations: required: true - type: textarea - id: repro-command + id: reproduce-command attributes: - label: Command used to start Selenium Grid with Docker + label: Command used to start Selenium Grid with Docker (or Kubernetes) description: | - What command do you use to start Selenium Grid with Docker? + What command do you use to start Selenium Grid with Docker (or Kubernetes)? placeholder: | Please share the script or docker-compose file used. This will be automatically formatted into code, so no need for backticks. + If Kubernetes used, please share the YAML file, or chart values used to deploy the cluster. Be sure to include an SSCCE (Short, Self Contained, Correct [compilable] example) http://sscce.org/ render: shell @@ -47,14 +48,14 @@ body: attributes: label: Operating System description: What host operating system are you using to run docker-selenium? - placeholder: Windows 10? macOS BigSur? Ubuntu? + placeholder: Windows 10? macOS BigSur? Ubuntu? Kubernetes (Minikube, EKS, GKE, AKS, OpenShift, Rancher, etc.) version? validations: required: true - type: input id: version attributes: - label: Docker Selenium version (tag) + label: Docker Selenium version (tag or chart version) description: What version of Docker Selenium are you using? placeholder: 4.15.0-20231129? Please use the full tag, avoid "latest" validations: - required: true \ No newline at end of file + required: true From 113bb0a5b21945a67bdac1bf44a409b59fc15183 Mon Sep 17 00:00:00 2001 From: Viet Nguyen Duc Date: Thu, 30 Nov 2023 10:08:12 +0700 Subject: [PATCH 58/84] test(chart): Add test for setting registry to pull images (#2036) Signed-off-by: Viet Nguyen Duc --- .github/workflows/helm-chart-test.yml | 10 ++++++---- charts/selenium-grid/README.md | 20 ++++++++++---------- charts/selenium-grid/TESTING.md | 1 + tests/K8s/chart_install.sh | 1 + tests/SeleniumTests/__init__.py | 7 ++++--- 5 files changed, 22 insertions(+), 17 deletions(-) diff --git a/.github/workflows/helm-chart-test.yml b/.github/workflows/helm-chart-test.yml index 2c1cd307c..086090f2f 100644 --- a/.github/workflows/helm-chart-test.yml +++ b/.github/workflows/helm-chart-test.yml @@ -38,20 +38,22 @@ jobs: - name: Output branch name run: echo ${BRANCH} - name: Sets build date - run: echo "BUILD_DATE=$(date '+%Y%m%d')" >> $GITHUB_ENV + run: | + echo "BUILD_DATE=$(date '+%Y%m%d')" >> $GITHUB_ENV + echo "IMAGE_REGISTRY=artifactory/selenium" >> $GITHUB_ENV - name: Build Docker images - run: VERSION=${BRANCH} BUILD_DATE=${BUILD_DATE} make build + run: NAME=${IMAGE_REGISTRY} VERSION=${BRANCH} BUILD_DATE=${BUILD_DATE} make build - name: Setup Kubernetes environment run: make chart_setup_env - name: Setup Kubernetes cluster - run: VERSION=${BRANCH} BUILD_DATE=${BUILD_DATE} make chart_cluster_setup + run: NAME=${IMAGE_REGISTRY} VERSION=${BRANCH} BUILD_DATE=${BUILD_DATE} make chart_cluster_setup - name: Test Selenium Grid on Kubernetes uses: nick-invision/retry@v2.9.0 with: timeout_minutes: 20 max_attempts: 3 command: | - VERSION=${BRANCH} BUILD_DATE=${BUILD_DATE} make chart_test + NAME=${IMAGE_REGISTRY} VERSION=${BRANCH} BUILD_DATE=${BUILD_DATE} make chart_test - name: Cleanup Kubernetes cluster if: always() run: make chart_cluster_cleanup diff --git a/charts/selenium-grid/README.md b/charts/selenium-grid/README.md index 2d444e969..2ec8a7ab0 100644 --- a/charts/selenium-grid/README.md +++ b/charts/selenium-grid/README.md @@ -129,7 +129,7 @@ This table contains the configuration parameters of the chart and their default | `chromeNode.enabled` | `true` | Enable chrome nodes | | `chromeNode.deploymentEnabled` | `true` | Enable creation of Deployment for chrome nodes | | `chromeNode.replicas` | `1` | Number of chrome nodes. Disabled if autoscaling is enabled. | -| `chromeNode.imageRegistry` | `nil` | Distribution registry to pull the image | +| `chromeNode.imageRegistry` | `nil` | Distribution registry to pull the image (this overwrites `.global.seleniumGrid.imageRegistry` value) | | `chromeNode.imageName` | `node-chrome` | Image of chrome nodes | | `chromeNode.imageTag` | `4.15.0-20231129` | Image of chrome nodes | | `chromeNode.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | @@ -169,7 +169,7 @@ This table contains the configuration parameters of the chart and their default | `firefoxNode.enabled` | `true` | Enable firefox nodes | | `firefoxNode.deploymentEnabled` | `true` | Enable creation of Deployment for firefox nodes | | `firefoxNode.replicas` | `1` | Number of firefox nodes. Disabled if autoscaling is enabled. | -| `firefoxNode.imageRegistry` | `nil` | Distribution registry to pull the image | +| `firefoxNode.imageRegistry` | `nil` | Distribution registry to pull the image (this overwrites `.global.seleniumGrid.imageRegistry` value) | | `firefoxNode.imageName` | `node-firefox` | Image of firefox nodes | | `firefoxNode.imageTag` | `4.15.0-20231129` | Image of firefox nodes | | `firefoxNode.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | @@ -209,7 +209,7 @@ This table contains the configuration parameters of the chart and their default | `edgeNode.enabled` | `true` | Enable edge nodes | | `edgeNode.deploymentEnabled` | `true` | Enable creation of Deployment for edge nodes | | `edgeNode.replicas` | `1` | Number of edge nodes. Disabled if autoscaling is enabled. | -| `edgeNode.imageRegistry` | `nil` | Distribution registry to pull the image | +| `edgeNode.imageRegistry` | `nil` | Distribution registry to pull the image (this overwrites `.global.seleniumGrid.imageRegistry` value) | | `edgeNode.imageName` | `node-edge` | Image of edge nodes | | `edgeNode.imageTag` | `4.15.0-20231129` | Image of edge nodes | | `edgeNode.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | @@ -247,7 +247,7 @@ This table contains the configuration parameters of the chart and their default | `edgeNode.scaledJobOptions` | See `values.yaml` | Override the global `autoscaling.scaledJobOptions` with specific scaled options for edge nodes | | `edgeNode.scaledObjectOptions` | See `values.yaml` | Override the global `autoscaling.scaledObjectOptions` with specific scaled options for edge nodes | | `videoRecorder.enabled` | `false` | Enable video recorder for node | -| `videoRecorder.imageRegistry` | `nil` | Distribution registry to pull the image | +| `videoRecorder.imageRegistry` | `nil` | Distribution registry to pull the image (this overwrites `.global.seleniumGrid.imageRegistry` value) | | `videoRecorder.imageName` | `video` | Selenium video recoder image name | | `videoRecorder.imageTag` | `ffmpeg-6.0-20231129` | Image tag of video recorder | | `videoRecorder.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | @@ -285,7 +285,7 @@ You can configure the Selenium Hub with these values: | Parameter | Default | Description | |---------------------------------|-------------------|--------------------------------------------------------------------------------------------------------------------------------------------------| -| `hub.imageRegistry` | `nil` | Distribution registry to pull the image | +| `hub.imageRegistry` | `nil` | Distribution registry to pull the image (this overwrites `.global.seleniumGrid.imageRegistry` value) | | `hub.imageName` | `hub` | Selenium Hub image name | | `hub.imageTag` | `nil` | Selenium Hub image tag (this overwrites `.global.seleniumGrid.imageTag` value) | | `hub.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | @@ -319,7 +319,7 @@ If you implement selenium-grid with separate components (`isolateComponents: tru | Parameter | Default | Description | |----------------------------------------------|-------------------|--------------------------------------------------------------------------------------------------------------------------------------------------| -| `components.router.imageRegistry` | `nil` | Distribution registry to pull the image | +| `components.router.imageRegistry` | `nil` | Distribution registry to pull the image (this overwrites `.global.seleniumGrid.imageRegistry` value) | | `components.router.imageName` | `router` | Router image name | | `components.router.imageTag` | `nil` | Router image tag (this overwrites `.global.seleniumGrid.imageTag` value) | | `components.router.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | @@ -337,7 +337,7 @@ If you implement selenium-grid with separate components (`isolateComponents: tru | `components.router.nodeSelector` | `{}` | Node Selector for router pods | | `components.router.affinity` | `{}` | Affinity for router pods | | `components.router.priorityClassName` | `""` | Priority class name for router pods | -| `components.distributor.imageRegistry` | `nil` | Distribution registry to pull the image | +| `components.distributor.imageRegistry` | `nil` | Distribution registry to pull the image (this overwrites `.global.seleniumGrid.imageRegistry` value) | | `components.distributor.imageName` | `distributor` | Distributor image name | | `components.distributor.imageTag` | `nil` | Distributor image tag (this overwrites `.global.seleniumGrid.imageTag` value) | | `components.distributor.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | @@ -352,7 +352,7 @@ If you implement selenium-grid with separate components (`isolateComponents: tru | `components.distributor.nodeSelector` | `{}` | Node Selector for Distributor pods | | `components.distributor.affinity` | `{}` | Affinity for Distributor pods | | `components.distributor.priorityClassName` | `""` | Priority class name for Distributor pods | -| `components.eventBus.imageRegistry` | `nil` | Distribution registry to pull the image | +| `components.eventBus.imageRegistry` | `nil` | Distribution registry to pull the image (this overwrites `.global.seleniumGrid.imageRegistry` value) | | `components.eventBus.imageName` | `event-bus` | Event Bus image name | | `components.eventBus.imageTag` | `nil` | Event Bus image tag (this overwrites `.global.seleniumGrid.imageTag` value) | | `components.eventBus.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | @@ -369,7 +369,7 @@ If you implement selenium-grid with separate components (`isolateComponents: tru | `components.eventBus.nodeSelector` | `{}` | Node Selector for Event Bus pods | | `components.eventBus.affinity` | `{}` | Affinity for Event Bus pods | | `components.eventBus.priorityClassName` | `""` | Priority class name for Event Bus pods | -| `components.sessionMap.imageRegistry` | `nil` | Distribution registry to pull the image | +| `components.sessionMap.imageRegistry` | `nil` | Distribution registry to pull the image (this overwrites `.global.seleniumGrid.imageRegistry` value) | | `components.sessionMap.imageName` | `sessions` | Session Map image name | | `components.sessionMap.imageTag` | `nil` | Session Map image tag (this overwrites `.global.seleniumGrid.imageTag` value) | | `components.sessionMap.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | @@ -383,7 +383,7 @@ If you implement selenium-grid with separate components (`isolateComponents: tru | `components.sessionMap.nodeSelector` | `{}` | Node Selector for Session Map pods | | `components.sessionMap.affinity` | `{}` | Affinity for Session Map pods | | `components.sessionMap.priorityClassName` | `""` | Priority class name for Session Map pods | -| `components.sessionQueue.imageRegistry` | `nil` | Distribution registry to pull the image | +| `components.sessionQueue.imageRegistry` | `nil` | Distribution registry to pull the image (this overwrites `.global.seleniumGrid.imageRegistry` value) | | `components.sessionQueue.imageName` | `session-queue` | Session Queue image name | | `components.sessionQueue.imageTag` | `nil` | Session Queue image tag (this overwrites `.global.seleniumGrid.imageTag` value) | | `components.sessionQueue.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | diff --git a/charts/selenium-grid/TESTING.md b/charts/selenium-grid/TESTING.md index d6e266713..cd0ece83c 100644 --- a/charts/selenium-grid/TESTING.md +++ b/charts/selenium-grid/TESTING.md @@ -19,6 +19,7 @@ All related testing to this helm chart will be documented in this file. | | Sanity tests in node | ✓ | | | Video recorder is enabled in node | ✗ | | | Node `extraEnvironmentVariables` is set value | ✓ | +| General | Set new image registry via `global.seleniumGrid.imageRegistry` | ✓ | ## Build & test Docker images with Helm charts Noted: These `make` commands are composed and tested on Linux x86_64. diff --git a/tests/K8s/chart_install.sh b/tests/K8s/chart_install.sh index 7fb7a0cb5..0a6ce7001 100755 --- a/tests/K8s/chart_install.sh +++ b/tests/K8s/chart_install.sh @@ -48,6 +48,7 @@ helm upgrade --install ${RELEASE_NAME} \ --set autoscaling.enableWithExistingKEDA=${SELENIUM_GRID_AUTOSCALING} \ --set autoscaling.scaledOptions.minReplicaCount=${SELENIUM_GRID_AUTOSCALING_MIN_REPLICA} \ --set global.seleniumGrid.imageTag=${VERSION} --set global.seleniumGrid.imageRegistry=${NAMESPACE} \ +--set global.seleniumGrid.nodesImageTag=${VERSION} \ ${CHART_PATH} --namespace ${SELENIUM_NAMESPACE} --create-namespace echo "Run Tests" diff --git a/tests/SeleniumTests/__init__.py b/tests/SeleniumTests/__init__.py index 12ee94ede..acdaa4bda 100644 --- a/tests/SeleniumTests/__init__.py +++ b/tests/SeleniumTests/__init__.py @@ -66,15 +66,16 @@ def test_play_video(self): def test_download_file(self): driver = self.driver driver.get('https://the-internet.herokuapp.com/download') + file_name = 'some-file.txt' wait = WebDriverWait(driver, 30) file_link = wait.until( - EC.element_to_be_clickable((By.LINK_TEXT, 'some-file.txt')) + EC.element_to_be_clickable((By.LINK_TEXT, file_name)) ) file_link.click() wait.until( - lambda d: len(d.get_downloadable_files()) > 0 + lambda d: str(d.get_downloadable_files()[0]).endswith(file_name) ) - self.assertTrue(len(driver.get_downloadable_files()) > 0) + self.assertTrue(str(driver.get_downloadable_files()[0]).endswith(file_name)) def tearDown(self): self.driver.quit() From 8fd00ef496d17cab385ecddce4638fd733451d6e Mon Sep 17 00:00:00 2001 From: Viet Nguyen Duc Date: Sat, 2 Dec 2023 02:40:29 +0700 Subject: [PATCH 59/84] bug(#2038): Rollback io.opentelemetry 1.31.0 - add test tracing enabled (#2040) Signed-off-by: Viet Nguyen Duc --- .github/workflows/helm-chart-test.yml | 4 ---- Base/Dockerfile | 5 ++++- Distributor/start-selenium-grid-distributor.sh | 4 ++-- EventBus/start-selenium-grid-eventbus.sh | 4 ++-- Hub/start-selenium-grid-hub.sh | 5 ++--- NodeBase/start-selenium-node.sh | 4 ++-- NodeChrome/Dockerfile | 2 +- NodeDocker/start-selenium-grid-docker.sh | 4 ++-- Router/start-selenium-grid-router.sh | 4 ++-- SessionQueue/start-selenium-grid-session-queue.sh | 4 ++-- Sessions/start-selenium-grid-sessions.sh | 4 ++-- Standalone/start-selenium-standalone.sh | 4 ++-- StandaloneDocker/start-selenium-grid-docker.sh | 4 ++-- charts/selenium-grid/TESTING.md | 4 ++++ charts/selenium-grid/ci/tracing-values.yaml | 13 +++++++++++++ tests/K8s/chart_install.sh | 3 ++- 16 files changed, 44 insertions(+), 28 deletions(-) create mode 100644 charts/selenium-grid/ci/tracing-values.yaml diff --git a/.github/workflows/helm-chart-test.yml b/.github/workflows/helm-chart-test.yml index 086090f2f..29f3d3925 100644 --- a/.github/workflows/helm-chart-test.yml +++ b/.github/workflows/helm-chart-test.yml @@ -2,11 +2,7 @@ name: Lint and Test Helm Charts on: push: - paths: - - 'charts/selenium-grid/**' pull_request: - paths: - - 'charts/selenium-grid/**' workflow_dispatch: permissions: diff --git a/Base/Dockerfile b/Base/Dockerfile index d15e08c2a..05a489b95 100644 --- a/Base/Dockerfile +++ b/Base/Dockerfile @@ -89,7 +89,10 @@ RUN curl -fLo /tmp/cs https://github.com/coursier/launchers/raw/master/coursier && mkdir -p /external_jars \ && chmod -R 775 /external_jars -RUN /tmp/cs fetch --classpath --cache /external_jars io.opentelemetry:opentelemetry-exporter-otlp:1.32.0 io.opentelemetry:opentelemetry-exporter-jaeger:1.32.0 io.grpc:grpc-netty:1.59.0 > /external_jars/.classpath.txt +RUN /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 RUN chmod 664 /external_jars/.classpath.txt RUN rm -fr /root/.cache/* diff --git a/Distributor/start-selenium-grid-distributor.sh b/Distributor/start-selenium-grid-distributor.sh index 81d498cea..b51340c91 100755 --- a/Distributor/start-selenium-grid-distributor.sh +++ b/Distributor/start-selenium-grid-distributor.sh @@ -58,8 +58,8 @@ EXTRA_LIBS="" if [ ! -z "$SE_ENABLE_TRACING" ]; then EXTERNAL_JARS=$(/dev/null \ && echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list \ && apt-get update -qqy \ && apt-get -qqy install \ diff --git a/NodeDocker/start-selenium-grid-docker.sh b/NodeDocker/start-selenium-grid-docker.sh index b13474c6b..0220a1ec9 100755 --- a/NodeDocker/start-selenium-grid-docker.sh +++ b/NodeDocker/start-selenium-grid-docker.sh @@ -33,8 +33,8 @@ EXTRA_LIBS="" if [ ! -z "$SE_ENABLE_TRACING" ]; then EXTERNAL_JARS=$( Date: Sat, 2 Dec 2023 02:44:29 +0700 Subject: [PATCH 60/84] feat: Video image with based FFmpeg-6.1 on Ubuntu-22.04 (#2042) Signed-off-by: Viet Nguyen Duc --- Makefile | 12 +++++---- NodeDocker/config.toml | 2 +- README.md | 8 +++--- Video/Dockerfile | 42 ++++++++++++++++++++------------ charts/selenium-grid/README.md | 4 +-- charts/selenium-grid/values.yaml | 4 +-- docker-compose-v3-video.yml | 6 ++--- generate_release_notes.sh | 2 +- 8 files changed, 47 insertions(+), 33 deletions(-) diff --git a/Makefile b/Makefile index e207c209e..6853a676d 100644 --- a/Makefile +++ b/Makefile @@ -11,7 +11,9 @@ 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-6.0) +FFMPEG_TAG_VERSION := $(or $(FFMPEG_TAG_VERSION),$(FFMPEG_TAG_VERSION),ffmpeg-6.1) +FFMPEG_BASED_NAME := $(or $(FFMPEG_BASED_NAME),$(FFMPEG_BASED_NAME),ndviet) +FFMPEG_BASED_TAG := $(or $(FFMPEG_BASED_TAG),$(FFMPEG_BASED_TAG),6.1-ubuntu2204) all: hub \ distributor \ @@ -119,7 +121,7 @@ standalone_edge_beta: edge_beta cd ./Standalone && docker build $(BUILD_ARGS) --build-arg NAMESPACE=$(NAME) --build-arg VERSION=beta --build-arg BASE=node-edge -t $(NAME)/standalone-edge:beta . video: - cd ./Video && docker build $(BUILD_ARGS) -t $(NAME)/video:$(FFMPEG_TAG_VERSION)-$(BUILD_DATE) . + cd ./Video && docker build $(BUILD_ARGS) --build-arg NAMESPACE=$(FFMPEG_BASED_NAME) --build-arg BASED_TAG=$(FFMPEG_BASED_TAG) -t $(NAME)/video:$(FFMPEG_TAG_VERSION)-$(BUILD_DATE) . # https://github.com/SeleniumHQ/docker-selenium/issues/992 @@ -357,9 +359,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: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 + docker run -v $$(pwd):$$(pwd) -w $$(pwd) $(FFMPEG_BASED_NAME)/ffmpeg:$(FFMPEG_BASED_TAG) -v error -i ./tests/videos/chrome_video.mp4 -f null - 2>error.log + docker run -v $$(pwd):$$(pwd) -w $$(pwd) $(FFMPEG_BASED_NAME)/ffmpeg:$(FFMPEG_BASED_TAG) -v error -i ./tests/videos/firefox_video.mp4 -f null - 2>error.log + docker run -v $$(pwd):$$(pwd) -w $$(pwd) $(FFMPEG_BASED_NAME)/ffmpeg:$(FFMPEG_BASED_TAG) -v error -i ./tests/videos/edge_video.mp4 -f null - 2>error.log chart_setup_env: ./tests/K8s/chart_setup_env.sh diff --git a/NodeDocker/config.toml b/NodeDocker/config.toml index 5c31e62cf..a505e1c1a 100644 --- a/NodeDocker/config.toml +++ b/NodeDocker/config.toml @@ -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-6.0-20231129" +video-image = "selenium/video:ffmpeg-6.1-20231129" # Uncomment the following section if you are running the node on a separate VM # Fill out the placeholders with appropriate values diff --git a/README.md b/README.md index 684bf284e..5892db09f 100644 --- a/README.md +++ b/README.md @@ -474,7 +474,7 @@ ___ ## Video recording -Tests execution can be recorded by using the `selenium/video:ffmpeg-6.0-20231129` +Tests execution can be recorded by using the `selenium/video:ffmpeg-6.1-20231129` Docker image. One container is needed per each container where a browser is running. This means if you are running 5 Nodes/Standalone containers, you will need 5 video containers, the mapping is 1-1. @@ -501,7 +501,7 @@ This example shows how to start the containers manually: ``` bash $ docker network create grid $ docker run -d -p 4444:4444 -p 6900:5900 --net grid --name selenium --shm-size="2g" selenium/standalone-chrome:4.15.0-20231129 -$ docker run -d --net grid --name video -v /tmp/videos:/videos selenium/video:ffmpeg-6.0-20231129 +$ docker run -d --net grid --name video -v /tmp/videos:/videos selenium/video:ffmpeg-6.1-20231129 # Run your tests $ docker stop video && docker rm video $ docker stop selenium && docker rm selenium @@ -548,7 +548,7 @@ configs = [ # Linux: varies from machine to machine, please mount /var/run/docker.sock. If this does not work, please create an issue. url = "http://127.0.0.1:2375" # Docker image used for video recording -video-image = "selenium/video:ffmpeg-6.0-20231129" +video-image = "selenium/video:ffmpeg-6.1-20231129" # Uncomment the following section if you are running the node on a separate VM # Fill out the placeholders with appropriate values @@ -679,7 +679,7 @@ configs = [ # Linux: varies from machine to machine, please mount /var/run/docker.sock. If this does not work, please create an issue. url = "http://127.0.0.1:2375" # Docker image used for video recording -video-image = "selenium/video:ffmpeg-6.0-20231129" +video-image = "selenium/video:ffmpeg-6.1-20231129" # Uncomment the following section if you are running the node on a separate VM # Fill out the placeholders with appropriate values diff --git a/Video/Dockerfile b/Video/Dockerfile index 808e8715a..a6a426ee7 100644 --- a/Video/Dockerfile +++ b/Video/Dockerfile @@ -1,29 +1,41 @@ -FROM jrottenberg/ffmpeg:6.0-alpine +ARG NAMESPACE +ARG BASED_TAG +FROM $NAMESPACE/ffmpeg:$BASED_TAG LABEL authors="Selenium " +#================================================ +# Customize sources for apt-get +#================================================ +RUN echo "deb http://archive.ubuntu.com/ubuntu jammy main universe\n" > /etc/apt/sources.list \ + && echo "deb http://archive.ubuntu.com/ubuntu jammy-updates main universe\n" >> /etc/apt/sources.list \ + && echo "deb http://security.ubuntu.com/ubuntu jammy-security main universe\n" >> /etc/apt/sources.list + +# No interactive frontend during docker build +ENV DEBIAN_FRONTEND=noninteractive \ + DEBCONF_NONINTERACTIVE_SEEN=true + #======================== # Supervisor #======================== -RUN apk update \ - && apk upgrade \ - && apk add --no-cache --update --virtual .build-deps supervisor bash curl jq xset xdpyinfo python3 py3-psutil py3-pip \ - && ln -sf python3 /usr/bin/python \ - && rm -rf /tmp/* /var/cache/apk/* - -ENV PYTHONUNBUFFERED=1 -RUN python3 -m pip install --no-cache --upgrade --no-cache-dir pip urllib3 setuptools requests wheel +RUN apt-get -qqy update \ + && apt-get upgrade -yq \ + && apt-get -qqy --no-install-recommends install \ + supervisor x11-xserver-utils x11-utils curl jq python3-pip \ + && python3 -m pip install --upgrade pip \ + && python3 -m pip install --upgrade setuptools \ + && python3 -m pip install --upgrade wheel \ + && rm -rf /var/lib/apt/lists/* /var/cache/apt/* #====================================== # Add Supervisor configuration files #====================================== -ENV SE_VIDEO_FOLDER /videos -RUN mkdir -p /opt/bin/ -RUN mkdir -p /var/run/supervisor /var/log/supervisor ${SE_VIDEO_FOLDER} - COPY supervisord.conf /etc COPY entry_point.sh video.sh video_ready.py /opt/bin/ +RUN cd /opt/bin && pip install psutil + +ENV SE_VIDEO_FOLDER /videos +RUN mkdir -p /var/run/supervisor /var/log/supervisor $SE_VIDEO_FOLDER -RUN chmod +x /opt/bin/* ENTRYPOINT ["/opt/bin/entry_point.sh"] CMD ["/opt/bin/entry_point.sh"] @@ -32,7 +44,7 @@ ENV DISPLAY_CONTAINER_NAME selenium ENV SE_SCREEN_WIDTH 1360 ENV SE_SCREEN_HEIGHT 1020 ENV SE_FRAME_RATE 15 -ENV SE_CODEC libx264 +ENV SE_CODEC libx265 ENV SE_PRESET "-preset ultrafast" ENV FILE_NAME video.mp4 diff --git a/charts/selenium-grid/README.md b/charts/selenium-grid/README.md index 2ec8a7ab0..ea0bb31dd 100644 --- a/charts/selenium-grid/README.md +++ b/charts/selenium-grid/README.md @@ -88,7 +88,7 @@ For now, global configuration supported is: | `global.seleniumGrid.imageRegistry` | `selenium` | Distribution registry to pull images | | `global.seleniumGrid.imageTag` | `4.15.0-20231129` | Image tag for all selenium components | | `global.seleniumGrid.nodesImageTag` | `4.15.0-20231129` | Image tag for browser's nodes | -| `global.seleniumGrid.videoImageTag` | `ffmpeg-6.0-20231129` | Image tag for browser's video recoder | +| `global.seleniumGrid.videoImageTag` | `ffmpeg-6.1-20231129` | Image tag for browser's video recoder | | `global.seleniumGrid.imagePullSecret` | `""` | Pull secret to be used for all images | | `global.seleniumGrid.imagePullSecret` | `""` | Pull secret to be used for all images | | `global.seleniumGrid.affinity` | `{}` | Affinity assigned globally | @@ -249,7 +249,7 @@ This table contains the configuration parameters of the chart and their default | `videoRecorder.enabled` | `false` | Enable video recorder for node | | `videoRecorder.imageRegistry` | `nil` | Distribution registry to pull the image (this overwrites `.global.seleniumGrid.imageRegistry` value) | | `videoRecorder.imageName` | `video` | Selenium video recoder image name | -| `videoRecorder.imageTag` | `ffmpeg-6.0-20231129` | Image tag of video recorder | +| `videoRecorder.imageTag` | `ffmpeg-6.1-20231129` | Image tag of video recorder | | `videoRecorder.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | | `videoRecorder.uploader` | `false` | Name of the uploader to use. The value `false` is used to disable uploader. Supported default `s3` | | `videoRecorder.uploadDestinationPrefix` | `false` | Destination URL for uploading video file. The value `false` is used to disable the uploading | diff --git a/charts/selenium-grid/values.yaml b/charts/selenium-grid/values.yaml index b6e4ee040..a32a9c96a 100644 --- a/charts/selenium-grid/values.yaml +++ b/charts/selenium-grid/values.yaml @@ -7,7 +7,7 @@ global: # Image tag for browser's nodes nodesImageTag: 4.15.0-20231129 # Image tag for browser's video recorder - videoImageTag: ffmpeg-6.0-20231129 + videoImageTag: ffmpeg-6.1-20231129 # Pull secret for all components, can be overridden individually imagePullSecret: "" @@ -796,7 +796,7 @@ videoRecorder: # Image of video recorder imageName: video # Image of video recorder - # imageTag: ffmpeg-6.0-20231129 + # imageTag: ffmpeg-6.1-20231129 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent # Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) diff --git a/docker-compose-v3-video.yml b/docker-compose-v3-video.yml index ff2e8c7fe..6f044bece 100644 --- a/docker-compose-v3-video.yml +++ b/docker-compose-v3-video.yml @@ -34,7 +34,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 chrome_video: - image: selenium/video:ffmpeg-6.0-20231129 + image: selenium/video:ffmpeg-6.1-20231129 volumes: - /tmp/videos:/videos depends_on: @@ -44,7 +44,7 @@ services: - FILE_NAME=chrome_video.mp4 edge_video: - image: selenium/video:ffmpeg-6.0-20231129 + image: selenium/video:ffmpeg-6.1-20231129 volumes: - /tmp/videos:/videos depends_on: @@ -54,7 +54,7 @@ services: - FILE_NAME=edge_video.mp4 firefox_video: - image: selenium/video:ffmpeg-6.0-20231129 + image: selenium/video:ffmpeg-6.1-20231129 volumes: - /tmp/videos:/videos depends_on: diff --git a/generate_release_notes.sh b/generate_release_notes.sh index c936c48d4..c2f4e40ae 100755 --- a/generate_release_notes.sh +++ b/generate_release_notes.sh @@ -17,7 +17,7 @@ CHROMEDRIVER_VERSION=$(docker run --rm selenium/node-chrome:${TAG_VERSION} chrom EDGEDRIVER_VERSION=$(docker run --rm selenium/node-edge:${TAG_VERSION} msedgedriver --version | awk '{print $4}') FIREFOX_VERSION=$(docker run --rm selenium/node-firefox:${TAG_VERSION} firefox --version | awk '{print $3}') GECKODRIVER_VERSION=$(docker run --rm selenium/node-firefox:${TAG_VERSION} geckodriver --version | awk 'NR==1{print $2}') -FFMPEG_VERSION=$(docker run --entrypoint="" --rm selenium/video:ffmpeg-6.0-${BUILD_DATE} ffmpeg -version | awk '{print $3}' | head -n 1) +FFMPEG_VERSION=$(docker run --entrypoint="" --rm selenium/video:ffmpeg-6.1-${BUILD_DATE} ffmpeg -version | awk '{print $3}' | head -n 1) echo "" >> release_notes.md From c2a5b664ee456683804bc20e7d8b749e1fbf7db4 Mon Sep 17 00:00:00 2001 From: Viet Nguyen Duc Date: Sat, 2 Dec 2023 04:46:51 +0700 Subject: [PATCH 61/84] test(chart): Chart template render and assert output (#2043) Signed-off-by: Viet Nguyen Duc --- Makefile | 18 ++++-- charts/selenium-grid/README.md | 6 +- charts/selenium-grid/TESTING.md | 64 ++++++++++++------- tests/charts/bootstrap.sh | 25 ++++++++ .../charts}/ci/NodeChrome-values.yaml | 2 +- .../charts}/ci/NodeEdge-values.yaml | 2 +- .../charts}/ci/NodeFirefox-values.yaml | 2 +- .../charts}/ci/auth-ingress-values.yaml | 0 .../charts}/ci/autoscaling-values.yaml | 0 .../charts}/ci/tracing-values.yaml | 0 .../config/ct.yaml} | 0 .../config/kind-cluster.yaml} | 0 .../make}/chart_cluster_cleanup.sh | 0 .../make}/chart_cluster_setup.sh | 6 +- tests/{K8s => charts/make}/chart_install.sh | 2 +- tests/{K8s => charts/make}/chart_lint.sh | 3 +- tests/{K8s => charts/make}/chart_setup_env.sh | 0 tests/charts/templates/render/dummy.yaml | 24 +++++++ tests/charts/templates/test.py | 42 ++++++++++++ 19 files changed, 156 insertions(+), 40 deletions(-) create mode 100755 tests/charts/bootstrap.sh rename {charts/selenium-grid => tests/charts}/ci/NodeChrome-values.yaml (77%) rename {charts/selenium-grid => tests/charts}/ci/NodeEdge-values.yaml (77%) rename {charts/selenium-grid => tests/charts}/ci/NodeFirefox-values.yaml (77%) rename {charts/selenium-grid => tests/charts}/ci/auth-ingress-values.yaml (100%) rename {charts/selenium-grid => tests/charts}/ci/autoscaling-values.yaml (100%) rename {charts/selenium-grid => tests/charts}/ci/tracing-values.yaml (100%) rename tests/{K8s/chart-testing.yaml => charts/config/ct.yaml} (100%) rename tests/{K8s/kind-cluster-config.yaml => charts/config/kind-cluster.yaml} (100%) rename tests/{K8s => charts/make}/chart_cluster_cleanup.sh (100%) rename tests/{K8s => charts/make}/chart_cluster_setup.sh (92%) rename tests/{K8s => charts/make}/chart_install.sh (97%) rename tests/{K8s => charts/make}/chart_lint.sh (89%) rename tests/{K8s => charts/make}/chart_setup_env.sh (100%) create mode 100644 tests/charts/templates/render/dummy.yaml create mode 100644 tests/charts/templates/test.py diff --git a/Makefile b/Makefile index 6853a676d..b2ac24195 100644 --- a/Makefile +++ b/Makefile @@ -364,30 +364,34 @@ test_video: video hub chrome firefox edge docker run -v $$(pwd):$$(pwd) -w $$(pwd) $(FFMPEG_BASED_NAME)/ffmpeg:$(FFMPEG_BASED_TAG) -v error -i ./tests/videos/edge_video.mp4 -f null - 2>error.log chart_setup_env: - ./tests/K8s/chart_setup_env.sh + ./tests/charts/make/chart_setup_env.sh chart_test: chart_lint \ + chart_test_template \ chart_install_chrome \ chart_install_firefox \ chart_install_edge +chart_test_template: + ./tests/charts/bootstrap.sh + chart_cluster_setup: - VERSION=$(TAG_VERSION) NAMESPACE=$(NAMESPACE) ./tests/K8s/chart_cluster_setup.sh + VERSION=$(TAG_VERSION) NAMESPACE=$(NAMESPACE) ./tests/charts/make/chart_cluster_setup.sh chart_lint: - ./tests/K8s/chart_lint.sh + ./tests/charts/make/chart_lint.sh chart_install_chrome: - VERSION=$(TAG_VERSION) NAMESPACE=$(NAMESPACE) ./tests/K8s/chart_install.sh NodeChrome + VERSION=$(TAG_VERSION) NAMESPACE=$(NAMESPACE) ./tests/charts/make/chart_install.sh NodeChrome chart_install_firefox: - VERSION=$(TAG_VERSION) NAMESPACE=$(NAMESPACE) ./tests/K8s/chart_install.sh NodeFirefox + VERSION=$(TAG_VERSION) NAMESPACE=$(NAMESPACE) ./tests/charts/make/chart_install.sh NodeFirefox chart_install_edge: - VERSION=$(TAG_VERSION) NAMESPACE=$(NAMESPACE) ./tests/K8s/chart_install.sh NodeEdge + VERSION=$(TAG_VERSION) NAMESPACE=$(NAMESPACE) ./tests/charts/make/chart_install.sh NodeEdge chart_cluster_cleanup: - ./tests/K8s/chart_cluster_cleanup.sh + ./tests/charts/make/chart_cluster_cleanup.sh .PHONY: \ all \ diff --git a/charts/selenium-grid/README.md b/charts/selenium-grid/README.md index ea0bb31dd..a1c6eff5b 100644 --- a/charts/selenium-grid/README.md +++ b/charts/selenium-grid/README.md @@ -36,13 +36,13 @@ helm install selenium-grid --set ingress.hostname=selenium-grid.k8s.local docker Selenium Grid has the ability to autoscaling browser nodes up/down based on the pending requests in the session queue. -To do this [KEDA](https://keda.sh/docs/2.12/scalers/selenium-grid-scaler/) is used. When enabling +To do this [KEDA](https://keda.sh/docs/latest/scalers/selenium-grid-scaler/) is used. When enabling autoscaling using `autoscaling.enabling` KEDA is installed automatically. To instead use an existing installation of KEDA you can enable autoscaling with `autoscaling.enableWithExistingKEDA` instead. KEDA can scale either with -[deployments](https://keda.sh/docs/2.12/concepts/scaling-deployments/#scaling-of-deployments-and-statefulsets) -or [jobs](https://keda.sh/docs/2.12/concepts/scaling-jobs/) and the charts support both types. This +[deployments](https://keda.sh/docs/latest/concepts/scaling-deployments/#scaling-of-deployments-and-statefulsets) +or [jobs](https://keda.sh/docs/latest/concepts/scaling-jobs/) and the charts support both types. This chart support both modes. It is controlled with `autoscaling.scalingType` that can be set to either job (default) or deployment. diff --git a/charts/selenium-grid/TESTING.md b/charts/selenium-grid/TESTING.md index f9fa772d0..90c57c115 100644 --- a/charts/selenium-grid/TESTING.md +++ b/charts/selenium-grid/TESTING.md @@ -4,28 +4,46 @@ All related testing to this helm chart will be documented in this file. ## Test Traceability Matrix -| Features | TC Description | Coverage | -|------------------------|----------------------------------------------------------------------|----------| -| Basic Auth | Basic Auth is disabled | ✓ | -| | Basic Auth is enabled | ✗ | -| Auto scaling | Auto scaling with `enableWithExistingKEDA` is `true` | ✓ | -| | Auto scaling with `scalingType` is `job` | ✓ | -| | Auto scaling with `scalingType` is `deployment` | ✗ | -| | Auto scaling with `autoscaling.scaledOptions.minReplicaCount` is `0` | ✓ | -| Ingress | Ingress is enabled without `hostname` | ✓ | -| | Ingress is enabled with `hostname` is set | ✗ | -| | Hub `sub-path` is set with Ingress `ImplementationSpecific` paths | ✓ | -| Distributed components | `isolateComponents` is enabled | ✓ | -| | `isolateComponents` is disabled | ✗ | -| Browser Nodes | Node `nameOverride` is set | ✓ | -| | Sanity tests in node | ✓ | -| | Video recorder is enabled in node | ✗ | -| | Node `extraEnvironmentVariables` is set value | ✓ | -| General | Set new image registry via `global.seleniumGrid.imageRegistry` | ✓ | -| Tracing | Enable tracing via `SE_ENABLE_TRACING` | ✓ | -| | Disable tracing via `SE_ENABLE_TRACING` | ✗ | - -## Build & test Docker images with Helm charts +| Features | TC Description | Coverage | Test via | +|------------------------|----------------------------------------------------------------------|----------|----------| +| Basic Auth | Basic Auth is disabled | ✓ | Cluster | +| | Basic Auth is enabled | ✗ | | +| Auto scaling | Auto scaling with `enableWithExistingKEDA` is `true` | ✓ | Cluster | +| | Auto scaling with `scalingType` is `job` | ✓ | Cluster | +| | Auto scaling with `scalingType` is `deployment` | ✗ | | +| | Auto scaling with `autoscaling.scaledOptions.minReplicaCount` is `0` | ✓ | Cluster | +| Ingress | Ingress is enabled without `hostname` | ✓ | Cluster | +| | Ingress is enabled with `hostname` is set | ✗ | | +| | Hub `sub-path` is set with Ingress `ImplementationSpecific` paths | ✓ | Cluster | +| Distributed components | `isolateComponents` is enabled | ✓ | Cluster | +| | `isolateComponents` is disabled | ✗ | | +| Browser Nodes | Node `nameOverride` is set | ✓ | Cluster | +| | Sanity tests in node | ✓ | Cluster | +| | Video recorder is enabled in node | ✗ | | +| | Node `extraEnvironmentVariables` is set value | ✓ | Cluster | +| General | Set new image registry via `global.seleniumGrid.imageRegistry` | ✓ | Cluster | +| | Components are able to set `.affinity` | ✓ | Template | +| Tracing | Enable tracing via `SE_ENABLE_TRACING` | ✓ | Cluster | +| | Disable tracing via `SE_ENABLE_TRACING` | ✗ | | + +## Test Chart Template +- By using `helm template` command, the chart template is tested without installing it to Kubernetes cluster. +- Templates are rendered and the output as a YAML manifest file. The manifest file is then asserted with [pyyaml](https://pyyaml.org/wiki/PyYAMLDocumentation). +- Set of values are used to render the templates located in [tests/charts/templates/render](../../tests/charts/templates/render). + +```bash +# Back to root directory +cd ../.. + +# Build chart dependencies and lint +make chart_lint + +# Test chart template +make chart_test_template +``` +- Build chart dependencies and lint requires [Chart Testing `ct`](https://github.com/helm/chart-testing). There is a config file [ct.yaml](../../tests/charts/config/ct.yaml) to configure the chart testing. + +## Build & test Docker images with deploy to Kubernetes cluster Noted: These `make` commands are composed and tested on Linux x86_64. Run entire commands to build and test Docker images with Helm charts in local environment. @@ -48,3 +66,5 @@ make chart_test # Cleanup Kubernetes cluster make chart_cluster_cleanup ``` +- Setup Kubernetes environment requires [Kind](https://kind.sigs.k8s.io/docs/user/quick-start/) and [Kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/). +- Set of values are used to deploy the chart to Kubernetes cluster located in [tests/charts/ci](../../tests/charts/ci). diff --git a/tests/charts/bootstrap.sh b/tests/charts/bootstrap.sh new file mode 100755 index 000000000..d961b63ae --- /dev/null +++ b/tests/charts/bootstrap.sh @@ -0,0 +1,25 @@ +#!/usr/bin/env bash +mkdir -p tests/tests +cd tests || true + +if [ "${CI:-false}" = "false" ]; then + pip3 install virtualenv | grep -v 'Requirement already satisfied' + virtualenv docker-selenium-tests + source docker-selenium-tests/bin/activate +fi + +python -m pip install pyyaml==6.0.1 \ + | grep -v 'Requirement already satisfied' + +cd .. +helm template dummy --values tests/charts/templates/render/dummy.yaml \ + charts/selenium-grid > ./tests/tests/output_deployment.yaml + +python tests/charts/templates/test.py "./tests/tests/output_deployment.yaml" +ret_code=$? + +if [ "${CI:-false}" = "false" ]; then + deactivate +fi + +exit $ret_code diff --git a/charts/selenium-grid/ci/NodeChrome-values.yaml b/tests/charts/ci/NodeChrome-values.yaml similarity index 77% rename from charts/selenium-grid/ci/NodeChrome-values.yaml rename to tests/charts/ci/NodeChrome-values.yaml index 131434058..09396f42d 100644 --- a/charts/selenium-grid/ci/NodeChrome-values.yaml +++ b/tests/charts/ci/NodeChrome-values.yaml @@ -1,4 +1,4 @@ -# This is used in Helm chart testing. This disables the basic auth on selenium grid +# This is used in Helm chart testing # Configuration for chrome nodes chromeNode: nameOverride: my-chrome-name diff --git a/charts/selenium-grid/ci/NodeEdge-values.yaml b/tests/charts/ci/NodeEdge-values.yaml similarity index 77% rename from charts/selenium-grid/ci/NodeEdge-values.yaml rename to tests/charts/ci/NodeEdge-values.yaml index aec663509..27220e275 100644 --- a/charts/selenium-grid/ci/NodeEdge-values.yaml +++ b/tests/charts/ci/NodeEdge-values.yaml @@ -1,4 +1,4 @@ -# This is used in Helm chart testing. This disables the basic auth on selenium grid +# This is used in Helm chart testing # Configuration for chrome nodes chromeNode: enabled: false diff --git a/charts/selenium-grid/ci/NodeFirefox-values.yaml b/tests/charts/ci/NodeFirefox-values.yaml similarity index 77% rename from charts/selenium-grid/ci/NodeFirefox-values.yaml rename to tests/charts/ci/NodeFirefox-values.yaml index 8ccc9bd41..21bb6a285 100644 --- a/charts/selenium-grid/ci/NodeFirefox-values.yaml +++ b/tests/charts/ci/NodeFirefox-values.yaml @@ -1,4 +1,4 @@ -# This is used in Helm chart testing. This disables the basic auth on selenium grid +# This is used in Helm chart testing # Configuration for chrome nodes chromeNode: enabled: false diff --git a/charts/selenium-grid/ci/auth-ingress-values.yaml b/tests/charts/ci/auth-ingress-values.yaml similarity index 100% rename from charts/selenium-grid/ci/auth-ingress-values.yaml rename to tests/charts/ci/auth-ingress-values.yaml diff --git a/charts/selenium-grid/ci/autoscaling-values.yaml b/tests/charts/ci/autoscaling-values.yaml similarity index 100% rename from charts/selenium-grid/ci/autoscaling-values.yaml rename to tests/charts/ci/autoscaling-values.yaml diff --git a/charts/selenium-grid/ci/tracing-values.yaml b/tests/charts/ci/tracing-values.yaml similarity index 100% rename from charts/selenium-grid/ci/tracing-values.yaml rename to tests/charts/ci/tracing-values.yaml diff --git a/tests/K8s/chart-testing.yaml b/tests/charts/config/ct.yaml similarity index 100% rename from tests/K8s/chart-testing.yaml rename to tests/charts/config/ct.yaml diff --git a/tests/K8s/kind-cluster-config.yaml b/tests/charts/config/kind-cluster.yaml similarity index 100% rename from tests/K8s/kind-cluster-config.yaml rename to tests/charts/config/kind-cluster.yaml diff --git a/tests/K8s/chart_cluster_cleanup.sh b/tests/charts/make/chart_cluster_cleanup.sh similarity index 100% rename from tests/K8s/chart_cluster_cleanup.sh rename to tests/charts/make/chart_cluster_cleanup.sh diff --git a/tests/K8s/chart_cluster_setup.sh b/tests/charts/make/chart_cluster_setup.sh similarity index 92% rename from tests/K8s/chart_cluster_setup.sh rename to tests/charts/make/chart_cluster_setup.sh index b46231449..76b27872d 100755 --- a/tests/K8s/chart_cluster_setup.sh +++ b/tests/charts/make/chart_cluster_setup.sh @@ -8,7 +8,7 @@ KEDA_NAMESPACE=${KEDA_NAMESPACE:-"keda"} INGRESS_NAMESPACE=${INGRESS_NAMESPACE:-"ingress-nginx"} SUB_PATH=${SUB_PATH:-"/selenium"} CHART_PATH=${CHART_PATH:-"charts/selenium-grid"} -TEST_VALUES_PATH=${TEST_VALUES_PATH:-"charts/selenium-grid/ci"} +TEST_VALUES_PATH=${TEST_VALUES_PATH:-"tests/charts/ci"} SELENIUM_GRID_HOST=${SELENIUM_GRID_HOST:-"localhost"} SELENIUM_GRID_PORT=${SELENIUM_GRID_PORT:-"80"} WAIT_TIMEOUT=${WAIT_TIMEOUT:-"90s"} @@ -17,7 +17,7 @@ SKIP_CLEANUP=${SKIP_CLEANUP:-"false"} # For debugging purposes, retain the clust # Function to clean up for retry step on workflow cleanup() { if [ "${SKIP_CLEANUP}" = "false" ]; then - ./tests/K8s/chart_cluster_cleanup.sh + ./tests/charts/make/chart_cluster_cleanup.sh fi } @@ -33,7 +33,7 @@ on_failure() { trap 'on_failure' ERR echo "Create Kind cluster" -kind create cluster --wait ${WAIT_TIMEOUT} --name ${CLUSTER_NAME} --config tests/K8s/kind-cluster-config.yaml +kind create cluster --wait ${WAIT_TIMEOUT} --name ${CLUSTER_NAME} --config tests/charts/config/kind-cluster.yaml echo "Install KEDA core on kind kubernetes cluster" kubectl apply --server-side -f https://github.com/kedacore/keda/releases/download/v2.12.1/keda-2.12.1-core.yaml diff --git a/tests/K8s/chart_install.sh b/tests/charts/make/chart_install.sh similarity index 97% rename from tests/K8s/chart_install.sh rename to tests/charts/make/chart_install.sh index 9beffae4a..d89f96487 100755 --- a/tests/K8s/chart_install.sh +++ b/tests/charts/make/chart_install.sh @@ -8,7 +8,7 @@ KEDA_NAMESPACE=${KEDA_NAMESPACE:-"keda"} INGRESS_NAMESPACE=${INGRESS_NAMESPACE:-"ingress-nginx"} SUB_PATH=${SUB_PATH:-"/selenium"} CHART_PATH=${CHART_PATH:-"charts/selenium-grid"} -TEST_VALUES_PATH=${TEST_VALUES_PATH:-"charts/selenium-grid/ci"} +TEST_VALUES_PATH=${TEST_VALUES_PATH:-"tests/charts/ci"} SELENIUM_GRID_HOST=${SELENIUM_GRID_HOST:-"localhost"} SELENIUM_GRID_PORT=${SELENIUM_GRID_PORT:-"80"} MATRIX_BROWSER=${1:-"NodeChrome"} diff --git a/tests/K8s/chart_lint.sh b/tests/charts/make/chart_lint.sh similarity index 89% rename from tests/K8s/chart_lint.sh rename to tests/charts/make/chart_lint.sh index 09c46edc1..db92cf0e0 100755 --- a/tests/K8s/chart_lint.sh +++ b/tests/charts/make/chart_lint.sh @@ -22,7 +22,8 @@ python -m pip install yamale==4.0.4 \ | grep -v 'Requirement already satisfied' cd .. -ct lint --all --config tests/K8s/chart-testing.yaml +rm -rf ./charts/**/Chart.lock +ct lint --all --config tests/charts/config/ct.yaml if [ "${CI:-false}" = "false" ]; then deactivate diff --git a/tests/K8s/chart_setup_env.sh b/tests/charts/make/chart_setup_env.sh similarity index 100% rename from tests/K8s/chart_setup_env.sh rename to tests/charts/make/chart_setup_env.sh diff --git a/tests/charts/templates/render/dummy.yaml b/tests/charts/templates/render/dummy.yaml new file mode 100644 index 000000000..da60ed3a6 --- /dev/null +++ b/tests/charts/templates/render/dummy.yaml @@ -0,0 +1,24 @@ +# This is dummy values file for chart template testing +global: + seleniumGrid: + affinity: &affinity + podAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + - labelSelector: + matchExpressions: + - key: app + operator: In + values: + - selenium + topologyKey: "kubernetes.io/hostname" + +isolateComponents: true + +chromeNode: + affinity: *affinity + +firefoxNode: + affinity: *affinity + +edgeNode: + affinity: *affinity diff --git a/tests/charts/templates/test.py b/tests/charts/templates/test.py new file mode 100644 index 000000000..b004c2a8b --- /dev/null +++ b/tests/charts/templates/test.py @@ -0,0 +1,42 @@ +import yaml +import unittest +import sys +import logging + +logging.basicConfig(level=logging.INFO, format="%(asctime)s - %(name)s - %(levelname)s - %(message)s") +logger = logging.getLogger(__name__) + +def load_template(yaml_file): + try: + with open(yaml_file, 'r') as file: + documents = yaml.safe_load_all(file) + list_of_documents = [doc for doc in documents] + return list_of_documents + except yaml.YAMLError as error: + print("Error in configuration file: ", error) + +class ChartTemplateTests(unittest.TestCase): + def test_set_affinity(self): + resources_name = ['selenium-chrome-node', 'selenium-distributor', 'selenium-edge-node', 'selenium-firefox-node', + 'selenium-event-bus', 'selenium-router', 'selenium-session-map', 'selenium-session-queue'] + count = 0 + for doc in LIST_OF_DOCUMENTS: + if doc['metadata']['name'] in resources_name and doc['kind'] == 'Deployment': + self.assertTrue(doc['spec']['template']['spec']['affinity']['podAffinity']['requiredDuringSchedulingIgnoredDuringExecution'][0]['labelSelector']['matchExpressions'] is not None) + count += 1 + self.assertEqual(count, len(resources_name), "Not all resources have affinity set") + +if __name__ == '__main__': + failed = False + try: + FILE_NAME = sys.argv[1] + LIST_OF_DOCUMENTS = load_template(FILE_NAME) + suite = unittest.TestLoader().loadTestsFromTestCase(ChartTemplateTests) + test_runner = unittest.TextTestRunner(verbosity=3) + failed = not test_runner.run(suite).wasSuccessful() + except Exception as e: + logger.fatal(e) + failed = True + + if failed: + exit(1) From 99448dff9d6a3f2112a5da24a13395b0132cf1b9 Mon Sep 17 00:00:00 2001 From: Viet Nguyen Duc Date: Sun, 3 Dec 2023 07:01:04 +0700 Subject: [PATCH 62/84] bug(#1824): Container ENV SE_NODE_SESSION_TIMEOUT not take effect (#2044) * bug(#1824): Container ENV SE_NODE_SESSION_TIMEOUT not take effect Signed-off-by: Viet Nguyen Duc * Update helm-chart-test.yml for SNAPSHOT CI build * Update helm-chart-test.yml for SNAPSHOT CI build Signed-off-by: Viet Nguyen Duc * Revert test Signed-off-by: Viet Nguyen Duc --------- Signed-off-by: Viet Nguyen Duc --- .github/workflows/helm-chart-test.yml | 17 +++++++-- .gitignore | 1 + Makefile | 37 +++++++++---------- NodeBase/start-selenium-node.sh | 5 +++ charts/selenium-grid/TESTING.md | 9 +++-- .../make/{chart_lint.sh => chart_build.sh} | 10 ++++- .../make/{chart_install.sh => chart_test.sh} | 17 ++++++--- 7 files changed, 64 insertions(+), 32 deletions(-) rename tests/charts/make/{chart_lint.sh => chart_build.sh} (67%) rename tests/charts/make/{chart_install.sh => chart_test.sh} (81%) diff --git a/.github/workflows/helm-chart-test.yml b/.github/workflows/helm-chart-test.yml index 29f3d3925..f363d728d 100644 --- a/.github/workflows/helm-chart-test.yml +++ b/.github/workflows/helm-chart-test.yml @@ -37,19 +37,30 @@ jobs: run: | echo "BUILD_DATE=$(date '+%Y%m%d')" >> $GITHUB_ENV echo "IMAGE_REGISTRY=artifactory/selenium" >> $GITHUB_ENV - - name: Build Docker images - run: NAME=${IMAGE_REGISTRY} VERSION=${BRANCH} BUILD_DATE=${BUILD_DATE} make build - name: Setup Kubernetes environment run: make chart_setup_env + - name: Build Docker images + run: NAME=${IMAGE_REGISTRY} VERSION=${BRANCH} BUILD_DATE=${BUILD_DATE} make build + - name: Build and lint charts + run: | + BUILD_DATE=${BUILD_DATE} make chart_build + echo "CHART_PACKAGE_PATH=$(cat /tmp/selenium_chart_version)" >> $GITHUB_ENV + echo "CHART_FILE_NAME=$(basename $(cat /tmp/selenium_chart_version))" >> $GITHUB_ENV - name: Setup Kubernetes cluster run: NAME=${IMAGE_REGISTRY} VERSION=${BRANCH} BUILD_DATE=${BUILD_DATE} make chart_cluster_setup - name: Test Selenium Grid on Kubernetes uses: nick-invision/retry@v2.9.0 with: - timeout_minutes: 20 + timeout_minutes: 30 max_attempts: 3 command: | NAME=${IMAGE_REGISTRY} VERSION=${BRANCH} BUILD_DATE=${BUILD_DATE} make chart_test - name: Cleanup Kubernetes cluster if: always() run: make chart_cluster_cleanup + - name: Upload Helm chart package + if: always() + uses: actions/upload-artifact@v3 + with: + name: ${{ env.CHART_FILE_NAME }} + path: ${{ env.CHART_PACKAGE_PATH }} diff --git a/.gitignore b/.gitignore index fc44914b7..f77615fd4 100644 --- a/.gitignore +++ b/.gitignore @@ -149,3 +149,4 @@ ENV/ .DS_Store /charts/*/charts /charts/*/**.lock +/charts/*.tgz diff --git a/Makefile b/Makefile index b2ac24195..cc75317b8 100644 --- a/Makefile +++ b/Makefile @@ -366,32 +366,31 @@ test_video: video hub chrome firefox edge chart_setup_env: ./tests/charts/make/chart_setup_env.sh -chart_test: chart_lint \ - chart_test_template \ - chart_install_chrome \ - chart_install_firefox \ - chart_install_edge - -chart_test_template: - ./tests/charts/bootstrap.sh - chart_cluster_setup: VERSION=$(TAG_VERSION) NAMESPACE=$(NAMESPACE) ./tests/charts/make/chart_cluster_setup.sh -chart_lint: - ./tests/charts/make/chart_lint.sh +chart_cluster_cleanup: + ./tests/charts/make/chart_cluster_cleanup.sh + +chart_build: + VERSION=$(TAG_VERSION) ./tests/charts/make/chart_build.sh + +chart_test: chart_test_template \ + chart_test_chrome \ + chart_test_firefox \ + chart_test_edge -chart_install_chrome: - VERSION=$(TAG_VERSION) NAMESPACE=$(NAMESPACE) ./tests/charts/make/chart_install.sh NodeChrome +chart_test_template: + ./tests/charts/bootstrap.sh -chart_install_firefox: - VERSION=$(TAG_VERSION) NAMESPACE=$(NAMESPACE) ./tests/charts/make/chart_install.sh NodeFirefox +chart_test_chrome: + VERSION=$(TAG_VERSION) NAMESPACE=$(NAMESPACE) ./tests/charts/make/chart_test.sh NodeChrome -chart_install_edge: - VERSION=$(TAG_VERSION) NAMESPACE=$(NAMESPACE) ./tests/charts/make/chart_install.sh NodeEdge +chart_test_firefox: + VERSION=$(TAG_VERSION) NAMESPACE=$(NAMESPACE) ./tests/charts/make/chart_test.sh NodeFirefox -chart_cluster_cleanup: - ./tests/charts/make/chart_cluster_cleanup.sh +chart_test_edge: + VERSION=$(TAG_VERSION) NAMESPACE=$(NAMESPACE) ./tests/charts/make/chart_test.sh NodeEdge .PHONY: \ all \ diff --git a/NodeBase/start-selenium-node.sh b/NodeBase/start-selenium-node.sh index 6fe30497b..4b069c7dd 100755 --- a/NodeBase/start-selenium-node.sh +++ b/NodeBase/start-selenium-node.sh @@ -31,6 +31,11 @@ if [ ! -z "$SE_OPTS" ]; then echo "Appending Selenium options: ${SE_OPTS}" fi +if [ ! -z "$SE_NODE_SESSION_TIMEOUT" ]; then + SE_OPTS="$SE_OPTS --session-timeout $SE_NODE_SESSION_TIMEOUT" + echo "Appending Selenium node session timeout via SE_OPTS: ${SE_OPTS}" +fi + if [ "$GENERATE_CONFIG" = true ]; then echo "Generating Selenium Config" /opt/bin/generate_config diff --git a/charts/selenium-grid/TESTING.md b/charts/selenium-grid/TESTING.md index 90c57c115..9003e27e9 100644 --- a/charts/selenium-grid/TESTING.md +++ b/charts/selenium-grid/TESTING.md @@ -36,7 +36,7 @@ All related testing to this helm chart will be documented in this file. cd ../.. # Build chart dependencies and lint -make chart_lint +make chart_build # Test chart template make chart_test_template @@ -51,11 +51,14 @@ Run entire commands to build and test Docker images with Helm charts in local en # Back to root directory cd ../.. +# Setup Kubernetes environment +make chart_setup_env + # Build Docker images make build -# Setup Kubernetes environment -make chart_setup_env +# Build and lint charts +make chart_build # Setup Kubernetes cluster make chart_cluster_setup diff --git a/tests/charts/make/chart_lint.sh b/tests/charts/make/chart_build.sh similarity index 67% rename from tests/charts/make/chart_lint.sh rename to tests/charts/make/chart_build.sh index db92cf0e0..5d57e4277 100755 --- a/tests/charts/make/chart_lint.sh +++ b/tests/charts/make/chart_build.sh @@ -1,4 +1,6 @@ #!/bin/bash + +CHART_PATH=${CHART_PATH:-"charts/selenium-grid"} # Function to be executed on command failure on_failure() { local exit_status=$? @@ -22,8 +24,14 @@ python -m pip install yamale==4.0.4 \ | grep -v 'Requirement already satisfied' cd .. -rm -rf ./charts/**/Chart.lock +rm -rf ${CHART_PATH}/Chart.lock ct lint --all --config tests/charts/config/ct.yaml +# Helm dependencies build and lint is done by `ct lint` command +rm -rf ${CHART_PATH}/../*.tgz +helm package ${CHART_PATH} --version ${VERSION} --destination ${CHART_PATH}/.. + +readlink -f ${CHART_PATH}/../*.tgz > /tmp/selenium_chart_version +cat /tmp/selenium_chart_version if [ "${CI:-false}" = "false" ]; then deactivate diff --git a/tests/charts/make/chart_install.sh b/tests/charts/make/chart_test.sh similarity index 81% rename from tests/charts/make/chart_install.sh rename to tests/charts/make/chart_test.sh index d89f96487..2d87c799e 100755 --- a/tests/charts/make/chart_install.sh +++ b/tests/charts/make/chart_test.sh @@ -40,14 +40,19 @@ on_failure() { # Trap ERR signal and call on_failure function trap 'on_failure' ERR +HELM_COMMAND_SET_AUTOSCALING="" +if [ "${SELENIUM_GRID_AUTOSCALING}" = "true" ]; then + HELM_COMMAND_SET_AUTOSCALING="--values ${TEST_VALUES_PATH}/autoscaling-values.yaml \ + --set autoscaling.enableWithExistingKEDA=${SELENIUM_GRID_AUTOSCALING} \ + --set autoscaling.scaledOptions.minReplicaCount=${SELENIUM_GRID_AUTOSCALING_MIN_REPLICA}" +fi + echo "Deploy Selenium Grid Chart" helm upgrade --install ${RELEASE_NAME} \ --f ${TEST_VALUES_PATH}/auth-ingress-values.yaml \ --f ${TEST_VALUES_PATH}/tracing-values.yaml \ --f ${TEST_VALUES_PATH}/${MATRIX_BROWSER}-values.yaml \ --f ${TEST_VALUES_PATH}/autoscaling-values.yaml \ ---set autoscaling.enableWithExistingKEDA=${SELENIUM_GRID_AUTOSCALING} \ ---set autoscaling.scaledOptions.minReplicaCount=${SELENIUM_GRID_AUTOSCALING_MIN_REPLICA} \ +--values ${TEST_VALUES_PATH}/auth-ingress-values.yaml \ +--values ${TEST_VALUES_PATH}/tracing-values.yaml \ +--values ${TEST_VALUES_PATH}/${MATRIX_BROWSER}-values.yaml \ +${HELM_COMMAND_SET_AUTOSCALING} \ --set global.seleniumGrid.imageTag=${VERSION} --set global.seleniumGrid.imageRegistry=${NAMESPACE} \ --set global.seleniumGrid.nodesImageTag=${VERSION} \ ${CHART_PATH} --namespace ${SELENIUM_NAMESPACE} --create-namespace From c4e40245c1d57b4d7481b2016da33393363f01d2 Mon Sep 17 00:00:00 2001 From: Viet Nguyen Duc Date: Tue, 5 Dec 2023 20:43:54 +0700 Subject: [PATCH 63/84] test(chart): Parallel tests execution against autoscaling in Kubernetes (#2046) * test(chart): Parallel tests execution against autoscaling in Kubernetes Signed-off-by: Viet Nguyen Duc * Correct name of ENV var, start with SE_ only Signed-off-by: Viet Nguyen Duc --------- Signed-off-by: Viet Nguyen Duc --- .github/workflows/helm-chart-test.yml | 14 ++++++- Makefile | 3 ++ charts/selenium-grid/TESTING.md | 7 +++- .../templates/node-configmap.yaml | 2 +- tests/SeleniumTests/__init__.py | 17 ++++++++ .../charts/ci/ParallelAutoscaling-values.yaml | 40 +++++++++++++++++++ tests/test.py | 3 ++ 7 files changed, 81 insertions(+), 5 deletions(-) create mode 100644 tests/charts/ci/ParallelAutoscaling-values.yaml diff --git a/.github/workflows/helm-chart-test.yml b/.github/workflows/helm-chart-test.yml index f363d728d..feedc3472 100644 --- a/.github/workflows/helm-chart-test.yml +++ b/.github/workflows/helm-chart-test.yml @@ -10,8 +10,11 @@ permissions: jobs: build-and-test: - name: Build & test Docker images with Helm charts + name: Test Helm charts runs-on: ubuntu-latest + strategy: + matrix: + test-strategy: [chart_test, chart_test_parallel_autoscaling] steps: - uses: actions/checkout@v4 - name: Output Docker info @@ -54,7 +57,7 @@ jobs: timeout_minutes: 30 max_attempts: 3 command: | - NAME=${IMAGE_REGISTRY} VERSION=${BRANCH} BUILD_DATE=${BUILD_DATE} make chart_test + NAME=${IMAGE_REGISTRY} VERSION=${BRANCH} BUILD_DATE=${BUILD_DATE} make ${{ matrix.test-strategy }} - name: Cleanup Kubernetes cluster if: always() run: make chart_cluster_cleanup @@ -64,3 +67,10 @@ jobs: with: name: ${{ env.CHART_FILE_NAME }} path: ${{ env.CHART_PACKAGE_PATH }} + - name: Upload Helm chart template rendered + if: always() + uses: actions/upload-artifact@v3 + with: + name: chart_template_rendered.yaml + path: ./tests/tests/output_deployment.yaml + if-no-files-found: ignore diff --git a/Makefile b/Makefile index cc75317b8..cf025422d 100644 --- a/Makefile +++ b/Makefile @@ -392,6 +392,9 @@ chart_test_firefox: chart_test_edge: VERSION=$(TAG_VERSION) NAMESPACE=$(NAMESPACE) ./tests/charts/make/chart_test.sh NodeEdge +chart_test_parallel_autoscaling: + VERSION=$(TAG_VERSION) NAMESPACE=$(NAMESPACE) ./tests/charts/make/chart_test.sh ParallelAutoscaling + .PHONY: \ all \ base \ diff --git a/charts/selenium-grid/TESTING.md b/charts/selenium-grid/TESTING.md index 9003e27e9..e4fafe63e 100644 --- a/charts/selenium-grid/TESTING.md +++ b/charts/selenium-grid/TESTING.md @@ -12,11 +12,12 @@ All related testing to this helm chart will be documented in this file. | | Auto scaling with `scalingType` is `job` | ✓ | Cluster | | | Auto scaling with `scalingType` is `deployment` | ✗ | | | | Auto scaling with `autoscaling.scaledOptions.minReplicaCount` is `0` | ✓ | Cluster | +| | Parallel tests execution against node autoscaling | ✓ | Cluster | | Ingress | Ingress is enabled without `hostname` | ✓ | Cluster | | | Ingress is enabled with `hostname` is set | ✗ | | | | Hub `sub-path` is set with Ingress `ImplementationSpecific` paths | ✓ | Cluster | | Distributed components | `isolateComponents` is enabled | ✓ | Cluster | -| | `isolateComponents` is disabled | ✗ | | +| | `isolateComponents` is disabled | ✓ | Cluster | | Browser Nodes | Node `nameOverride` is set | ✓ | Cluster | | | Sanity tests in node | ✓ | Cluster | | | Video recorder is enabled in node | ✗ | | @@ -24,7 +25,7 @@ All related testing to this helm chart will be documented in this file. | General | Set new image registry via `global.seleniumGrid.imageRegistry` | ✓ | Cluster | | | Components are able to set `.affinity` | ✓ | Template | | Tracing | Enable tracing via `SE_ENABLE_TRACING` | ✓ | Cluster | -| | Disable tracing via `SE_ENABLE_TRACING` | ✗ | | +| | Disable tracing via `SE_ENABLE_TRACING` | ✓ | Cluster | ## Test Chart Template - By using `helm template` command, the chart template is tested without installing it to Kubernetes cluster. @@ -66,6 +67,8 @@ make chart_cluster_setup # Test Selenium Grid on Kubernetes make chart_test +# make chart_test_parallel_autoscaling + # Cleanup Kubernetes cluster make chart_cluster_cleanup ``` diff --git a/charts/selenium-grid/templates/node-configmap.yaml b/charts/selenium-grid/templates/node-configmap.yaml index 08d6d4981..da4edab40 100644 --- a/charts/selenium-grid/templates/node-configmap.yaml +++ b/charts/selenium-grid/templates/node-configmap.yaml @@ -12,5 +12,5 @@ metadata: {{- toYaml . | nindent 4 }} {{- end }} data: - DRAIN_AFTER_SESSION_COUNT: '{{- and (eq (include "seleniumGrid.useKEDA" .) "true") (eq .Values.autoscaling.scalingType "job") | ternary "1" "0" -}}' + SE_DRAIN_AFTER_SESSION_COUNT: '{{- and (eq (include "seleniumGrid.useKEDA" .) "true") (eq .Values.autoscaling.scalingType "job") | ternary "1" "0" -}}' SE_NODE_GRID_URL: '{{ include "seleniumGrid.url" .}}' diff --git a/tests/SeleniumTests/__init__.py b/tests/SeleniumTests/__init__.py index acdaa4bda..31cd3903b 100644 --- a/tests/SeleniumTests/__init__.py +++ b/tests/SeleniumTests/__init__.py @@ -1,4 +1,5 @@ import unittest +import concurrent.futures import os from selenium import webdriver from selenium.webdriver.common.by import By @@ -113,3 +114,19 @@ def test_title_and_maximize_window(self): self.driver.get('https://the-internet.herokuapp.com') self.driver.maximize_window() self.assertTrue(self.driver.title == 'The Internet') + +class ParallelAutoscaling(): + def run(self, test_classes): + with concurrent.futures.ThreadPoolExecutor() as executor: + futures = [] + for test_class in test_classes: + suite = unittest.TestLoader().loadTestsFromTestCase(test_class) + for test in suite: + futures.append(executor.submit(test)) + for future in concurrent.futures.as_completed(futures): + future.result() + +class ParallelAutoscalingTests(unittest.TestCase): + def test_parallel_autoscaling(self): + runner = ParallelAutoscaling() + runner.run([ChromeTests, EdgeTests, FirefoxTests]) diff --git a/tests/charts/ci/ParallelAutoscaling-values.yaml b/tests/charts/ci/ParallelAutoscaling-values.yaml new file mode 100644 index 000000000..39ea9434c --- /dev/null +++ b/tests/charts/ci/ParallelAutoscaling-values.yaml @@ -0,0 +1,40 @@ +isolateComponents: false +autoscaling: + strategy: default + scaledOptions: + minReplicaCount: 0 + maxReplicaCount: 5 +chromeNode: + nameOverride: my-chrome-name + extraEnvironmentVariables: + - name: SE_OPTS + value: "--enable-managed-downloads true" +# Configuration for edge nodes +edgeNode: + nameOverride: my-edge-name + extraEnvironmentVariables: + - name: SE_OPTS + value: "--enable-managed-downloads true" +# Configuration for firefox nodes +firefoxNode: + nameOverride: my-firefox-name + extraEnvironmentVariables: + - name: SE_OPTS + value: "--enable-managed-downloads true" + +ingress: + paths: + - path: /selenium(/|$)(.*) + pathType: ImplementationSpecific + backend: + service: + name: '{{ template "seleniumGrid.hub.fullname" $ }}' + port: + number: 4444 + - path: /(/?)(session/.*/se/vnc) + pathType: ImplementationSpecific + backend: + service: + name: '{{ template "seleniumGrid.hub.fullname" $ }}' + port: + number: 4444 diff --git a/tests/test.py b/tests/test.py index 7568d755b..b8b462c2b 100644 --- a/tests/test.py +++ b/tests/test.py @@ -55,6 +55,9 @@ # Firefox Images 'NodeFirefox': 'FirefoxTests', 'StandaloneFirefox': 'FirefoxTests', + + # Chart Parallel Test + 'ParallelAutoscaling': 'ParallelAutoscalingTests' } FROM_IMAGE_ARGS = { From 30a6cc3653ce5dcc068979a4313cf796a1114c8f Mon Sep 17 00:00:00 2001 From: Viet Nguyen Duc Date: Wed, 6 Dec 2023 13:11:36 +0530 Subject: [PATCH 64/84] Update chart CHANGELOG [skip ci] Signed-off-by: Viet Nguyen Duc --- charts/selenium-grid/CHANGELOG.md | 47 +++++++++++++++++++++++-------- 1 file changed, 36 insertions(+), 11 deletions(-) diff --git a/charts/selenium-grid/CHANGELOG.md b/charts/selenium-grid/CHANGELOG.md index 68558c3b4..c33ad3691 100644 --- a/charts/selenium-grid/CHANGELOG.md +++ b/charts/selenium-grid/CHANGELOG.md @@ -2,22 +2,47 @@ All notable changes to this helm chart will be documented in this file. -## :heavy_check_mark: 0.24.0 +## :heavy_check_mark: 0.25.3 -### Added +### Changed +- Update image tag to 4.15.0-20231129 +- Update tag in docs and files :: Selenium CI Bot +- test: Add sanity test for download file (#2034) [deploy] :: Viet Nguyen Duc +- feat(chart): distribution registry can be set global and individual component (#2030) :: Viet Nguyen Duc +- Update tag in docs and files [skip ci] :: Selenium CI Bot +- test: Sanity tests Selenium Grid chart via Makefile commands (#2029) :: Viet Nguyen Duc +- Feature run selenium tests grid on kubernetes via helm chart (#2027) :: Amar Deep Singh +- feat: CI Bot bump chart version along with new deploy image version (#2028) :: Viet Nguyen Duc +- Update NodeChrome support latest version from GoogleChromeLabs (#2018) :: Viet Nguyen Duc +- Update tag in docs and files [skip ci] :: Selenium CI Bot +- corrected typo in selenium grid charts (#2010) :: Thabelo Ramabulana + +## :heavy_check_mark: 0.25.1 +### Changed +- Update image tag to 4.15.0-20231110 +- Bug: Error setting name in helm release #2006 #2007 (#2009) :: Viet Nguyen Duc + +## :heavy_check_mark: 0.25.0 + +### Changed +- Update image tag to 4.15.0-20231110 +- feat(helm-test): Added helm test and linting (#2003) :: Amar Deep Singh - Update tag in docs and files [skip ci] :: Selenium CI Bot -- Bumping chart version :: Diego Molina -- Fix minor issues after PR #1881 and #1981 (#1983) :: Viet Nguyen Duc -- Improve default value for videoRecorder in chart (#1984) :: Viet Nguyen Duc -- Improve chart templates in the section videoRecorder (#1987) :: Viet Nguyen Duc -- Update to Selenium 4.15.0 (#1990) :: Luis Correia -- feat(autoscaling): Unified parameters to set scaled options for browser nodes (#1989) :: Viet Nguyen Duc -- Add chart parameter ingress.paths to configure custom paths (#1994) :: Viet Nguyen Duc -- feat: Adding port to nodes service (#1196) :: Viet Nguyen Duc +- Update tag in docs and files [skip ci] :: Selenium CI Bot +- feat: Adding port to nodes service (#1996) :: Viet Nguyen Duc + +## :heavy_check_mark: 0.24.0 ### Changed -- Update image tag to 4.15.0-20231129 +- Update image tag to 4.15.0-20231102 +- Bumping chart version :: Viet Nguyen Duc +- Add chart parameter ingress.paths to configure custom paths (#1994) :: Viet Nguyen Duc +- feat(autoscaling): Unified parameters to set scaled options for browser nodes (#1989) :: Viet Nguyen Duc +- Update tag in docs and files [skip ci] :: Selenium CI Bot +- Improve chart templates in the section videoRecorder (#1987) :: Viet Nguyen Duc +- Improve default value for videoRecorder in chart (#1984) :: Viet Nguyen Duc +- Fix minor issues after PR #1881 and #1981 (#1983) :: Viet Nguyen Duc ## :heavy_check_mark: 0.23.0 From 59cb6cb911b6adcdc1727882510a40c3313ab094 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 6 Dec 2023 15:36:06 +0700 Subject: [PATCH 65/84] Bump actions/setup-python from 4.7.1 to 4.8.0 (#2048) Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4.7.1 to 4.8.0. - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](https://github.com/actions/setup-python/compare/v4.7.1...v4.8.0) --- updated-dependencies: - dependency-name: actions/setup-python dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/build-test.yml | 2 +- .github/workflows/helm-chart-test.yml | 2 +- .github/workflows/test-video.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index 0bdda25c5..bbed4d9fc 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -19,7 +19,7 @@ jobs: - name: Output Docker info run: docker info - name: Set up Python - uses: actions/setup-python@v4.7.1 + uses: actions/setup-python@v4.8.0 with: python-version: '3.11' check-latest: true diff --git a/.github/workflows/helm-chart-test.yml b/.github/workflows/helm-chart-test.yml index feedc3472..3a8865f09 100644 --- a/.github/workflows/helm-chart-test.yml +++ b/.github/workflows/helm-chart-test.yml @@ -20,7 +20,7 @@ jobs: - name: Output Docker info run: docker info - name: Set up Python - uses: actions/setup-python@v4.7.1 + uses: actions/setup-python@v4.8.0 with: python-version: '3.11' check-latest: true diff --git a/.github/workflows/test-video.yml b/.github/workflows/test-video.yml index e65301460..22d536297 100644 --- a/.github/workflows/test-video.yml +++ b/.github/workflows/test-video.yml @@ -16,7 +16,7 @@ jobs: - name: Output Docker info run: docker info - name: Set up Python - uses: actions/setup-python@v4.7.1 + uses: actions/setup-python@v4.8.0 with: python-version: '3.11' check-latest: true From da15922786b31ffc9fd5bb23cf73418d77666875 Mon Sep 17 00:00:00 2001 From: Viet Nguyen Duc Date: Wed, 6 Dec 2023 17:39:09 +0700 Subject: [PATCH 66/84] Add build-arg to get based version from Makefile (#2049) Add build-arg to get version from Makefile Signed-off-by: Viet Nguyen Duc --- Base/Dockerfile | 4 +++- Makefile | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/Base/Dockerfile b/Base/Dockerfile index 05a489b95..7122d9772 100644 --- a/Base/Dockerfile +++ b/Base/Dockerfile @@ -1,6 +1,8 @@ FROM ubuntu:jammy-20231004 LABEL authors="Selenium " +ARG VERSION +ARG RELEASE=selenium-${VERSION} #================================================ # Customize sources for apt-get #================================================ @@ -74,7 +76,7 @@ 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.15.0/selenium-server-4.15.0.jar \ + && wget --no-verbose https://github.com/SeleniumHQ/selenium/releases/download/${RELEASE}/selenium-server-${VERSION}.jar \ -O /opt/selenium/selenium-server.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 \ diff --git a/Makefile b/Makefile index cf025422d..c55575025 100644 --- a/Makefile +++ b/Makefile @@ -2,6 +2,8 @@ NAME := $(or $(NAME),$(NAME),selenium) CURRENT_DATE := $(shell date '+%Y%m%d') BUILD_DATE := $(or $(BUILD_DATE),$(BUILD_DATE),$(CURRENT_DATE)) VERSION := $(or $(VERSION),$(VERSION),4.15.0) +BASE_VERSION := $(or $(BASE_VERSION),$(BASE_VERSION),4.15.0) +BASE_RELEASE := $(or $(BASE_RELEASE),$(BASE_RELEASE),selenium-$(BASE_VERSION)) TAG_VERSION := $(VERSION)-$(BUILD_DATE) NAMESPACE := $(or $(NAMESPACE),$(NAMESPACE),$(NAME)) AUTHORS := $(or $(AUTHORS),$(AUTHORS),SeleniumHQ) @@ -37,7 +39,7 @@ build: all ci: build test base: - cd ./Base && docker build $(BUILD_ARGS) -t $(NAME)/base:$(TAG_VERSION) . + cd ./Base && docker build $(BUILD_ARGS) --build-arg VERSION=$(BASE_VERSION) --build-arg RELEASE=$(BASE_RELEASE) -t $(NAME)/base:$(TAG_VERSION) . hub: base cd ./Hub && docker build $(BUILD_ARGS) $(FROM_IMAGE_ARGS) -t $(NAME)/hub:$(TAG_VERSION) . From e2843cc1ad51ea5f771cb36dd12fa260161a443d Mon Sep 17 00:00:00 2001 From: Viet Nguyen Duc Date: Wed, 6 Dec 2023 18:17:54 +0700 Subject: [PATCH 67/84] feat(chart): Add default annotations for ingress nginx controller (#2047) Signed-off-by: Viet Nguyen Duc --- Video/Dockerfile | 2 +- charts/selenium-grid/README.md | 51 +++++++++++++++++++++ charts/selenium-grid/TESTING.md | 1 + charts/selenium-grid/templates/_helpers.tpl | 23 ++++++++++ charts/selenium-grid/templates/ingress.yaml | 8 +++- charts/selenium-grid/values.yaml | 6 +++ tests/charts/templates/render/dummy.yaml | 28 +++++++++++ tests/charts/templates/test.py | 19 ++++++++ 8 files changed, 135 insertions(+), 3 deletions(-) diff --git a/Video/Dockerfile b/Video/Dockerfile index a6a426ee7..5a78e8a20 100644 --- a/Video/Dockerfile +++ b/Video/Dockerfile @@ -44,7 +44,7 @@ ENV DISPLAY_CONTAINER_NAME selenium ENV SE_SCREEN_WIDTH 1360 ENV SE_SCREEN_HEIGHT 1020 ENV SE_FRAME_RATE 15 -ENV SE_CODEC libx265 +ENV SE_CODEC libx264 ENV SE_PRESET "-preset ultrafast" ENV FILE_NAME video.mp4 diff --git a/charts/selenium-grid/README.md b/charts/selenium-grid/README.md index a1c6eff5b..1e2ee6bac 100644 --- a/charts/selenium-grid/README.md +++ b/charts/selenium-grid/README.md @@ -79,6 +79,54 @@ To uninstall: helm uninstall selenium-grid ``` +## Ingress Configuration + +By default, ingress is enabled without annotations set. If NGINX ingress controller is used, you need to set few annotations to override the default timeout values to avoid 504 errors (see #1808). Since in Selenium Grid the default of `SE_NODE_SESSION_TIMEOUT` and `SE_SESSION_REQUEST_TIMEOUT` is `300` seconds. + +In order to make user experience better, there are few annotations will be set by default if NGINX ingress controller is used. Mostly relates to timeouts and buffer sizes. + +If you are not using NGINX ingress controller, you can disable these default annotations by setting `ingress.nginx` to `nil` (aka null) via Helm CLI `--set ingress.nginx=null`) or via an override-values.yaml as below: + +```yaml +ingress: + nginx: + # nginx: null (alternative way) +``` + +Similarly, if you want to disable a sub-config of `ingress.nginx`. For example: `--set ingress.nginx.proxyBuffer=null`) + +You are also able to combine using both default annotations and your own annotations in `ingress.annotations`. Duplicated keys will be merged strategy overwrite with your own annotations in `ingress.annotations` take precedence. + +```yaml +ingress: + nginx: + proxyTimeout: 3600 + annotations: + nginx.ingress.kubernetes.io/proxy-connect-timeout: "7200" # This key will take 7200 instead of 3600 +``` + +List mapping of chart values and default annotation(s) + +```markdown +# `ingress.nginx.proxyTimeout` pass value to annotation(s) +nginx.ingress.kubernetes.io/proxy-connect-timeout +nginx.ingress.kubernetes.io/proxy-send-timeout +nginx.ingress.kubernetes.io/proxy-read-timeout +nginx.ingress.kubernetes.io/proxy-next-upstream-timeout +nginx.ingress.kubernetes.io/auth-keepalive-timeout + +# `ingress.nginx.proxyBuffer` pass value to to annotation(s) +nginx.ingress.kubernetes.io/proxy-request-buffering: "on" +nginx.ingress.kubernetes.io/proxy-buffering: "on" + +# `ingress.nginx.proxyBuffer.size` pass value to to annotation(s) +nginx.ingress.kubernetes.io/proxy-buffer-size +nginx.ingress.kubernetes.io/client-body-buffer-size + +# `ingress.nginx.proxyBuffer.number` pass value to annotation(s) +nginx.ingress.kubernetes.io/proxy-buffers-number +``` + ## Configuration For now, global configuration supported is: @@ -111,6 +159,9 @@ This table contains the configuration parameters of the chart and their default | `ingress.enabled` | `true` | Enable or disable ingress resource | | `ingress.className` | `""` | Name of ingress class to select which controller will implement ingress resource | | `ingress.annotations` | `{}` | Custom annotations for ingress resource | +| `ingress.nginx.proxyTimeout` | `3600` | Value is used to set for NGINX ingress annotations related to proxy timeout | +| `ingress.nginx.proxyBuffer.size` | `512M` | Value is used to set for NGINX ingress annotations on size of the buffer proxy_buffer_size used for reading | +| `ingress.nginx.proxyBuffer.number` | `4` | Value is used to set for NGINX ingress annotations on number of the buffers in proxy_buffers used for reading | | `ingress.hostname` | `` | Default host for the ingress resource | | `ingress.path` | `/` | Default host path for the ingress resource | | `ingress.pathType` | `Prefix` | Default path type for the ingress resource | diff --git a/charts/selenium-grid/TESTING.md b/charts/selenium-grid/TESTING.md index e4fafe63e..7e94f85e4 100644 --- a/charts/selenium-grid/TESTING.md +++ b/charts/selenium-grid/TESTING.md @@ -16,6 +16,7 @@ All related testing to this helm chart will be documented in this file. | Ingress | Ingress is enabled without `hostname` | ✓ | Cluster | | | Ingress is enabled with `hostname` is set | ✗ | | | | Hub `sub-path` is set with Ingress `ImplementationSpecific` paths | ✓ | Cluster | +| | `ingress.nginx` configs for NGINX ingress controller annotations | ✓ | Template | | Distributed components | `isolateComponents` is enabled | ✓ | Cluster | | | `isolateComponents` is disabled | ✓ | Cluster | | Browser Nodes | Node `nameOverride` is set | ✓ | Cluster | diff --git a/charts/selenium-grid/templates/_helpers.tpl b/charts/selenium-grid/templates/_helpers.tpl index 1b0aa573c..9e44267d9 100644 --- a/charts/selenium-grid/templates/_helpers.tpl +++ b/charts/selenium-grid/templates/_helpers.tpl @@ -80,6 +80,29 @@ Ingress fullname {{- default "selenium-ingress" .Values.ingress.nameOverride | trunc 63 | trimSuffix "-" -}} {{- end -}} +{{- define "seleniumGrid.ingress.nginx.annotations.default" -}} +{{- with .Values.ingress.nginx }} + {{- with .proxyTimeout }} +nginx.ingress.kubernetes.io/proxy-connect-timeout: {{ . | quote }} +nginx.ingress.kubernetes.io/proxy-send-timeout: {{ . | quote }} +nginx.ingress.kubernetes.io/proxy-read-timeout: {{ . | quote }} +nginx.ingress.kubernetes.io/proxy-next-upstream-timeout: {{ . | quote }} +nginx.ingress.kubernetes.io/auth-keepalive-timeout: {{ . | quote }} + {{- end }} + {{- with .proxyBuffer }} +nginx.ingress.kubernetes.io/proxy-request-buffering: "on" +nginx.ingress.kubernetes.io/proxy-buffering: "on" + {{- with .size }} +nginx.ingress.kubernetes.io/proxy-buffer-size: {{ . | quote }} +nginx.ingress.kubernetes.io/client-body-buffer-size: {{ . | quote }} + {{- end }} + {{- with .number }} +nginx.ingress.kubernetes.io/proxy-buffers-number: {{ . | quote }} + {{- end }} + {{- end }} +{{- end }} +{{- end -}} + {{/* Service Account fullname */}} diff --git a/charts/selenium-grid/templates/ingress.yaml b/charts/selenium-grid/templates/ingress.yaml index f574c6c2f..215cfbace 100644 --- a/charts/selenium-grid/templates/ingress.yaml +++ b/charts/selenium-grid/templates/ingress.yaml @@ -20,9 +20,13 @@ metadata: {{- with .Values.customLabels }} {{- toYaml . | nindent 4 }} {{- end }} - {{- with .Values.ingress.annotations }} + {{- $ingressAnnotations := (include "seleniumGrid.ingress.nginx.annotations.default" . | toString | fromYaml ) }} + {{- with .Values.ingress.annotations -}} + {{- $ingressAnnotations = mergeOverwrite $ingressAnnotations . }} + {{- end }} + {{- if not (empty $ingressAnnotations) }} annotations: - {{- toYaml . | nindent 4 }} + {{- $ingressAnnotations | toYaml | nindent 4 }} {{- end }} spec: {{- if and .Values.ingress.className (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion) }} diff --git a/charts/selenium-grid/values.yaml b/charts/selenium-grid/values.yaml index a32a9c96a..008d53b3b 100644 --- a/charts/selenium-grid/values.yaml +++ b/charts/selenium-grid/values.yaml @@ -36,6 +36,12 @@ ingress: enabled: true # Name of ingress class to select which controller will implement ingress resource className: "" + # Refer to list nginx annotations: https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/nginx-configuration/annotations.md#annotations + nginx: + proxyTimeout: 3600 + proxyBuffer: + size: 512M + number: 4 # Custom annotations for ingress resource annotations: {} # Default host for the ingress resource diff --git a/tests/charts/templates/render/dummy.yaml b/tests/charts/templates/render/dummy.yaml index da60ed3a6..19ca7d6d9 100644 --- a/tests/charts/templates/render/dummy.yaml +++ b/tests/charts/templates/render/dummy.yaml @@ -11,6 +11,34 @@ global: values: - selenium topologyKey: "kubernetes.io/hostname" +ingress: + nginx: + proxyTimeout: 360 # Set different proxy timout + proxyBuffer: + # size: 512M # Keep using sub-config default + number: # Disable sub-config + annotations: # Add you own annotations + nginx.ingress.kubernetes.io/use-regex: "true" # Add new key + nginx.ingress.kubernetes.io/rewrite-target: /$2 + nginx.ingress.kubernetes.io/app-root: &gridAppRoot "/selenium" + nginx.ingress.kubernetes.io/proxy-connect-timeout: "3600" # Override default key + nginx.ingress.kubernetes.io/proxy-send-timeout: "3600" # Override default key + hostname: "" + paths: + - path: /selenium(/|$)(.*) + pathType: ImplementationSpecific + backend: + service: + name: '{{ template "seleniumGrid.router.fullname" $ }}' + port: + number: 4444 + - path: /(/?)(session/.*/se/vnc) + pathType: ImplementationSpecific + backend: + service: + name: '{{ template "seleniumGrid.router.fullname" $ }}' + port: + number: 4444 isolateComponents: true diff --git a/tests/charts/templates/test.py b/tests/charts/templates/test.py index b004c2a8b..1e751f4e3 100644 --- a/tests/charts/templates/test.py +++ b/tests/charts/templates/test.py @@ -20,12 +20,31 @@ def test_set_affinity(self): resources_name = ['selenium-chrome-node', 'selenium-distributor', 'selenium-edge-node', 'selenium-firefox-node', 'selenium-event-bus', 'selenium-router', 'selenium-session-map', 'selenium-session-queue'] count = 0 + logger.info(f"Assert affinity is set in global and nodes") for doc in LIST_OF_DOCUMENTS: if doc['metadata']['name'] in resources_name and doc['kind'] == 'Deployment': + logger.info(f"Assert affinity is set in resource {doc['metadata']['name']}") self.assertTrue(doc['spec']['template']['spec']['affinity']['podAffinity']['requiredDuringSchedulingIgnoredDuringExecution'][0]['labelSelector']['matchExpressions'] is not None) count += 1 self.assertEqual(count, len(resources_name), "Not all resources have affinity set") + def test_ingress_nginx_annotations(self): + resources_name = ['selenium-ingress'] + count = 0 + for doc in LIST_OF_DOCUMENTS: + if doc['metadata']['name'] in resources_name and doc['kind'] == 'Ingress': + logger.info(f"Assert ingress ingress annotations") + logger.info(f"Config `ingress.nginx.proxyTimeout` is able to be set a different value") + self.assertTrue(doc['metadata']['annotations']['nginx.ingress.kubernetes.io/proxy-read-timeout'] == '360') + logger.info(f"Duplicated in `ingress.annotations` take precedence to overwrite the default value") + self.assertTrue(doc['metadata']['annotations']['nginx.ingress.kubernetes.io/proxy-connect-timeout'] == '3600') + logger.info(f"Default annotation is able to be disabled by setting it to null") + self.assertTrue(doc['metadata']['annotations'].get('nginx.ingress.kubernetes.io/proxy-buffers-number') is None) + logger.info(f"Default annotation is added if no override value") + self.assertTrue(doc['metadata']['annotations']['nginx.ingress.kubernetes.io/client-body-buffer-size'] == '512M') + count += 1 + self.assertEqual(count, len(resources_name), "No ingress resources found") + if __name__ == '__main__': failed = False try: From c4e7e1010c282e02e5aa1c412386edd325077a67 Mon Sep 17 00:00:00 2001 From: Viet Nguyen Duc Date: Wed, 6 Dec 2023 21:12:50 +0530 Subject: [PATCH 68/84] Update to Selenium 4.16.0 [deploy] Signed-off-by: Viet Nguyen Duc --- Makefile | 4 ++-- tests/bootstrap.sh | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index c55575025..874a9b89b 100644 --- a/Makefile +++ b/Makefile @@ -1,8 +1,8 @@ NAME := $(or $(NAME),$(NAME),selenium) CURRENT_DATE := $(shell date '+%Y%m%d') BUILD_DATE := $(or $(BUILD_DATE),$(BUILD_DATE),$(CURRENT_DATE)) -VERSION := $(or $(VERSION),$(VERSION),4.15.0) -BASE_VERSION := $(or $(BASE_VERSION),$(BASE_VERSION),4.15.0) +VERSION := $(or $(VERSION),$(VERSION),4.16.0) +BASE_VERSION := $(or $(BASE_VERSION),$(BASE_VERSION),4.16.0) BASE_RELEASE := $(or $(BASE_RELEASE),$(BASE_RELEASE),selenium-$(BASE_VERSION)) TAG_VERSION := $(VERSION)-$(BUILD_DATE) NAMESPACE := $(or $(NAMESPACE),$(NAMESPACE),$(NAME)) diff --git a/tests/bootstrap.sh b/tests/bootstrap.sh index a210862fa..7ce7b8cf4 100755 --- a/tests/bootstrap.sh +++ b/tests/bootstrap.sh @@ -7,7 +7,7 @@ if [ "${CI:-false}" = "false" ]; then source docker-selenium-tests/bin/activate fi -python -m pip install selenium==4.15.0 \ +python -m pip install selenium==4.16.0 \ docker===6.1.3 \ | grep -v 'Requirement already satisfied' From 67c8a7bae4e6e5f6499ddbc409d6a2f0f9d8bd91 Mon Sep 17 00:00:00 2001 From: Viet Nguyen Duc Date: Wed, 6 Dec 2023 23:24:49 +0530 Subject: [PATCH 69/84] Maintain test failure [deploy] Signed-off-by: Viet Nguyen Duc --- tests/SeleniumTests/__init__.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/tests/SeleniumTests/__init__.py b/tests/SeleniumTests/__init__.py index 31cd3903b..263cc11ca 100644 --- a/tests/SeleniumTests/__init__.py +++ b/tests/SeleniumTests/__init__.py @@ -1,6 +1,7 @@ import unittest import concurrent.futures import os +import time from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait @@ -66,16 +67,17 @@ def test_play_video(self): def test_download_file(self): driver = self.driver - driver.get('https://the-internet.herokuapp.com/download') - file_name = 'some-file.txt' + driver.get('https://demoqa.com/upload-download') + file_name = 'sampleFile.jpeg' wait = WebDriverWait(driver, 30) file_link = wait.until( - EC.element_to_be_clickable((By.LINK_TEXT, file_name)) + EC.element_to_be_clickable((By.XPATH, f'//*[@download="{file_name}"]')) ) file_link.click() wait.until( lambda d: str(d.get_downloadable_files()[0]).endswith(file_name) ) + time.sleep(5) self.assertTrue(str(driver.get_downloadable_files()[0]).endswith(file_name)) def tearDown(self): From 6a12140640c7d450bc8cbf8ffd4505085d720eac Mon Sep 17 00:00:00 2001 From: Selenium CI Bot Date: Wed, 6 Dec 2023 18:11:34 +0000 Subject: [PATCH 70/84] Update tag in docs and files --- .github/ISSUE_TEMPLATE/bug_report.yml | 2 +- NodeDocker/config.toml | 8 +- README.md | 134 ++++++++++++------------ charts/selenium-grid/CHANGELOG.md | 2 +- charts/selenium-grid/Chart.yaml | 4 +- charts/selenium-grid/README.md | 14 +-- charts/selenium-grid/values.yaml | 26 ++--- docker-compose-v2-tracing.yml | 8 +- docker-compose-v2.yml | 8 +- docker-compose-v3-basicauth.yml | 8 +- docker-compose-v3-dev.yml | 8 +- docker-compose-v3-dynamic-grid.yml | 4 +- docker-compose-v3-full-grid-dev.yml | 16 +-- docker-compose-v3-full-grid-swarm.yml | 8 +- docker-compose-v3-full-grid-tracing.yml | 16 +-- docker-compose-v3-full-grid.yml | 16 +-- docker-compose-v3-swarm.yml | 8 +- docker-compose-v3-tracing.yml | 8 +- docker-compose-v3-video.yml | 14 +-- docker-compose-v3.yml | 8 +- 20 files changed, 160 insertions(+), 160 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index c66e49567..ada8e271b 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -56,6 +56,6 @@ body: attributes: label: Docker Selenium version (tag or chart version) description: What version of Docker Selenium are you using? - placeholder: 4.15.0-20231129? Please use the full tag, avoid "latest" + placeholder: 4.16.0-20231206? Please use the full tag, avoid "latest" validations: required: true diff --git a/NodeDocker/config.toml b/NodeDocker/config.toml index a505e1c1a..bfe4bd071 100644 --- a/NodeDocker/config.toml +++ b/NodeDocker/config.toml @@ -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.15.0-20231129", '{"browserName": "firefox", "platformName": "linux"}', - "selenium/standalone-chrome:4.15.0-20231129", '{"browserName": "chrome", "platformName": "linux"}', - "selenium/standalone-edge:4.15.0-20231129", '{"browserName": "MicrosoftEdge", "platformName": "linux"}' + "selenium/standalone-firefox:4.16.0-20231206", '{"browserName": "firefox", "platformName": "linux"}', + "selenium/standalone-chrome:4.16.0-20231206", '{"browserName": "chrome", "platformName": "linux"}', + "selenium/standalone-edge:4.16.0-20231206", '{"browserName": "MicrosoftEdge", "platformName": "linux"}' ] # URL for connecting to the docker daemon @@ -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-6.1-20231129" +video-image = "selenium/video:ffmpeg-6.1-20231206" # Uncomment the following section if you are running the node on a separate VM # Fill out the placeholders with appropriate values diff --git a/README.md b/README.md index 5892db09f..a57191925 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ The project is made possible by volunteer contributors who have put in thousands and made the source code freely available under the [Apache License 2.0](LICENSE.md). These Docker images come with a handful of tags to simplify its usage, have a look at them in one of -our [releases](https://github.com/SeleniumHQ/docker-selenium/releases/tag/4.15.0-20231129). +our [releases](https://github.com/SeleniumHQ/docker-selenium/releases/tag/4.16.0-20231206). To get notifications of new releases, add yourself as a "Releases only" watcher. @@ -65,7 +65,7 @@ Talk to us at https://www.selenium.dev/support/ 1. Start a Docker container with Firefox ```bash -docker run -d -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-firefox:4.15.0-20231129 +docker run -d -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-firefox:4.16.0-20231206 ``` 2. Point your WebDriver tests to http://localhost:4444 @@ -252,17 +252,17 @@ For more information on the Dev and Beta channel container images, see the blog ![Firefox](https://raw.githubusercontent.com/alrra/browser-logos/main/src/firefox/firefox_24x24.png) Firefox ```bash -docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-firefox:4.15.0-20231129 +docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-firefox:4.16.0-20231206 ``` ![Chrome](https://raw.githubusercontent.com/alrra/browser-logos/main/src/chrome/chrome_24x24.png) Chrome ```bash -docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-chrome:4.15.0-20231129 +docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-chrome:4.16.0-20231206 ``` ![Edge](https://raw.githubusercontent.com/alrra/browser-logos/main/src/edge/edge_24x24.png) Edge ```bash -docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-edge:4.15.0-20231129 +docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-edge:4.16.0-20231206 ``` _Note: Only one Standalone container can run on port_ `4444` _at the same time._ @@ -281,44 +281,44 @@ A Docker [network](https://docs.docker.com/engine/reference/commandline/network_ ```bash $ docker network create grid -$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.15.0-20231129 +$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.16.0-20231206 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-chrome:4.15.0-20231129 + selenium/node-chrome:4.16.0-20231206 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-edge:4.15.0-20231129 + selenium/node-edge:4.16.0-20231206 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-firefox:4.15.0-20231129 + selenium/node-firefox:4.16.0-20231206 ``` ##### Windows PowerShell ```powershell $ docker network create grid -$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.15.0-20231129 +$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.16.0-20231206 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub ` --shm-size="2g" ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` - selenium/node-chrome:4.15.0-20231129 + selenium/node-chrome:4.16.0-20231206 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub ` --shm-size="2g" ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` - selenium/node-edge:4.15.0-20231129 + selenium/node-edge:4.16.0-20231206 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub ` --shm-size="2g" ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` - selenium/node-firefox:4.15.0-20231129 + selenium/node-firefox:4.16.0-20231206 ``` When you are done using the Grid, and the containers have exited, the network can be removed with the following command: @@ -335,7 +335,7 @@ configured to expose different ports. ##### Hub - Machine/VM 1 ```bash -$ docker run -d -p 4442-4444:4442-4444 --name selenium-hub selenium/hub:4.15.0-20231129 +$ docker run -d -p 4442-4444:4442-4444 --name selenium-hub selenium/hub:4.16.0-20231206 ``` ##### Node Chrome - Machine/VM 2 @@ -349,7 +349,7 @@ $ docker run -d -p 5555:5555 \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ -e SE_NODE_HOST= \ - selenium/node-chrome:4.15.0-20231129 + selenium/node-chrome:4.16.0-20231206 ``` ###### Windows PowerShell @@ -361,7 +361,7 @@ $ docker run -d -p 5555:5555 ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` -e SE_NODE_HOST= ` - selenium/node-chrome:4.15.0-20231129 + selenium/node-chrome:4.16.0-20231206 ``` @@ -376,7 +376,7 @@ $ docker run -d -p 5555:5555 \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ -e SE_NODE_HOST= \ - selenium/node-edge:4.15.0-20231129 + selenium/node-edge:4.16.0-20231206 ``` ###### Windows PowerShell @@ -388,7 +388,7 @@ $ docker run -d -p 5555:5555 ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` -e SE_NODE_HOST= ` - selenium/node-edge:4.15.0-20231129 + selenium/node-edge:4.16.0-20231206 ``` ##### Node Firefox - Machine/VM 4 @@ -402,7 +402,7 @@ $ docker run -d -p 5555:5555 \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ -e SE_NODE_HOST= \ - selenium/node-firefox:4.15.0-20231129 + selenium/node-firefox:4.16.0-20231206 ``` ###### Windows PowerShell @@ -414,7 +414,7 @@ $ docker run -d -p 5555:5555 ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` -e SE_NODE_HOST= ` - selenium/node-firefox:4.15.0-20231129 + selenium/node-firefox:4.16.0-20231206 ``` ##### Node Chrome - Machine/VM 4 @@ -429,7 +429,7 @@ $ docker run -d -p 5556:5556 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ -e SE_NODE_HOST= \ -e SE_NODE_PORT=5556 \ - selenium/node-chrome:4.15.0-20231129 + selenium/node-chrome:4.16.0-20231206 ``` ###### Windows PowerShell @@ -442,7 +442,7 @@ $ docker run -d -p 5556:5556 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` -e SE_NODE_HOST= ` -e SE_NODE_PORT=5556 ` - selenium/node-chrome:4.15.0-20231129 + selenium/node-chrome:4.16.0-20231206 ``` #### Docker Compose @@ -474,7 +474,7 @@ ___ ## Video recording -Tests execution can be recorded by using the `selenium/video:ffmpeg-6.1-20231129` +Tests execution can be recorded by using the `selenium/video:ffmpeg-6.1-20231206` Docker image. One container is needed per each container where a browser is running. This means if you are running 5 Nodes/Standalone containers, you will need 5 video containers, the mapping is 1-1. @@ -500,8 +500,8 @@ This example shows how to start the containers manually: ``` bash $ docker network create grid -$ docker run -d -p 4444:4444 -p 6900:5900 --net grid --name selenium --shm-size="2g" selenium/standalone-chrome:4.15.0-20231129 -$ docker run -d --net grid --name video -v /tmp/videos:/videos selenium/video:ffmpeg-6.1-20231129 +$ docker run -d -p 4444:4444 -p 6900:5900 --net grid --name selenium --shm-size="2g" selenium/standalone-chrome:4.16.0-20231206 +$ docker run -d --net grid --name video -v /tmp/videos:/videos selenium/video:ffmpeg-6.1-20231206 # Run your tests $ docker stop video && docker rm video $ docker stop selenium && docker rm selenium @@ -533,9 +533,9 @@ You can save this file locally and name it, for example, `config.toml`. # 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.15.0-20231129", '{"browserName": "firefox"}', - "selenium/standalone-chrome:4.15.0-20231129", '{"browserName": "chrome"}', - "selenium/standalone-edge:4.15.0-20231129", '{"browserName": "MicrosoftEdge"}' + "selenium/standalone-firefox:4.16.0-20231206", '{"browserName": "firefox"}', + "selenium/standalone-chrome:4.16.0-20231206", '{"browserName": "chrome"}', + "selenium/standalone-edge:4.16.0-20231206", '{"browserName": "MicrosoftEdge"}' ] # URL for connecting to the docker daemon @@ -548,7 +548,7 @@ configs = [ # Linux: varies from machine to machine, please mount /var/run/docker.sock. If this does not work, please create an issue. url = "http://127.0.0.1:2375" # Docker image used for video recording -video-image = "selenium/video:ffmpeg-6.1-20231129" +video-image = "selenium/video:ffmpeg-6.1-20231206" # Uncomment the following section if you are running the node on a separate VM # Fill out the placeholders with appropriate values @@ -567,28 +567,28 @@ virtual machines. ```bash $ docker network create grid -$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.15.0-20231129 +$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.16.0-20231206 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ -v ${PWD}/config.toml:/opt/bin/config.toml \ -v ${PWD}/assets:/opt/selenium/assets \ -v /var/run/docker.sock:/var/run/docker.sock \ - selenium/node-docker:4.15.0-20231129 + selenium/node-docker:4.16.0-20231206 ``` #### Windows PowerShell ```powershell $ docker network create grid -$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.15.0-20231129 +$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.16.0-20231206 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub ` -e SE_EVENT_BUS_PUBLISH_PORT=4442 ` -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ` -v ${PWD}/config.toml:/opt/bin/config.toml ` -v ${PWD}/assets:/opt/selenium/assets ` -v /var/run/docker.sock:/var/run/docker.sock ` - selenium/node-docker:4.15.0-20231129 + selenium/node-docker:4.16.0-20231206 ``` To have the assets saved on your host, please mount your host path to `/opt/selenium/assets`. @@ -609,7 +609,7 @@ docker run --rm --name selenium-docker -p 4444:4444 \ -v ${PWD}/config.toml:/opt/bin/config.toml \ -v ${PWD}/assets:/opt/selenium/assets \ -v /var/run/docker.sock:/var/run/docker.sock \ - selenium/standalone-docker:4.15.0-20231129 + selenium/standalone-docker:4.16.0-20231206 ``` #### Windows PowerShell @@ -619,7 +619,7 @@ docker run --rm --name selenium-docker -p 4444:4444 ` -v ${PWD}/config.toml:/opt/bin/config.toml ` -v ${PWD}/assets:/opt/selenium/assets ` -v /var/run/docker.sock:/var/run/docker.sock ` - selenium/standalone-docker:4.15.0-20231129 + selenium/standalone-docker:4.16.0-20231206 ``` ### Using Dynamic Grid in different machines/VMs @@ -627,7 +627,7 @@ docker run --rm --name selenium-docker -p 4444:4444 ` #### Hub - Machine/VM 1 ```bash -$ docker run -d -p 4442-4444:4442-4444 --name selenium-hub selenium/hub:4.15.0-20231129 +$ docker run -d -p 4442-4444:4442-4444 --name selenium-hub selenium/hub:4.16.0-20231206 ``` #### Node Chrome - Machine/VM 2 @@ -642,7 +642,7 @@ $ docker run -d -p 5555:5555 \ -v ${PWD}/config.toml:/opt/bin/config.toml \ -v ${PWD}/assets:/opt/selenium/assets \ -v /var/run/docker.sock:/var/run/docker.sock \ - selenium/node-docker:4.15.0-20231129 + selenium/node-docker:4.16.0-20231206 ``` #### Windows PowerShell @@ -655,7 +655,7 @@ $ docker run -d -p 5555:5555 ` -v ${PWD}/config.toml:/opt/bin/config.toml ` -v ${PWD}/assets:/opt/selenium/assets ` -v /var/run/docker.sock:/var/run/docker.sock ` - selenium/node-docker:4.15.0-20231129 + selenium/node-docker:4.16.0-20231206 ``` Complete the `[server]` section in the `config.toml` file. @@ -664,9 +664,9 @@ Complete the `[server]` section in the `config.toml` file. # 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.15.0-20231129", "{\"browserName\": \"firefox\"}", - "selenium/standalone-chrome:4.15.0-20231129", "{\"browserName\": \"chrome\"}", - "selenium/standalone-edge:4.15.0-20231129", "{\"browserName\": \"MicrosoftEdge\"}" + "selenium/standalone-firefox:4.16.0-20231206", "{\"browserName\": \"firefox\"}", + "selenium/standalone-chrome:4.16.0-20231206", "{\"browserName\": \"chrome\"}", + "selenium/standalone-edge:4.16.0-20231206", "{\"browserName\": \"MicrosoftEdge\"}" ] # URL for connecting to the docker daemon @@ -679,7 +679,7 @@ configs = [ # Linux: varies from machine to machine, please mount /var/run/docker.sock. If this does not work, please create an issue. url = "http://127.0.0.1:2375" # Docker image used for video recording -video-image = "selenium/video:ffmpeg-6.1-20231129" +video-image = "selenium/video:ffmpeg-6.1-20231206" # Uncomment the following section if you are running the node on a separate VM # Fill out the placeholders with appropriate values @@ -713,7 +713,7 @@ docker run --rm --name selenium-docker -p 4444:4444 \ -v ${PWD}/config.toml:/opt/bin/config.toml \ -v ${PWD}/assets:/opt/selenium/assets \ -v /var/run/docker.sock:/var/run/docker.sock \ - selenium/standalone-docker:4.15.0-20231129 + selenium/standalone-docker:4.16.0-20231206 ``` #### Windows PowerShell @@ -724,7 +724,7 @@ docker run --rm --name selenium-docker -p 4444:4444 ` -v ${PWD}/config.toml:/opt/bin/config.toml ` -v ${PWD}/assets:/opt/selenium/assets ` -v /var/run/docker.sock:/var/run/docker.sock ` - selenium/standalone-docker:4.15.0-20231129 + selenium/standalone-docker:4.16.0-20231206 ``` @@ -762,7 +762,7 @@ ___ You can pass `SE_OPTS` variable with additional command line parameters for starting a hub or a node. ``` bash -$ docker run -d -p 4444:4444 -e SE_OPTS="--log-level FINE" --name selenium-hub selenium/hub:4.15.0-20231129 +$ docker run -d -p 4444:4444 -e SE_OPTS="--log-level FINE" --name selenium-hub selenium/hub:4.16.0-20231206 ``` ### SE_JAVA_OPTS Java Environment Options @@ -770,7 +770,7 @@ $ docker run -d -p 4444:4444 -e SE_OPTS="--log-level FINE" --name selenium-hub s You can pass `SE_JAVA_OPTS` environment variable to the Java process. ``` bash -$ docker run -d -p 4444:4444 -e SE_JAVA_OPTS=-Xmx512m --name selenium-hub selenium/hub:4.15.0-20231129 +$ docker run -d -p 4444:4444 -e SE_JAVA_OPTS=-Xmx512m --name selenium-hub selenium/hub:4.16.0-20231206 ``` ### Node configuration options @@ -792,7 +792,7 @@ $ docker run -d \ -e SE_EVENT_BUS_HOST= \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 -e SE_NODE_STEREOTYPE="{\"browserName\":\"${SE_NODE_BROWSER_NAME}\",\"browserVersion\":\"${SE_NODE_BROWSER_VERSION}\",\"platformName\": \"Linux\"}" \ - --shm-size="2g" selenium/node-chrome:4.15.0-20231129 + --shm-size="2g" selenium/node-chrome:4.16.0-20231206 ``` ### Setting Sub Path @@ -811,7 +811,7 @@ These settings can be adjusted by specifying `SE_SCREEN_WIDTH`, `SE_SCREEN_HEIGH environmental variables when starting the container. ``` bash -docker run -d -e SE_SCREEN_WIDTH=1366 -e SE_SCREEN_HEIGHT=768 -e SE_SCREEN_DEPTH=24 -e SE_SCREEN_DPI=74 selenium/standalone-firefox:4.15.0-20231129 +docker run -d -e SE_SCREEN_WIDTH=1366 -e SE_SCREEN_HEIGHT=768 -e SE_SCREEN_DEPTH=24 -e SE_SCREEN_DPI=74 selenium/standalone-firefox:4.16.0-20231206 ``` ### Grid Url and Session Timeout @@ -861,7 +861,7 @@ To avoid starting the server you can set the `START_XVFB` environment variable t ``` bash $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ - -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 -e START_XVFB=false --shm-size="2g" selenium/node-chrome:4.15.0-20231129 + -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 -e START_XVFB=false --shm-size="2g" selenium/node-chrome:4.16.0-20231206 ``` For more information, see this GitHub [issue](https://github.com/SeleniumHQ/docker-selenium/issues/567). @@ -874,7 +874,7 @@ pod and then scale a new one after N sessions. Set the environment variable `SE_ a value higher than zero to enable this behaviour. ``` bash -$ docker run -e SE_DRAIN_AFTER_SESSION_COUNT=5 --shm-size="2g" selenium/standalone-firefox:4.15.0-20231129 +$ docker run -e SE_DRAIN_AFTER_SESSION_COUNT=5 --shm-size="2g" selenium/standalone-firefox:4.16.0-20231206 ``` With the previous command, the Standalone container will shut down after 5 sessions have been executed. @@ -966,22 +966,22 @@ $ docker network create grid $ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub \ --health-cmd='/opt/bin/check-grid.sh --host 0.0.0.0 --port 4444' \ --health-interval=15s --health-timeout=30s --health-retries=5 \ - selenium/hub:4.15.0-20231129 + selenium/hub:4.16.0-20231206 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-chrome:4.15.0-20231129 + selenium/node-chrome:4.16.0-20231206 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-edge:4.15.0-20231129 + selenium/node-edge:4.16.0-20231206 $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-firefox:4.15.0-20231129 + selenium/node-firefox:4.16.0-20231206 ``` **Note:** The `\` line delimiter won't work on Windows-based terminals, try either `^` or a backtick. @@ -1114,7 +1114,7 @@ RUN mkdir -p -m755 /seluser/.pki/nssdb \ && chown -R 1200:1201 /seluser # Start from Selenium image and add relevant files from build image -FROM selenium/node-chrome:4.15.0-20231129 +FROM selenium/node-chrome:4.16.0-20231206 USER root COPY --from=build /seluser/ /home/seluser/ USER seluser @@ -1129,7 +1129,7 @@ RUN mkdir -p "/distribution" "/certs" && \ echo '{ "policies": { "Certificates": { "Install": ["/opt/firefox-latest/YOUR_CA.pem"] }} }' >"/distribution/policies.json" # Start from Selenium image and add relevant files from build image -FROM selenium/node-firefox:4.15.0-20231129 +FROM selenium/node-firefox:4.16.0-20231206 USER root COPY --from=build /certs /opt/firefox-latest COPY --from=build /distribution /opt/firefox-latest/distribution @@ -1152,9 +1152,9 @@ You can override it with the `SE_VNC_PORT` environment variable in case you want Here is an example with the standalone images, the same concept applies to the node images. ``` bash -$ docker run -d -p 4444:4444 -p 5900:5900 --shm-size="2g" selenium/standalone-chrome:4.15.0-20231129 -$ docker run -d -p 4445:4444 -p 5901:5900 --shm-size="2g" selenium/standalone-edge:4.15.0-20231129 -$ docker run -d -p 4446:4444 -p 5902:5900 --shm-size="2g" selenium/standalone-firefox:4.15.0-20231129 +$ docker run -d -p 4444:4444 -p 5900:5900 --shm-size="2g" selenium/standalone-chrome:4.16.0-20231206 +$ docker run -d -p 4445:4444 -p 5901:5900 --shm-size="2g" selenium/standalone-edge:4.16.0-20231206 +$ docker run -d -p 4446:4444 -p 5902:5900 --shm-size="2g" selenium/standalone-firefox:4.16.0-20231206 ``` Then, you would use in your VNC client: @@ -1180,9 +1180,9 @@ You can also override it with the `SE_NO_VNC_PORT` environment variable in case Here is an example with the standalone images, the same concept applies to the node images. ``` bash -$ docker run -d -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-chrome:4.15.0-20231129 -$ docker run -d -p 4445:4444 -p 7901:7900 --shm-size="2g" selenium/standalone-edge:4.15.0-20231129 -$ docker run -d -p 4446:4444 -p 7902:7900 --shm-size="2g" selenium/standalone-firefox:4.15.0-20231129 +$ docker run -d -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-chrome:4.16.0-20231206 +$ docker run -d -p 4445:4444 -p 7901:7900 --shm-size="2g" selenium/standalone-edge:4.16.0-20231206 +$ docker run -d -p 4446:4444 -p 7902:7900 --shm-size="2g" selenium/standalone-firefox:4.16.0-20231206 ``` Then, you would use in your browser: @@ -1207,28 +1207,28 @@ In order to enable tracing in the Selenium Grid container, the following command ```bash docker network create grid docker run -d -p 16686:16686 -p 14250:14250 --net grid --name jaeger jaegertracing/all-in-one:1.17 -docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.15.0-20231129 +docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.16.0-20231206 docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_ENABLE_TRACING=true \ -e JAVA_OPTS="-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-chrome" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-chrome:4.15.0-20231129 + selenium/node-chrome:4.16.0-20231206 docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_ENABLE_TRACING=true \ -e JAVA_OPTS="-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-edge" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-edge:4.15.0-20231129 + selenium/node-edge:4.16.0-20231206 docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \ --shm-size="2g" \ -e SE_ENABLE_TRACING=true \ -e JAVA_OPTS="-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-firefox" \ -e SE_EVENT_BUS_PUBLISH_PORT=4442 \ -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \ - selenium/node-firefox:4.15.0-20231129 + selenium/node-firefox:4.16.0-20231206 ``` You can also refer to the below docker-compose yaml files to be able to start a simple grid (or) a dynamic grid. @@ -1288,7 +1288,7 @@ container in the following way: ```bash docker run -d -p 4444:4444 --shm-size="2g" \ -v /home/ubuntu/files:/home/seluser/files \ - selenium/standalone-chrome:4.15.0-20231129 + selenium/standalone-chrome:4.16.0-20231206 ``` That will mount the host `/home/ubuntu/files` directory diff --git a/charts/selenium-grid/CHANGELOG.md b/charts/selenium-grid/CHANGELOG.md index c33ad3691..4f3e5f405 100644 --- a/charts/selenium-grid/CHANGELOG.md +++ b/charts/selenium-grid/CHANGELOG.md @@ -5,7 +5,7 @@ All notable changes to this helm chart will be documented in this file. ## :heavy_check_mark: 0.25.3 ### Changed -- Update image tag to 4.15.0-20231129 +- Update image tag to 4.16.0-20231206 - Update tag in docs and files :: Selenium CI Bot - test: Add sanity test for download file (#2034) [deploy] :: Viet Nguyen Duc - feat(chart): distribution registry can be set global and individual component (#2030) :: Viet Nguyen Duc diff --git a/charts/selenium-grid/Chart.yaml b/charts/selenium-grid/Chart.yaml index a66c44217..a3e55bf71 100644 --- a/charts/selenium-grid/Chart.yaml +++ b/charts/selenium-grid/Chart.yaml @@ -2,8 +2,8 @@ apiVersion: v2 name: selenium-grid description: A Helm chart for creating a Selenium Grid Server in Kubernetes type: application -version: 0.25.3 -appVersion: 4.15.0-20231129 +version: 0.26.0 +appVersion: 4.16.0-20231206 icon: https://github.com/SeleniumHQ/docker-selenium/raw/trunk/logo.png dependencies: - repository: https://kedacore.github.io/charts diff --git a/charts/selenium-grid/README.md b/charts/selenium-grid/README.md index 1e2ee6bac..9fb094507 100644 --- a/charts/selenium-grid/README.md +++ b/charts/selenium-grid/README.md @@ -134,9 +134,9 @@ For now, global configuration supported is: | Parameter | Default | Description | |---------------------------------------|-----------------------|---------------------------------------| | `global.seleniumGrid.imageRegistry` | `selenium` | Distribution registry to pull images | -| `global.seleniumGrid.imageTag` | `4.15.0-20231129` | Image tag for all selenium components | -| `global.seleniumGrid.nodesImageTag` | `4.15.0-20231129` | Image tag for browser's nodes | -| `global.seleniumGrid.videoImageTag` | `ffmpeg-6.1-20231129` | Image tag for browser's video recoder | +| `global.seleniumGrid.imageTag` | `4.16.0-20231206` | Image tag for all selenium components | +| `global.seleniumGrid.nodesImageTag` | `4.16.0-20231206` | Image tag for browser's nodes | +| `global.seleniumGrid.videoImageTag` | `ffmpeg-6.1-20231206` | Image tag for browser's video recoder | | `global.seleniumGrid.imagePullSecret` | `""` | Pull secret to be used for all images | | `global.seleniumGrid.imagePullSecret` | `""` | Pull secret to be used for all images | | `global.seleniumGrid.affinity` | `{}` | Affinity assigned globally | @@ -182,7 +182,7 @@ This table contains the configuration parameters of the chart and their default | `chromeNode.replicas` | `1` | Number of chrome nodes. Disabled if autoscaling is enabled. | | `chromeNode.imageRegistry` | `nil` | Distribution registry to pull the image (this overwrites `.global.seleniumGrid.imageRegistry` value) | | `chromeNode.imageName` | `node-chrome` | Image of chrome nodes | -| `chromeNode.imageTag` | `4.15.0-20231129` | Image of chrome nodes | +| `chromeNode.imageTag` | `4.16.0-20231206` | Image of chrome nodes | | `chromeNode.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | | `chromeNode.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | | `chromeNode.ports` | `[5555]` | Port list to enable on container | @@ -222,7 +222,7 @@ This table contains the configuration parameters of the chart and their default | `firefoxNode.replicas` | `1` | Number of firefox nodes. Disabled if autoscaling is enabled. | | `firefoxNode.imageRegistry` | `nil` | Distribution registry to pull the image (this overwrites `.global.seleniumGrid.imageRegistry` value) | | `firefoxNode.imageName` | `node-firefox` | Image of firefox nodes | -| `firefoxNode.imageTag` | `4.15.0-20231129` | Image of firefox nodes | +| `firefoxNode.imageTag` | `4.16.0-20231206` | Image of firefox nodes | | `firefoxNode.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | | `firefoxNode.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | | `firefoxNode.ports` | `[5555]` | Port list to enable on container | @@ -262,7 +262,7 @@ This table contains the configuration parameters of the chart and their default | `edgeNode.replicas` | `1` | Number of edge nodes. Disabled if autoscaling is enabled. | | `edgeNode.imageRegistry` | `nil` | Distribution registry to pull the image (this overwrites `.global.seleniumGrid.imageRegistry` value) | | `edgeNode.imageName` | `node-edge` | Image of edge nodes | -| `edgeNode.imageTag` | `4.15.0-20231129` | Image of edge nodes | +| `edgeNode.imageTag` | `4.16.0-20231206` | Image of edge nodes | | `edgeNode.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | | `edgeNode.imagePullSecret` | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry) | | `edgeNode.ports` | `[5555]` | Port list to enable on container | @@ -300,7 +300,7 @@ This table contains the configuration parameters of the chart and their default | `videoRecorder.enabled` | `false` | Enable video recorder for node | | `videoRecorder.imageRegistry` | `nil` | Distribution registry to pull the image (this overwrites `.global.seleniumGrid.imageRegistry` value) | | `videoRecorder.imageName` | `video` | Selenium video recoder image name | -| `videoRecorder.imageTag` | `ffmpeg-6.1-20231129` | Image tag of video recorder | +| `videoRecorder.imageTag` | `ffmpeg-6.1-20231206` | Image tag of video recorder | | `videoRecorder.imagePullPolicy` | `IfNotPresent` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) | | `videoRecorder.uploader` | `false` | Name of the uploader to use. The value `false` is used to disable uploader. Supported default `s3` | | `videoRecorder.uploadDestinationPrefix` | `false` | Destination URL for uploading video file. The value `false` is used to disable the uploading | diff --git a/charts/selenium-grid/values.yaml b/charts/selenium-grid/values.yaml index 008d53b3b..ae9840ce5 100644 --- a/charts/selenium-grid/values.yaml +++ b/charts/selenium-grid/values.yaml @@ -3,11 +3,11 @@ global: # Image registry for all selenium components imageRegistry: selenium # Image tag for all selenium components - imageTag: 4.15.0-20231129 + imageTag: 4.16.0-20231206 # Image tag for browser's nodes - nodesImageTag: 4.15.0-20231129 + nodesImageTag: 4.16.0-20231206 # Image tag for browser's video recorder - videoImageTag: ffmpeg-6.1-20231129 + videoImageTag: ffmpeg-6.1-20231206 # Pull secret for all components, can be overridden individually imagePullSecret: "" @@ -77,7 +77,7 @@ components: # Router image name imageName: router # Router image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.15.0-20231129 + # imageTag: 4.16.0-20231206 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent @@ -129,7 +129,7 @@ components: # Distributor image name imageName: distributor # Distributor image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.15.0-20231129 + # imageTag: 4.16.0-20231206 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent @@ -161,7 +161,7 @@ components: # Event Bus image name imageName: event-bus # Event Bus image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.15.0-20231129 + # imageTag: 4.16.0-20231206 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent @@ -197,7 +197,7 @@ components: # Session Map image name imageName: sessions # Session Map image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.15.0-20231129 + # imageTag: 4.16.0-20231206 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent @@ -228,7 +228,7 @@ components: # Session Queue image name imageName: session-queue # Session Queue image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.15.0-20231129 + # imageTag: 4.16.0-20231206 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent @@ -279,7 +279,7 @@ hub: # Selenium Hub image name imageName: hub # Selenium Hub image tag (this overwrites global.seleniumGrid.imageTag parameter) - # imageTag: 4.15.0-20231129 + # imageTag: 4.16.0-20231206 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent # Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) @@ -420,7 +420,7 @@ chromeNode: # Image of chrome nodes imageName: node-chrome # Image of chrome nodes (this overwrites global.seleniumGrid.nodesImageTag) - # imageTag: 4.15.0-20231129 + # imageTag: 4.16.0-20231206 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent # Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) @@ -553,7 +553,7 @@ firefoxNode: # Image of firefox nodes imageName: node-firefox # Image of firefox nodes (this overwrites global.seleniumGrid.nodesImageTag) - # imageTag: 4.15.0-20231129 + # imageTag: 4.16.0-20231206 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent # Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) @@ -683,7 +683,7 @@ edgeNode: # Image of edge nodes imageName: node-edge # Image of edge nodes (this overwrites global.seleniumGrid.nodesImageTag) - # imageTag: 4.15.0-20231129 + # imageTag: 4.16.0-20231206 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent # Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) @@ -802,7 +802,7 @@ videoRecorder: # Image of video recorder imageName: video # Image of video recorder - # imageTag: ffmpeg-6.1-20231129 + # imageTag: ffmpeg-6.1-20231206 # Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) imagePullPolicy: IfNotPresent # Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) diff --git a/docker-compose-v2-tracing.yml b/docker-compose-v2-tracing.yml index 9743f3465..fe06e3880 100644 --- a/docker-compose-v2-tracing.yml +++ b/docker-compose-v2-tracing.yml @@ -9,7 +9,7 @@ services: - "16686:16686" - "14250:14250" chrome: - image: selenium/node-chrome:4.15.0-20231129 + image: selenium/node-chrome:4.16.0-20231206 shm_size: 2gb depends_on: - selenium-hub @@ -23,7 +23,7 @@ services: - "6900:5900" edge: - image: selenium/node-edge:4.15.0-20231129 + image: selenium/node-edge:4.16.0-20231206 shm_size: 2gb depends_on: - selenium-hub @@ -37,7 +37,7 @@ services: - "6901:5900" firefox: - image: selenium/node-firefox:4.15.0-20231129 + image: selenium/node-firefox:4.16.0-20231206 shm_size: 2gb depends_on: - selenium-hub @@ -51,7 +51,7 @@ services: - "6902:5900" selenium-hub: - image: selenium/hub:4.15.0-20231129 + image: selenium/hub:4.16.0-20231206 ports: - "4442:4442" - "4443:4443" diff --git a/docker-compose-v2.yml b/docker-compose-v2.yml index 5fce484ec..7e2d9ecbf 100644 --- a/docker-compose-v2.yml +++ b/docker-compose-v2.yml @@ -4,7 +4,7 @@ version: '2' services: chrome: - image: selenium/node-chrome:4.15.0-20231129 + image: selenium/node-chrome:4.16.0-20231206 shm_size: 2gb depends_on: - selenium-hub @@ -16,7 +16,7 @@ services: - "6900:5900" edge: - image: selenium/node-edge:4.15.0-20231129 + image: selenium/node-edge:4.16.0-20231206 shm_size: 2gb depends_on: - selenium-hub @@ -28,7 +28,7 @@ services: - "6901:5900" firefox: - image: selenium/node-firefox:4.15.0-20231129 + image: selenium/node-firefox:4.16.0-20231206 shm_size: 2gb depends_on: - selenium-hub @@ -40,7 +40,7 @@ services: - "6902:5900" selenium-hub: - image: selenium/hub:4.15.0-20231129 + image: selenium/hub:4.16.0-20231206 ports: - "4442:4442" - "4443:4443" diff --git a/docker-compose-v3-basicauth.yml b/docker-compose-v3-basicauth.yml index 37ab13ab9..bed795e21 100644 --- a/docker-compose-v3-basicauth.yml +++ b/docker-compose-v3-basicauth.yml @@ -4,7 +4,7 @@ version: "3" services: chrome: - image: selenium/node-chrome:4.15.0-20231129 + image: selenium/node-chrome:4.16.0-20231206 shm_size: 2gb depends_on: - selenium-hub @@ -14,7 +14,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.15.0-20231129 + image: selenium/node-edge:4.16.0-20231206 shm_size: 2gb depends_on: - selenium-hub @@ -24,7 +24,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.15.0-20231129 + image: selenium/node-firefox:4.16.0-20231206 shm_size: 2gb depends_on: - selenium-hub @@ -34,7 +34,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-hub: - image: selenium/hub:4.15.0-20231129 + image: selenium/hub:4.16.0-20231206 container_name: selenium-hub ports: - "4442:4442" diff --git a/docker-compose-v3-dev.yml b/docker-compose-v3-dev.yml index d1560f30e..029f4311e 100644 --- a/docker-compose-v3-dev.yml +++ b/docker-compose-v3-dev.yml @@ -4,7 +4,7 @@ version: "3" services: chrome: - image: selenium/node-chrome:4.15.0-20231129 + image: selenium/node-chrome:4.16.0-20231206 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar @@ -16,7 +16,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.15.0-20231129 + image: selenium/node-edge:4.16.0-20231206 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar @@ -28,7 +28,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.15.0-20231129 + image: selenium/node-firefox:4.16.0-20231206 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar @@ -40,7 +40,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-hub: - image: selenium/hub:4.15.0-20231129 + image: selenium/hub:4.16.0-20231206 container_name: selenium-hub volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar diff --git a/docker-compose-v3-dynamic-grid.yml b/docker-compose-v3-dynamic-grid.yml index 50d125d8b..6655e1166 100644 --- a/docker-compose-v3-dynamic-grid.yml +++ b/docker-compose-v3-dynamic-grid.yml @@ -4,7 +4,7 @@ version: "3" services: node-docker: - image: selenium/node-docker:4.15.0-20231129 + image: selenium/node-docker:4.16.0-20231206 volumes: - ./assets:/opt/selenium/assets - ./NodeDocker/config.toml:/opt/bin/config.toml @@ -17,7 +17,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-hub: - image: selenium/hub:4.15.0-20231129 + image: selenium/hub:4.16.0-20231206 container_name: selenium-hub ports: - "4442:4442" diff --git a/docker-compose-v3-full-grid-dev.yml b/docker-compose-v3-full-grid-dev.yml index 7e5a7ffd0..d7ceddceb 100644 --- a/docker-compose-v3-full-grid-dev.yml +++ b/docker-compose-v3-full-grid-dev.yml @@ -4,7 +4,7 @@ version: "3" services: selenium-event-bus: - image: selenium/event-bus:4.15.0-20231129 + image: selenium/event-bus:4.16.0-20231206 volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar container_name: selenium-event-bus @@ -14,7 +14,7 @@ services: - "5557:5557" selenium-sessions: - image: selenium/sessions:4.15.0-20231129 + image: selenium/sessions:4.16.0-20231206 volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar container_name: selenium-sessions @@ -28,7 +28,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-session-queue: - image: selenium/session-queue:4.15.0-20231129 + image: selenium/session-queue:4.16.0-20231206 volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar container_name: selenium-session-queue @@ -36,7 +36,7 @@ services: - "5559:5559" selenium-distributor: - image: selenium/distributor:4.15.0-20231129 + image: selenium/distributor:4.16.0-20231206 volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar container_name: selenium-distributor @@ -56,7 +56,7 @@ services: - SE_SESSION_QUEUE_PORT=5559 selenium-router: - image: selenium/router:4.15.0-20231129 + image: selenium/router:4.16.0-20231206 volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar container_name: selenium-router @@ -75,7 +75,7 @@ services: - SE_SESSION_QUEUE_PORT=5559 chrome: - image: selenium/node-chrome:4.15.0-20231129 + image: selenium/node-chrome:4.16.0-20231206 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar @@ -87,7 +87,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.15.0-20231129 + image: selenium/node-edge:4.16.0-20231206 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar @@ -99,7 +99,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.15.0-20231129 + image: selenium/node-firefox:4.16.0-20231206 shm_size: 2gb volumes: - ./selenium_server_deploy.jar:/opt/selenium/selenium-server.jar diff --git a/docker-compose-v3-full-grid-swarm.yml b/docker-compose-v3-full-grid-swarm.yml index eef813159..08175c05e 100644 --- a/docker-compose-v3-full-grid-swarm.yml +++ b/docker-compose-v3-full-grid-swarm.yml @@ -7,7 +7,7 @@ version: '3.7' services: chrome: - image: selenium/node-chrome:4.15.0-20231129 + image: selenium/node-chrome:4.16.0-20231206 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -18,7 +18,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' edge: - image: selenium/node-edge:4.15.0-20231129 + image: selenium/node-edge:4.16.0-20231206 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -29,7 +29,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' firefox: - image: selenium/node-firefox:4.15.0-20231129 + image: selenium/node-firefox:4.16.0-20231206 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -40,7 +40,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' selenium-hub: - image: selenium/hub:4.15.0-20231129 + image: selenium/hub:4.16.0-20231206 ports: - "4442:4442" - "4443:4443" diff --git a/docker-compose-v3-full-grid-tracing.yml b/docker-compose-v3-full-grid-tracing.yml index efba7cb49..9596c563f 100644 --- a/docker-compose-v3-full-grid-tracing.yml +++ b/docker-compose-v3-full-grid-tracing.yml @@ -9,7 +9,7 @@ services: - "16686:16686" - "14250:14250" selenium-event-bus: - image: selenium/event-bus:4.15.0-20231129 + image: selenium/event-bus:4.16.0-20231206 container_name: selenium-event-bus ports: - "4442:4442" @@ -21,7 +21,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-event-bus selenium-sessions: - image: selenium/sessions:4.15.0-20231129 + image: selenium/sessions:4.16.0-20231206 container_name: selenium-sessions ports: - "5556:5556" @@ -34,7 +34,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-sessions selenium-session-queue: - image: selenium/session-queue:4.15.0-20231129 + image: selenium/session-queue:4.16.0-20231206 container_name: selenium-session-queue ports: - "5559:5559" @@ -42,7 +42,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-session-queue selenium-distributor: - image: selenium/distributor:4.15.0-20231129 + image: selenium/distributor:4.16.0-20231206 container_name: selenium-distributor ports: - "5553:5553" @@ -61,7 +61,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-distributor selenium-router: - image: selenium/router:4.15.0-20231129 + image: selenium/router:4.16.0-20231206 container_name: selenium-router ports: - "4444:4444" @@ -79,7 +79,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-router chrome: - image: selenium/node-chrome:4.15.0-20231129 + image: selenium/node-chrome:4.16.0-20231206 shm_size: 2gb depends_on: - selenium-event-bus @@ -90,7 +90,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-chrome edge: - image: selenium/node-edge:4.15.0-20231129 + image: selenium/node-edge:4.16.0-20231206 shm_size: 2gb depends_on: - selenium-event-bus @@ -101,7 +101,7 @@ services: - SE_ENABLE_TRACING=true - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-edge firefox: - image: selenium/node-firefox:4.15.0-20231129 + image: selenium/node-firefox:4.16.0-20231206 shm_size: 2gb depends_on: - selenium-event-bus diff --git a/docker-compose-v3-full-grid.yml b/docker-compose-v3-full-grid.yml index 1c23a5f88..6c3a08a1c 100644 --- a/docker-compose-v3-full-grid.yml +++ b/docker-compose-v3-full-grid.yml @@ -4,7 +4,7 @@ version: "3" services: selenium-event-bus: - image: selenium/event-bus:4.15.0-20231129 + image: selenium/event-bus:4.16.0-20231206 container_name: selenium-event-bus ports: - "4442:4442" @@ -12,7 +12,7 @@ services: - "5557:5557" selenium-sessions: - image: selenium/sessions:4.15.0-20231129 + image: selenium/sessions:4.16.0-20231206 container_name: selenium-sessions ports: - "5556:5556" @@ -24,13 +24,13 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-session-queue: - image: selenium/session-queue:4.15.0-20231129 + image: selenium/session-queue:4.16.0-20231206 container_name: selenium-session-queue ports: - "5559:5559" selenium-distributor: - image: selenium/distributor:4.15.0-20231129 + image: selenium/distributor:4.16.0-20231206 container_name: selenium-distributor ports: - "5553:5553" @@ -48,7 +48,7 @@ services: - SE_SESSION_QUEUE_PORT=5559 selenium-router: - image: selenium/router:4.15.0-20231129 + image: selenium/router:4.16.0-20231206 container_name: selenium-router ports: - "4444:4444" @@ -65,7 +65,7 @@ services: - SE_SESSION_QUEUE_PORT=5559 chrome: - image: selenium/node-chrome:4.15.0-20231129 + image: selenium/node-chrome:4.16.0-20231206 shm_size: 2gb depends_on: - selenium-event-bus @@ -75,7 +75,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.15.0-20231129 + image: selenium/node-edge:4.16.0-20231206 shm_size: 2gb depends_on: - selenium-event-bus @@ -85,7 +85,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.15.0-20231129 + image: selenium/node-firefox:4.16.0-20231206 shm_size: 2gb depends_on: - selenium-event-bus diff --git a/docker-compose-v3-swarm.yml b/docker-compose-v3-swarm.yml index eef813159..08175c05e 100644 --- a/docker-compose-v3-swarm.yml +++ b/docker-compose-v3-swarm.yml @@ -7,7 +7,7 @@ version: '3.7' services: chrome: - image: selenium/node-chrome:4.15.0-20231129 + image: selenium/node-chrome:4.16.0-20231206 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -18,7 +18,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' edge: - image: selenium/node-edge:4.15.0-20231129 + image: selenium/node-edge:4.16.0-20231206 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -29,7 +29,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' firefox: - image: selenium/node-firefox:4.15.0-20231129 + image: selenium/node-firefox:4.16.0-20231206 shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub @@ -40,7 +40,7 @@ services: entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' selenium-hub: - image: selenium/hub:4.15.0-20231129 + image: selenium/hub:4.16.0-20231206 ports: - "4442:4442" - "4443:4443" diff --git a/docker-compose-v3-tracing.yml b/docker-compose-v3-tracing.yml index 1e5fb3e10..1f81cc6b9 100644 --- a/docker-compose-v3-tracing.yml +++ b/docker-compose-v3-tracing.yml @@ -9,7 +9,7 @@ services: - "16686:16686" - "14250:14250" chrome: - image: selenium/node-chrome:4.15.0-20231129 + image: selenium/node-chrome:4.16.0-20231206 shm_size: 2gb depends_on: - selenium-hub @@ -21,7 +21,7 @@ services: - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-chrome edge: - image: selenium/node-edge:4.15.0-20231129 + image: selenium/node-edge:4.16.0-20231206 shm_size: 2gb depends_on: - selenium-hub @@ -33,7 +33,7 @@ services: - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-edge firefox: - image: selenium/node-firefox:4.15.0-20231129 + image: selenium/node-firefox:4.16.0-20231206 shm_size: 2gb depends_on: - selenium-hub @@ -45,7 +45,7 @@ services: - JAVA_OPTS=-Dotel.traces.exporter=jaeger -Dotel.exporter.jaeger.endpoint=http://jaegar:14250 -Dotel.resource.attributes=service.name=selenium-node-firefox selenium-hub: - image: selenium/hub:4.15.0-20231129 + image: selenium/hub:4.16.0-20231206 container_name: selenium-hub ports: - "4442:4442" diff --git a/docker-compose-v3-video.yml b/docker-compose-v3-video.yml index 6f044bece..9ae22f29b 100644 --- a/docker-compose-v3-video.yml +++ b/docker-compose-v3-video.yml @@ -4,7 +4,7 @@ version: "3" services: chrome: - image: selenium/node-chrome:4.15.0-20231129 + image: selenium/node-chrome:4.16.0-20231206 shm_size: 2gb depends_on: - selenium-hub @@ -14,7 +14,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.15.0-20231129 + image: selenium/node-edge:4.16.0-20231206 shm_size: 2gb depends_on: - selenium-hub @@ -24,7 +24,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.15.0-20231129 + image: selenium/node-firefox:4.16.0-20231206 shm_size: 2gb depends_on: - selenium-hub @@ -34,7 +34,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 chrome_video: - image: selenium/video:ffmpeg-6.1-20231129 + image: selenium/video:ffmpeg-6.1-20231206 volumes: - /tmp/videos:/videos depends_on: @@ -44,7 +44,7 @@ services: - FILE_NAME=chrome_video.mp4 edge_video: - image: selenium/video:ffmpeg-6.1-20231129 + image: selenium/video:ffmpeg-6.1-20231206 volumes: - /tmp/videos:/videos depends_on: @@ -54,7 +54,7 @@ services: - FILE_NAME=edge_video.mp4 firefox_video: - image: selenium/video:ffmpeg-6.1-20231129 + image: selenium/video:ffmpeg-6.1-20231206 volumes: - /tmp/videos:/videos depends_on: @@ -64,7 +64,7 @@ services: - FILE_NAME=firefox_video.mp4 selenium-hub: - image: selenium/hub:4.15.0-20231129 + image: selenium/hub:4.16.0-20231206 container_name: selenium-hub ports: - "4442:4442" diff --git a/docker-compose-v3.yml b/docker-compose-v3.yml index 1badb813a..e24d65ad8 100644 --- a/docker-compose-v3.yml +++ b/docker-compose-v3.yml @@ -4,7 +4,7 @@ version: "3" services: chrome: - image: selenium/node-chrome:4.15.0-20231129 + image: selenium/node-chrome:4.16.0-20231206 shm_size: 2gb depends_on: - selenium-hub @@ -14,7 +14,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 edge: - image: selenium/node-edge:4.15.0-20231129 + image: selenium/node-edge:4.16.0-20231206 shm_size: 2gb depends_on: - selenium-hub @@ -24,7 +24,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 firefox: - image: selenium/node-firefox:4.15.0-20231129 + image: selenium/node-firefox:4.16.0-20231206 shm_size: 2gb depends_on: - selenium-hub @@ -34,7 +34,7 @@ services: - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 selenium-hub: - image: selenium/hub:4.15.0-20231129 + image: selenium/hub:4.16.0-20231206 container_name: selenium-hub ports: - "4442:4442" From 915f39a84de698997c464e8c99fbde6304ecfb27 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 7 Dec 2023 11:00:08 +0100 Subject: [PATCH 71/84] Bump actions/setup-python from 4.8.0 to 5.0.0 (#2050) Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4.8.0 to 5.0.0. - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](https://github.com/actions/setup-python/compare/v4.8.0...v5.0.0) --- updated-dependencies: - dependency-name: actions/setup-python dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/build-test.yml | 2 +- .github/workflows/helm-chart-test.yml | 2 +- .github/workflows/test-video.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index bbed4d9fc..b40db3af6 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -19,7 +19,7 @@ jobs: - name: Output Docker info run: docker info - name: Set up Python - uses: actions/setup-python@v4.8.0 + uses: actions/setup-python@v5.0.0 with: python-version: '3.11' check-latest: true diff --git a/.github/workflows/helm-chart-test.yml b/.github/workflows/helm-chart-test.yml index 3a8865f09..7c34c5eb9 100644 --- a/.github/workflows/helm-chart-test.yml +++ b/.github/workflows/helm-chart-test.yml @@ -20,7 +20,7 @@ jobs: - name: Output Docker info run: docker info - name: Set up Python - uses: actions/setup-python@v4.8.0 + uses: actions/setup-python@v5.0.0 with: python-version: '3.11' check-latest: true diff --git a/.github/workflows/test-video.yml b/.github/workflows/test-video.yml index 22d536297..65b2241f2 100644 --- a/.github/workflows/test-video.yml +++ b/.github/workflows/test-video.yml @@ -16,7 +16,7 @@ jobs: - name: Output Docker info run: docker info - name: Set up Python - uses: actions/setup-python@v4.8.0 + uses: actions/setup-python@v5.0.0 with: python-version: '3.11' check-latest: true From 84e8b991adde4b5cd459be43f3333f4c126536c7 Mon Sep 17 00:00:00 2001 From: James Mortensen Date: Sat, 9 Dec 2023 20:29:05 +0530 Subject: [PATCH 72/84] Fix build scripts so the RELEASE variable is used. --- .circleci/config.yml | 7 ++++++- Base/Dockerfile | 2 +- build-and-push.sh | 4 ++-- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index be6808bd9..f0f05a588 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -205,6 +205,8 @@ jobs: BUILD_ARGS: << parameters.build-args >> MAKE_TARGETS: << parameters.make-targets >> DEPLOY_BRANCH: trunk + RELEASE: selenium-4.16.0 + SELENIUM_VERSION: 4.16.1 GITHUB_USER: seleniumhq-community GITHUB_REPO: docker-seleniarm steps: @@ -227,7 +229,7 @@ jobs: - run: name: "Prepare workflow environment variables" command: | - export SELENIUM_VERSION=$(grep selenium-server Base/Dockerfile | sed 's/.*-\([^-]*\)\.jar \\/\1/' | head -n 1) + #export SELENIUM_VERSION=$(grep selenium-server Base/Dockerfile | sed 's/.*-\([^-]*\)\.jar \\/\1/' | head -n 1) echo "Prepare workflow environment variables" echo 'export BRANCH='$SELENIUM_VERSION >> $BASH_ENV echo 'export BUILD_DATE=$(date '+%Y%m%d')' >> $BASH_ENV @@ -244,6 +246,8 @@ jobs: echo DEPLOY_BRANCH="$DEPLOY_BRANCH" echo GITHUB_USER="$GITHUB_USER" echo GITHUB_REPO="$GITHUB_REPO" + echo SELENIUM_VERSION="$SELENIUM_VERSION" + echo RELEASE="$RELEASE" - run: uname -a - run: docker info - run: @@ -277,6 +281,7 @@ jobs: export NAME=${NAMESPACE} export VERSION=${BRANCH} + export RELEASE=${RELEASE} export BUILD_DATE=${BUILD_DATE} export PLATFORMS=${PLATFORMS} export BUILD_ARGS=${BUILD_ARGS} diff --git a/Base/Dockerfile b/Base/Dockerfile index 1983b14be..75d3280b0 100644 --- a/Base/Dockerfile +++ b/Base/Dockerfile @@ -22,7 +22,7 @@ ARG TARGETVARIANT # No interactive frontend during docker build ENV DEBIAN_FRONTEND=noninteractive \ DEBCONF_NONINTERACTIVE_SEEN=true - +RUN echo "VERSION is $VERSION" && echo "RELEASE is $RELEASE" #======================== # Miscellaneous packages diff --git a/build-and-push.sh b/build-and-push.sh index 9f237fc8e..82f960b2d 100644 --- a/build-and-push.sh +++ b/build-and-push.sh @@ -1,6 +1,6 @@ #!/bin/bash -SELENIUM_VERSION=$(grep selenium-server Base/Dockerfile | sed 's/.*-\([^-]*\)\.jar \\/\1/' | head -n 1) +#SELENIUM_VERSION=$(grep selenium-server Base/Dockerfile | sed 's/.*-\([^-]*\)\.jar \\/\1/' | head -n 1) NAME="${NAME:-seleniarm}" VERSION="${VERSION:-$SELENIUM_VERSION}" BUILD_DATE="${BUILD_DATE:-$(date '+%Y%m%d')}" @@ -19,7 +19,7 @@ docker run --rm --privileged aptman/qus -- -r docker run --rm --privileged aptman/qus -s -- -p if [ "$1" = "base_multi" ]; then - cd ./Base && docker buildx build --platform ${PLATFORMS} ${BUILD_ARGS} -t ${NAME}/base:${TAG_VERSION} . + cd ./Base && docker buildx build --platform ${PLATFORMS} ${BUILD_ARGS} --build-arg RELEASE=${RELEASE} --build-arg VERSION=${VERSION} -t ${NAME}/base:${TAG_VERSION} . elif [ "$1" = "grid_multi" ]; then cd ./Hub && docker buildx build --platform ${PLATFORMS} ${BUILD_ARGS} ${FROM_IMAGE_ARGS} -t ${NAME}/hub:${TAG_VERSION} . From b643b84434212194f176cbaae9f04c26f95d8042 Mon Sep 17 00:00:00 2001 From: James Mortensen Date: Sat, 9 Dec 2023 20:58:24 +0530 Subject: [PATCH 73/84] Fix Makefile - add BASE_RELEASE and BASE_VERSION to the base_multi action --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index b300b39f8..14a345840 100644 --- a/Makefile +++ b/Makefile @@ -153,7 +153,7 @@ build_multi: all_multi ci_multi: build_multi test_multi_arch base_multi: qemu_user_static - cd ./Base && docker buildx build --platform $(PLATFORMS) $(BUILD_ARGS) -t $(NAME)/base:$(TAG_VERSION) . + cd ./Base && docker buildx build --platform $(PLATFORMS) $(BUILD_ARGS) --build-arg VERSION=$(BASE_VERSION) --build-arg RELEASE=$(BASE_RELEASE) -t $(NAME)/base:$(TAG_VERSION) . hub_multi: base_multi cd ./Hub && docker buildx build --platform $(PLATFORMS) $(BUILD_ARGS) $(FROM_IMAGE_ARGS) -t $(NAME)/hub:$(TAG_VERSION) . From 5169a5ccaaffbf7ec4df4cec74e784a3cf62bf04 Mon Sep 17 00:00:00 2001 From: James Mortensen Date: Sat, 9 Dec 2023 21:14:51 +0530 Subject: [PATCH 74/84] Adding locale to Chromium dockerfile. --- NodeChromium/Dockerfile | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/NodeChromium/Dockerfile b/NodeChromium/Dockerfile index 93e6a9d36..4d7df02ca 100644 --- a/NodeChromium/Dockerfile +++ b/NodeChromium/Dockerfile @@ -6,6 +6,10 @@ LABEL authors=${AUTHORS} USER root +ENV LANGUAGE=en_US.UTF-8 +ENV LC_ALL=en_US.UTF-8 +ENV LANG=en_US.UTF-8 + # Install Chromium # RUN echo "deb http://http.us.debian.org/debian/ stable non-free contrib main" >> /etc/apt/sources.list \ RUN echo "deb http://deb.debian.org/debian/ sid main" >> /etc/apt/sources.list \ From c92165e7b6270956f0785fbda5c160d8dfc5321c Mon Sep 17 00:00:00 2001 From: James Mortensen Date: Sat, 9 Dec 2023 21:21:42 +0530 Subject: [PATCH 75/84] Handle usrmerge issues https://wiki.debian.org/UsrMerge --- NodeChromium/Dockerfile | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/NodeChromium/Dockerfile b/NodeChromium/Dockerfile index 4d7df02ca..d6eab81dd 100644 --- a/NodeChromium/Dockerfile +++ b/NodeChromium/Dockerfile @@ -10,6 +10,10 @@ ENV LANGUAGE=en_US.UTF-8 ENV LC_ALL=en_US.UTF-8 ENV LANG=en_US.UTF-8 +# Deal with the usr merge issues in Debian +RUN dpkg --remove --force-all dpkg-fsys-usrunmess \ + && apt install usrmerge + # Install Chromium # RUN echo "deb http://http.us.debian.org/debian/ stable non-free contrib main" >> /etc/apt/sources.list \ RUN echo "deb http://deb.debian.org/debian/ sid main" >> /etc/apt/sources.list \ From d56b36863241b32265f85e6f8c8520bfbcd1c3cf Mon Sep 17 00:00:00 2001 From: James Mortensen Date: Sat, 9 Dec 2023 21:23:56 +0530 Subject: [PATCH 76/84] Just install usrmerge --- NodeChromium/Dockerfile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/NodeChromium/Dockerfile b/NodeChromium/Dockerfile index d6eab81dd..cbafb433f 100644 --- a/NodeChromium/Dockerfile +++ b/NodeChromium/Dockerfile @@ -11,8 +11,7 @@ ENV LC_ALL=en_US.UTF-8 ENV LANG=en_US.UTF-8 # Deal with the usr merge issues in Debian -RUN dpkg --remove --force-all dpkg-fsys-usrunmess \ - && apt install usrmerge +RUN apt install usrmerge # Install Chromium # RUN echo "deb http://http.us.debian.org/debian/ stable non-free contrib main" >> /etc/apt/sources.list \ From 69b5bfec3f7d84568ca12cb4b23b46c0a56cf7a3 Mon Sep 17 00:00:00 2001 From: James Mortensen Date: Sun, 10 Dec 2023 06:22:24 -0600 Subject: [PATCH 77/84] Try chromium without usrmerge. Upgrade Firefox to 120 --- NodeChromium/Dockerfile | 2 +- NodeFirefox/Dockerfile.multi-arch | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/NodeChromium/Dockerfile b/NodeChromium/Dockerfile index cbafb433f..3fc6406aa 100644 --- a/NodeChromium/Dockerfile +++ b/NodeChromium/Dockerfile @@ -11,7 +11,7 @@ ENV LC_ALL=en_US.UTF-8 ENV LANG=en_US.UTF-8 # Deal with the usr merge issues in Debian -RUN apt install usrmerge +#RUN apt install usrmerge # Install Chromium # RUN echo "deb http://http.us.debian.org/debian/ stable non-free contrib main" >> /etc/apt/sources.list \ diff --git a/NodeFirefox/Dockerfile.multi-arch b/NodeFirefox/Dockerfile.multi-arch index ec549e640..ca38d7cb8 100644 --- a/NodeFirefox/Dockerfile.multi-arch +++ b/NodeFirefox/Dockerfile.multi-arch @@ -11,6 +11,9 @@ ARG GECKODRIVER_VERSION=0.33.0 USER root +# Deal with the usr merge issues in Debian +#RUN apt install usrmerge + #========= # Firefox #========= @@ -24,7 +27,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/20231208T150859Z/pool/main/f/firefox/firefox_120.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 From 562ab74006e8731687c7d07f8e2a9bfe748a9578 Mon Sep 17 00:00:00 2001 From: James Mortensen Date: Sun, 10 Dec 2023 06:30:56 -0600 Subject: [PATCH 78/84] Add usrmerge to NodeChromium after setting sources. Split Firefox install into 2 runs for easier debugging --- NodeChromium/Dockerfile | 2 +- NodeFirefox/Dockerfile.multi-arch | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/NodeChromium/Dockerfile b/NodeChromium/Dockerfile index 3fc6406aa..e067bc9fe 100644 --- a/NodeChromium/Dockerfile +++ b/NodeChromium/Dockerfile @@ -22,7 +22,7 @@ RUN echo "deb http://deb.debian.org/debian/ sid main" >> /etc/apt/sources.list \ # && apt-get -qqy install chromium=93.0.4577.82-1 \ # && apt-get -qqy install chromium=97.0.4692.71-0.1 \ # && apt-get -qqy install chromium=98.0.4758.102-1+b1 \ - && apt-get -qqy install chromium \ + && apt-get -qqy install usrmerge chromium \ && rm -rf /var/lib/apt/lists/* /var/cache/apt/* #================================= diff --git a/NodeFirefox/Dockerfile.multi-arch b/NodeFirefox/Dockerfile.multi-arch index ca38d7cb8..19976756e 100644 --- a/NodeFirefox/Dockerfile.multi-arch +++ b/NodeFirefox/Dockerfile.multi-arch @@ -27,8 +27,9 @@ 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/20231208T150859Z/pool/main/f/firefox/firefox_120.0.1-1_`dpkg --print-architecture`.deb -O firefox.deb \ - && apt install ./firefox.deb -y \ + && wget https://snapshot.debian.org/archive/debian/20231208T150859Z/pool/main/f/firefox/firefox_120.0.1-1_`dpkg --print-architecture`.deb -O firefox.deb + +RUN apt install ./firefox.deb -y \ && rm -rf /var/lib/apt/lists/* /var/cache/apt/* ./firefox.deb #============= From 1a8d4a4090dc87572dbbc4e1ac3e8c0ad543057b Mon Sep 17 00:00:00 2001 From: James Mortensen Date: Tue, 19 Dec 2023 19:51:12 -0600 Subject: [PATCH 79/84] [deploy] test with debian bookworm update - was missing the browser_version and browser_binary_location from upstream. Java package openjdk no longer available in bookworm so replaced with temurin Co-authored-by: Fried Hoeben --- .circleci/config.yml | 4 ++-- Base/Dockerfile | 10 +++++++--- NodeBase/Dockerfile | 2 +- NodeChromium/Dockerfile | 14 ++++++++------ NodeFirefox/Dockerfile.multi-arch | 8 ++++++-- 5 files changed, 24 insertions(+), 14 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index f0f05a588..a337655c2 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -200,7 +200,7 @@ jobs: type: string executor: << parameters.machine-type >> environment: - NAMESPACE: seleniarm + NAMESPACE: jamesmortensen1 PLATFORMS: << parameters.platforms >> BUILD_ARGS: << parameters.build-args >> MAKE_TARGETS: << parameters.make-targets >> @@ -271,7 +271,7 @@ jobs: docker buildx ls # For release notes, we'll pull images anonymously without login. # if [ "$MAKE_TARGETS" != "tag_and_push_multi_arch_browser_images" ]; then - docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD" + docker login -u="$DOCKER_TEST_USERNAME" -p="$DOCKER_TEST_PASSWORD" # fi echo BRANCH="$BRANCH" echo BUILD_DATE="$BUILD_DATE" diff --git a/Base/Dockerfile b/Base/Dockerfile index 75d3280b0..ef79b22bc 100644 --- a/Base/Dockerfile +++ b/Base/Dockerfile @@ -5,7 +5,7 @@ #FROM ubuntu:focal-20220415 #FROM ubuntu:focal-20220531 #FROM ubuntu:focal-20230301 -FROM debian:bullseye +FROM debian:bookworm LABEL authors="Selenium " ARG VERSION @@ -34,7 +34,6 @@ RUN apt-get -qqy update \ acl \ bzip2 \ ca-certificates \ - openjdk-11-jre-headless \ tzdata \ sudo \ unzip \ @@ -43,6 +42,11 @@ RUN apt-get -qqy update \ curl \ supervisor \ gnupg2 \ + && mkdir -p /etc/apt/keyrings \ + && wget -O - https://packages.adoptium.net/artifactory/api/gpg/key/public | tee /etc/apt/keyrings/adoptium.asc \ + && 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 \ + && apt-get update -y \ + && apt-get install temurin-11-jre -y \ && rm -rf /var/lib/apt/lists/* /var/cache/apt/* #=================== @@ -52,7 +56,7 @@ RUN if [ $TARGETARCH = "arm" ] && [ $TARGETVARIANT = "v7" ]; then \ else \ export ARCH=$TARGETARCH ; \ fi \ - && sed -i 's/securerandom\.source=file:\/dev\/random/securerandom\.source=file:\/dev\/urandom/' ./usr/lib/jvm/java-11-openjdk-$ARCH/conf/security/java.security + && sed -i 's/securerandom\.source=file:\/dev\/random/securerandom\.source=file:\/dev\/urandom/' ./usr/lib/jvm/temurin-11-jre-$ARCH/conf/security/java.security #=================== diff --git a/NodeBase/Dockerfile b/NodeBase/Dockerfile index f315c1bfe..4ca8345fc 100644 --- a/NodeBase/Dockerfile +++ b/NodeBase/Dockerfile @@ -78,7 +78,7 @@ RUN apt-get -qqy update \ && apt-get -qqy --no-install-recommends install \ libfontconfig \ libfreetype6 \ - xfonts-cyrillic \ + #xfonts-cyrillic \ xfonts-scalable \ fonts-liberation \ fonts-ipafont-gothic \ diff --git a/NodeChromium/Dockerfile b/NodeChromium/Dockerfile index e067bc9fe..85e10c109 100644 --- a/NodeChromium/Dockerfile +++ b/NodeChromium/Dockerfile @@ -6,23 +6,23 @@ LABEL authors=${AUTHORS} USER root -ENV LANGUAGE=en_US.UTF-8 -ENV LC_ALL=en_US.UTF-8 -ENV LANG=en_US.UTF-8 +#ENV LANGUAGE=en_US.UTF-8 +#ENV LC_ALL=en_US.UTF-8 +#ENV LANG=en_US.UTF-8 # Deal with the usr merge issues in Debian #RUN apt install usrmerge # Install Chromium # RUN echo "deb http://http.us.debian.org/debian/ stable non-free contrib main" >> /etc/apt/sources.list \ -RUN echo "deb http://deb.debian.org/debian/ sid main" >> /etc/apt/sources.list \ +RUN echo "deb http://deb.debian.org/debian/ bookworm main" >> /etc/apt/sources.list \ && apt-get update -qqy \ # && apt-get -qqy install chromium=89.0.4389.82-1 \ # && apt-get -qqy install chromium=90.0.4430.212-1 \ # && apt-get -qqy install chromium=93.0.4577.82-1 \ # && apt-get -qqy install chromium=97.0.4692.71-0.1 \ # && apt-get -qqy install chromium=98.0.4758.102-1+b1 \ - && apt-get -qqy install usrmerge chromium \ + && apt-get -qqy install chromium \ && rm -rf /var/lib/apt/lists/* /var/cache/apt/* #================================= @@ -38,7 +38,9 @@ RUN apt-get update -qqy \ && apt-get -qqy install chromium-driver \ && rm -rf /var/lib/apt/lists/* /var/cache/apt/* -RUN echo "chromium" > /opt/selenium/browser_name +RUN echo "chrome" > /opt/selenium/browser_name +RUN chromium --version | awk '{print $2}' > /opt/selenium/browser_version +RUN echo "\"goog:chromeOptions\": {\"binary\": \"/usr/bin/chromium\"}" > /opt/selenium/browser_binary_location USER 1200 diff --git a/NodeFirefox/Dockerfile.multi-arch b/NodeFirefox/Dockerfile.multi-arch index 19976756e..93e7b64c5 100644 --- a/NodeFirefox/Dockerfile.multi-arch +++ b/NodeFirefox/Dockerfile.multi-arch @@ -55,9 +55,11 @@ RUN if [ $TARGETARCH = "arm" ] && [ $TARGETVARIANT = "v7" ]; then \ rm /tmp/geckodriver.tar.gz ; \ mkdir -p /opt/geckodriver-bin ; \ mv /tmp/geckodriver /opt/geckodriver-bin/geckodriver ; \ - echo "Symlinking geckodriver to /usr/local/bin/geckodriver" ; \ + echo "Symlinking geckodriver to /usr/local/bin/geckodriver and /usr/bin/geckodriver" ; \ ln -s /opt/geckodriver-bin/geckodriver /usr/local/bin/geckodriver ; \ - chmod 755 /usr/local/bin/geckodriver + chmod 755 /usr/local/bin/geckodriver ; \ + ln -s /opt/geckodriver-bin/geckodriver /usr/bin/geckodriver ; \ + chmod 755 /usr/bin/geckodriver USER 1200 @@ -65,3 +67,5 @@ USER 1200 # Dumping Browser name and version for config #============================================ RUN echo "firefox" > /opt/selenium/browser_name +RUN firefox --version | awk '{print $3}' > /opt/selenium/browser_version +RUN echo "\"moz:firefoxOptions\": {\"binary\": \"/usr/bin/firefox\"}" > /opt/selenium/browser_binary_location From ac446ae762dca0e268b47965b4efb65be648f9d5 Mon Sep 17 00:00:00 2001 From: James Mortensen Date: Tue, 19 Dec 2023 19:54:11 -0600 Subject: [PATCH 80/84] [deploy] test From a065634d60638baa116ab4c475e3e9b4ee0e1cf4 Mon Sep 17 00:00:00 2001 From: James Mortensen Date: Tue, 19 Dec 2023 19:57:19 -0600 Subject: [PATCH 81/84] [deploy] test from tmp --- .circleci/config.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index a337655c2..f9d823757 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -204,7 +204,7 @@ jobs: PLATFORMS: << parameters.platforms >> BUILD_ARGS: << parameters.build-args >> MAKE_TARGETS: << parameters.make-targets >> - DEPLOY_BRANCH: trunk + DEPLOY_BRANCH: tmp RELEASE: selenium-4.16.0 SELENIUM_VERSION: 4.16.1 GITHUB_USER: seleniumhq-community @@ -346,7 +346,7 @@ workflows: filters: branches: only: - - trunk + - tmp - deploy-multi-arch-full-grid: name: deploy-multi-arch-full-grid requires: [deploy-multi-arch-base] @@ -357,7 +357,7 @@ workflows: filters: branches: only: - - trunk + - tmp - deploy-multi-arch-full-grid: name: deploy-multi-arch-node-base requires: [deploy-multi-arch-base] @@ -368,7 +368,7 @@ workflows: filters: branches: only: - - trunk + - tmp - deploy-multi-arch-full-grid: name: deploy-multi-arch-firefox requires: [deploy-multi-arch-node-base] @@ -379,7 +379,7 @@ workflows: filters: branches: only: - - trunk + - tmp - deploy-multi-arch-full-grid: name: deploy-multi-arch-chromium requires: [deploy-multi-arch-node-base] @@ -390,7 +390,7 @@ workflows: filters: branches: only: - - trunk + - tmp - deploy-multi-arch-full-grid: name: deploy-multi-arch-release-notes requires: [deploy-multi-arch-firefox,deploy-multi-arch-chromium] @@ -401,4 +401,4 @@ workflows: filters: branches: only: - - trunk \ No newline at end of file + - tmp \ No newline at end of file From 8b1a1b1cca46569eafc3e06c7e0843260677b8bf Mon Sep 17 00:00:00 2001 From: James Mortensen Date: Wed, 20 Dec 2023 22:21:17 -0600 Subject: [PATCH 82/84] [deploy] fixed tests --- tests/test.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tests/test.py b/tests/test.py index 74e3c628c..c94df6a42 100644 --- a/tests/test.py +++ b/tests/test.py @@ -60,6 +60,10 @@ 'NodeFirefox': 'FirefoxTests', 'StandaloneFirefox': 'FirefoxTests', + # Chromium Images + 'NodeChromium': 'ChromeTests', + 'StandaloneChromium': 'ChromeTests', + # Chart Parallel Test 'ParallelAutoscaling': 'ParallelAutoscalingTests' } From 8912ca083a371152daec8c1f3949c0792de8083b Mon Sep 17 00:00:00 2001 From: James Mortensen Date: Fri, 29 Dec 2023 22:46:26 -0600 Subject: [PATCH 83/84] Fixed tests by waiting for downloadable files to exist in array, fixes Chromium tests. Co-authored-by: Fried Hoeben --- tests/SeleniumTests/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/SeleniumTests/__init__.py b/tests/SeleniumTests/__init__.py index 263cc11ca..8d5927ad3 100644 --- a/tests/SeleniumTests/__init__.py +++ b/tests/SeleniumTests/__init__.py @@ -75,7 +75,7 @@ def test_download_file(self): ) file_link.click() wait.until( - lambda d: str(d.get_downloadable_files()[0]).endswith(file_name) + lambda d: len(d.get_downloadable_files()) > 0 and str(d.get_downloadable_files()[0]).endswith(file_name) ) time.sleep(5) self.assertTrue(str(driver.get_downloadable_files()[0]).endswith(file_name)) From d78ba385daa4750131e6009b9e84769b8437bfcd Mon Sep 17 00:00:00 2001 From: James Mortensen Date: Sat, 30 Dec 2023 16:41:58 -0600 Subject: [PATCH 84/84] Prepare release for 4.16.1 --- .circleci/config.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index f9d823757..f0f05a588 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -200,11 +200,11 @@ jobs: type: string executor: << parameters.machine-type >> environment: - NAMESPACE: jamesmortensen1 + NAMESPACE: seleniarm PLATFORMS: << parameters.platforms >> BUILD_ARGS: << parameters.build-args >> MAKE_TARGETS: << parameters.make-targets >> - DEPLOY_BRANCH: tmp + DEPLOY_BRANCH: trunk RELEASE: selenium-4.16.0 SELENIUM_VERSION: 4.16.1 GITHUB_USER: seleniumhq-community @@ -271,7 +271,7 @@ jobs: docker buildx ls # For release notes, we'll pull images anonymously without login. # if [ "$MAKE_TARGETS" != "tag_and_push_multi_arch_browser_images" ]; then - docker login -u="$DOCKER_TEST_USERNAME" -p="$DOCKER_TEST_PASSWORD" + docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD" # fi echo BRANCH="$BRANCH" echo BUILD_DATE="$BUILD_DATE" @@ -346,7 +346,7 @@ workflows: filters: branches: only: - - tmp + - trunk - deploy-multi-arch-full-grid: name: deploy-multi-arch-full-grid requires: [deploy-multi-arch-base] @@ -357,7 +357,7 @@ workflows: filters: branches: only: - - tmp + - trunk - deploy-multi-arch-full-grid: name: deploy-multi-arch-node-base requires: [deploy-multi-arch-base] @@ -368,7 +368,7 @@ workflows: filters: branches: only: - - tmp + - trunk - deploy-multi-arch-full-grid: name: deploy-multi-arch-firefox requires: [deploy-multi-arch-node-base] @@ -379,7 +379,7 @@ workflows: filters: branches: only: - - tmp + - trunk - deploy-multi-arch-full-grid: name: deploy-multi-arch-chromium requires: [deploy-multi-arch-node-base] @@ -390,7 +390,7 @@ workflows: filters: branches: only: - - tmp + - trunk - deploy-multi-arch-full-grid: name: deploy-multi-arch-release-notes requires: [deploy-multi-arch-firefox,deploy-multi-arch-chromium] @@ -401,4 +401,4 @@ workflows: filters: branches: only: - - tmp \ No newline at end of file + - trunk \ No newline at end of file