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

Commit d200a00

Browse files
authored
Merge pull request #73 from seleniumhq-community/4.20.0 [deploy]
Release 4.20.0
2 parents 496b79a + 83497e0 commit d200a00

Some content is hidden

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

63 files changed

+1296
-593
lines changed

.circleci/config.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,8 @@ jobs:
126126
- run:
127127
name: "Prepare workflow environment variables"
128128
command: |
129-
export SELENIUM_VERSION=$(grep selenium-server Base/Dockerfile | sed 's/.*-\([^-]*\)\.jar \\/\1/' | head -n 1)
129+
export SELENIUM_VERSION=$(grep BASE_VERSION Makefile | sed 's/.*,\([^)]*\))/\1/p' | head -n 1)
130+
export BINDING_VERSION=$(grep BINDING_VERSION Makefile | sed 's/.*,\([^)]*\))/\1/p' | head -n 1)
130131
echo "Prepare workflow environment variables"
131132
echo 'export BRANCH='$SELENIUM_VERSION >> $BASH_ENV
132133
echo 'export BUILD_DATE=$(date '+%Y%m%d')' >> $BASH_ENV
@@ -229,6 +230,7 @@ jobs:
229230
command: |
230231
echo "export SELENIUM_VERSION=$(grep BASE_VERSION Makefile | sed 's/.*,\([^)]*\))/\1/p' | head -n 1)" >> $BASH_ENV
231232
echo "export RELEASE=$(grep BASE_RELEASE Makefile | sed 's/.*,\([^)]*\))/\1/p' | head -n 1)" >> $BASH_ENV
233+
echo "export BINDING_VERSION=$(grep BINDING_VERSION Makefile | sed 's/.*,\([^)]*\))/\1/p' | head -n 1)" >> $BASH_ENV
232234
source $BASH_ENV
233235
echo "Prepare workflow environment variables"
234236
echo 'export BRANCH='$SELENIUM_VERSION >> $BASH_ENV

.github/ISSUE_TEMPLATE/bug_report.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ body:
2525
description: |
2626
What command do you use to start Selenium Grid with Docker (or Kubernetes)?
2727
placeholder: |
28-
Please share the script or docker-compose file used. This will be automatically
28+
Please share the script or docker compose file used. This will be automatically
2929
formatted into code, so no need for backticks.
3030
If Kubernetes used, please share the YAML file, or chart values used to deploy the cluster.
3131
Be sure to include an SSCCE (Short, Self Contained, Correct
@@ -56,14 +56,14 @@ body:
5656
attributes:
5757
label: Docker Selenium version (image tag)
5858
description: What version of Docker Selenium are you using?
59-
placeholder: 4.19.0-20240328? Please use the full tag, avoid "latest"
59+
placeholder: 4.20.0-20240425? Please use the full tag, avoid "latest"
6060
validations:
6161
required: true
6262
- type: input
6363
id: chart-version
6464
attributes:
6565
label: Selenium Grid chart version (chart version)
6666
description: What version of Selenium Grid chart are you using?
67-
placeholder: 0.26.2?
67+
placeholder: 0.29.1?
6868
validations:
6969
required: false

.github/workflows/build-test.yml

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,18 @@ jobs:
1919
name: Build & test Docker images with random user
2020
runs-on: ubuntu-latest
2121
strategy:
22+
fail-fast: false
2223
matrix:
2324
use-random-user: [false, true]
2425
steps:
2526
- uses: actions/checkout@main
27+
- name: Set up QEMU
28+
uses: docker/setup-qemu-action@master
29+
- name: Set up Docker Buildx
30+
uses: docker/setup-buildx-action@master
31+
with:
32+
platforms: linux/amd64,linux/arm64
33+
use: false
2634
- name: Output Docker info
2735
run: docker info
2836
- name: Set up Python
@@ -42,10 +50,26 @@ jobs:
4250
TARGET_BRANCH: ${{ github.head_ref }}
4351
- name: Output branch name
4452
run: echo ${BRANCH}
53+
- name: Set Selenium base version
54+
if: contains(toJson(github.event.commits), '[deploy]') == false
55+
run: |
56+
make set_nightly_env
57+
cat .env | xargs -I {} echo {} >> $GITHUB_ENV
4558
- name: Sets build date
46-
run: echo "BUILD_DATE=$(date '+%Y%m%d')" >> $GITHUB_ENV
59+
run: |
60+
echo "BUILD_DATE=$(date '+%Y%m%d')" >> $GITHUB_ENV
61+
echo "AUTHORS=${AUTHORS}" >> $GITHUB_ENV
62+
env:
63+
AUTHORS: ${{ vars.AUTHORS || 'SeleniumHQ' }}
4764
- name: Build Docker images
48-
run: VERSION=${BRANCH} BUILD_DATE=${BUILD_DATE} make build
65+
uses: nick-invision/retry@master
66+
with:
67+
timeout_minutes: 12
68+
max_attempts: 3
69+
retry_wait_seconds: 60
70+
command: VERSION=${BRANCH} BUILD_DATE=${BUILD_DATE} make build
71+
- name: Count image layers
72+
run: VERSION=${BRANCH} BUILD_DATE=${BUILD_DATE} make count_image_layers
4973
- name: Test Docker images
5074
uses: nick-invision/retry@master
5175
with:

.github/workflows/deploy.yml

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ on:
99
jobs:
1010
deploy:
1111
# Only continue if the commit message has '[deploy]' in it
12-
if: contains(toJson(github.event.commits), '[deploy]') == true
12+
if: contains(toJson(github.event.commits), '[deploy]') == true || github.event_name == 'workflow_dispatch'
1313
name: Deploy Docker images
1414
runs-on: ubuntu-latest
1515
permissions: write-all
@@ -19,6 +19,13 @@ jobs:
1919
with:
2020
persist-credentials: false
2121
fetch-depth: 0
22+
- name: Set up QEMU
23+
uses: docker/setup-qemu-action@master
24+
- name: Set up Docker Buildx
25+
uses: docker/setup-buildx-action@master
26+
with:
27+
platforms: linux/amd64,linux/arm64
28+
use: false
2229
- name: Output Docker info
2330
run: docker info
2431
- name: Sets build date
@@ -27,6 +34,7 @@ jobs:
2734
echo "NAME=${NAMESPACE}" >> $GITHUB_ENV
2835
env:
2936
NAMESPACE: ${{ vars.DOCKER_NAMESPACE || 'selenium' }}
37+
AUTHORS: ${{ vars.AUTHORS || 'SeleniumHQ' }}
3038
- name: Sets prerelease to false by default
3139
run: echo "PRERELEASE=false" >> $GITHUB_ENV
3240
- name: Build base image to get Grid version
@@ -52,7 +60,12 @@ jobs:
5260
- name: Update chart CHANGELOG
5361
run: ./generate_chart_changelog.sh
5462
- name: Build images
55-
run: VERSION="${GRID_VERSION}" BUILD_DATE=${BUILD_DATE} make build
63+
uses: nick-invision/retry@master
64+
with:
65+
timeout_minutes: 12
66+
max_attempts: 3
67+
retry_wait_seconds: 60
68+
command: VERSION="${GRID_VERSION}" BUILD_DATE=${BUILD_DATE} make build
5669
- name: Login Docker Hub
5770
run: docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD"
5871
env:

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

Lines changed: 40 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -37,41 +37,54 @@ jobs:
3737
fail-fast: false
3838
matrix:
3939
include:
40-
- k8s-version: 'v1.25.16'
40+
- k8s-version: 'v1.26.15'
4141
test-strategy: job
42-
cluster: 'kind'
42+
cluster: 'minikube'
4343
helm-version: 'v3.10.3'
4444
test-existing-keda: true
45-
- k8s-version: 'v1.26.15'
45+
test-upgrade: true
46+
- k8s-version: 'v1.27.13'
4647
test-strategy: deployment
4748
cluster: 'minikube'
4849
helm-version: 'v3.11.3'
4950
test-existing-keda: true
50-
- k8s-version: 'v1.27.12'
51+
test-upgrade: true
52+
- k8s-version: 'v1.28.9'
5153
test-strategy: job_https
5254
cluster: 'minikube'
5355
helm-version: 'v3.12.3'
5456
test-existing-keda: true
55-
- k8s-version: 'v1.28.8'
57+
test-upgrade: true
58+
- k8s-version: 'v1.29.4'
5659
test-strategy: job_hostname
5760
cluster: 'minikube'
5861
helm-version: 'v3.13.3'
5962
test-existing-keda: false
60-
- k8s-version: 'v1.29.3'
63+
test-upgrade: true
64+
- k8s-version: 'v1.30.0'
6165
test-strategy: deployment_https
6266
cluster: 'minikube'
63-
helm-version: 'v3.14.3'
67+
helm-version: 'v3.14.4'
6468
test-existing-keda: false
69+
test-upgrade: true
6570
env:
6671
CLUSTER: ${{ matrix.cluster }}
6772
KUBERNETES_VERSION: ${{ matrix.k8s-version }}
68-
ARTIFACT_NAME: ${{ matrix.k8s-version }}-${{ matrix.test-strategy }}
73+
ARTIFACT_NAME: "${{ matrix.k8s-version }}-${{ matrix.test-strategy }}"
6974
HELM_VERSION: ${{ matrix.helm-version }}
7075
TEST_EXISTING_KEDA: ${{ matrix.test-existing-keda }}
76+
TEST_UPGRADE_CHART: ${{ matrix.test-upgrade }}
7177
steps:
7278
- uses: actions/checkout@main
7379
- name: Output Docker info
7480
run: docker info
81+
- name: Set up QEMU
82+
uses: docker/setup-qemu-action@master
83+
- name: Set up Docker Buildx
84+
uses: docker/setup-buildx-action@master
85+
with:
86+
platforms: linux/amd64,linux/arm64
87+
use: false
7588
- name: Set up Python
7689
uses: actions/setup-python@main
7790
with:
@@ -89,10 +102,18 @@ jobs:
89102
TARGET_BRANCH: ${{ github.head_ref }}
90103
- name: Output branch name
91104
run: echo ${BRANCH}
105+
- name: Set Selenium base version
106+
if: contains(toJson(github.event.commits), '[deploy]') == false
107+
run: |
108+
make set_nightly_env
109+
cat .env | xargs -I {} echo {} >> $GITHUB_ENV
92110
- name: Sets build date
93111
run: |
94112
echo "BUILD_DATE=$(date '+%Y%m%d')" >> $GITHUB_ENV
95113
echo "IMAGE_REGISTRY=artifactory/selenium" >> $GITHUB_ENV
114+
echo "AUTHORS=${AUTHORS}" >> $GITHUB_ENV
115+
env:
116+
AUTHORS: ${{ vars.AUTHORS || 'SeleniumHQ' }}
96117
- name: Setup Kubernetes environment
97118
uses: nick-invision/retry@master
98119
with:
@@ -105,7 +126,12 @@ jobs:
105126
echo "CHART_PACKAGE_PATH=$(cat /tmp/selenium_chart_version)" >> $GITHUB_ENV
106127
echo "CHART_FILE_NAME=$(basename $(cat /tmp/selenium_chart_version))" >> $GITHUB_ENV
107128
- name: Build Docker images
108-
run: NAME=${IMAGE_REGISTRY} VERSION=${BRANCH} BUILD_DATE=${BUILD_DATE} make build
129+
uses: nick-invision/retry@master
130+
with:
131+
timeout_minutes: 12
132+
max_attempts: 3
133+
retry_wait_seconds: 60
134+
command: NAME=${IMAGE_REGISTRY} VERSION=${BRANCH} BUILD_DATE=${BUILD_DATE} make build
109135
- name: Setup Kubernetes cluster
110136
uses: nick-invision/retry@master
111137
with:
@@ -133,14 +159,18 @@ jobs:
133159
max_attempts: 3
134160
command: |
135161
NAME=${IMAGE_REGISTRY} VERSION=${BRANCH} BUILD_DATE=${BUILD_DATE} TEST_EXISTING_KEDA=${TEST_EXISTING_KEDA} make chart_test_autoscaling_${{ matrix.test-strategy }}
162+
- name: Test chart upgrade
163+
if: (matrix.test-upgrade == true)
164+
run: |
165+
NAME=${IMAGE_REGISTRY} VERSION=${BRANCH} BUILD_DATE=${BUILD_DATE} TEST_EXISTING_KEDA=${TEST_EXISTING_KEDA} SET_MAX_REPLICAS=10 TEST_UPGRADE_CHART=${TEST_UPGRADE_CHART} make chart_test_autoscaling_${{ matrix.test-strategy }}
136166
- name: Cleanup Kubernetes cluster
137167
if: always()
138168
run: CLUSTER=${CLUSTER} make chart_cluster_cleanup
139169
- name: Upload Helm chart package
140170
if: always()
141171
uses: actions/upload-artifact@main
142172
with:
143-
name: ${{ env.ARTIFACT_NAME }}_${{ env.CHART_FILE_NAME }}
173+
name: "${{ env.ARTIFACT_NAME }}_${{ env.CHART_FILE_NAME }}"
144174
path: ${{ env.CHART_PACKAGE_PATH }}
145175
- name: Upload chart test artifacts
146176
if: always()

.github/workflows/nightly.yaml

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,13 @@ jobs:
1515
with:
1616
persist-credentials: false
1717
fetch-depth: 0
18+
- name: Set up QEMU
19+
uses: docker/setup-qemu-action@master
20+
- name: Set up Docker Buildx
21+
uses: docker/setup-buildx-action@master
22+
with:
23+
platforms: linux/amd64,linux/arm64
24+
use: false
1825
- name: Output Docker info
1926
run: docker info
2027
- name: Sets build date
@@ -23,8 +30,10 @@ jobs:
2330
run: |
2431
echo "PRERELEASE=true" >> $GITHUB_ENV
2532
echo "NAME=${NAMESPACE}" >> $GITHUB_ENV
33+
echo "AUTHORS=${AUTHORS}" >> $GITHUB_ENV
2634
env:
2735
NAMESPACE: ${{ vars.DOCKER_NAMESPACE || 'selenium' }}
36+
AUTHORS: ${{ vars.AUTHORS || 'SeleniumHQ' }}
2837
- name: Build base image to get Grid version
2938
run: VERSION="local" BUILD_DATE=${BUILD_DATE} make base_nightly
3039
- name: Get Grid version
@@ -45,7 +54,12 @@ jobs:
4554
- name: Remove local Docker tag
4655
run: docker rmi ${{ env.NAME }}/base:local-${BUILD_DATE}
4756
- name: Build images
48-
run: VERSION="${GRID_VERSION}" BUILD_DATE=${BUILD_DATE} make build
57+
uses: nick-invision/retry@master
58+
with:
59+
timeout_minutes: 12
60+
max_attempts: 3
61+
retry_wait_seconds: 60
62+
command: VERSION="${GRID_VERSION}" BUILD_DATE=${BUILD_DATE} make build
4963
- name: Login Docker Hub
5064
run: docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD"
5165
env:

.github/workflows/test-video.yml

Lines changed: 27 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,13 @@ jobs:
3939
test-strategy: [test_video, test_parallel, test_node_docker]
4040
steps:
4141
- uses: actions/checkout@main
42+
- name: Set up QEMU
43+
uses: docker/setup-qemu-action@master
44+
- name: Set up Docker Buildx
45+
uses: docker/setup-buildx-action@master
46+
with:
47+
platforms: linux/amd64,linux/arm64
48+
use: false
4249
- name: Output Docker info
4350
run: docker info
4451
- name: Set up Python
@@ -58,14 +65,28 @@ jobs:
5865
TARGET_BRANCH: ${{ github.head_ref }}
5966
- name: Output branch name
6067
run: echo ${BRANCH}
68+
- name: Set Selenium base version
69+
if: contains(toJson(github.event.commits), '[deploy]') == false
70+
run: |
71+
make set_nightly_env
72+
cat .env | xargs -I {} echo {} >> $GITHUB_ENV
6173
- name: Sets build date
62-
run: echo "BUILD_DATE=$(date '+%Y%m%d')" >> $GITHUB_ENV
63-
- name: Pre-build to reduce logs in test phase
6474
run: |
65-
VERSION=${BRANCH} BUILD_DATE=${BUILD_DATE} make hub
66-
VERSION=${BRANCH} BUILD_DATE=${BUILD_DATE} make chrome
67-
VERSION=${BRANCH} BUILD_DATE=${BUILD_DATE} make firefox
68-
VERSION=${BRANCH} BUILD_DATE=${BUILD_DATE} make edge
75+
echo "BUILD_DATE=$(date '+%Y%m%d')" >> $GITHUB_ENV
76+
echo "AUTHORS=${AUTHORS}" >> $GITHUB_ENV
77+
env:
78+
AUTHORS: ${{ vars.AUTHORS || 'SeleniumHQ' }}
79+
- name: Pre-build to reduce logs in test phase
80+
uses: nick-invision/retry@master
81+
with:
82+
timeout_minutes: 12
83+
max_attempts: 3
84+
retry_wait_seconds: 60
85+
command: |
86+
VERSION=${BRANCH} BUILD_DATE=${BUILD_DATE} make hub
87+
VERSION=${BRANCH} BUILD_DATE=${BUILD_DATE} make chrome
88+
VERSION=${BRANCH} BUILD_DATE=${BUILD_DATE} make firefox
89+
VERSION=${BRANCH} BUILD_DATE=${BUILD_DATE} make edge
6990
- name: Set test parameters
7091
if: (github.event_name == 'schedule' || github.event_name == 'workflow_dispatch')
7192
run: |

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

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,19 @@ jobs:
2323

2424
steps:
2525
- uses: actions/checkout@main
26+
- name: Set up QEMU
27+
uses: docker/setup-qemu-action@master
28+
- name: Set up Docker Buildx
29+
uses: docker/setup-buildx-action@master
30+
with:
31+
platforms: linux/amd64,linux/arm64
32+
use: false
2633
- name: Setup environment variables
2734
run: |
2835
export SELENIUM_VERSION=$(grep BASE_VERSION Makefile | sed 's/.*,\([^)]*\))/\1/p' | head -n 1)
36+
export BINDING_VERSION=$(grep BINDING_VERSION Makefile | sed 's/.*,\([^)]*\))/\1/p' | head -n 1)
2937
echo "SELENIUM_VERSION="$SELENIUM_VERSION >> $GITHUB_ENV
38+
echo "BINDING_VERSION="$BINDING_VERSION >> $GITHUB_ENV
3039
export BUILD_DATE=$(date '+%Y%m%d')
3140
echo "BUILD_DATE="$BUILD_DATE >> $GITHUB_ENV
3241
export BROWSER_CAPS=`node -p "process.argv[1][0].toUpperCase() + process.argv[1].toString().substring(1)" $BROWSER`

0 commit comments

Comments
 (0)