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

Commit

Permalink
Merge pull request #73 from seleniumhq-community/4.20.0 [deploy]
Browse files Browse the repository at this point in the history
Release 4.20.0
  • Loading branch information
VietND96 committed Apr 27, 2024
2 parents 496b79a + 83497e0 commit d200a00
Show file tree
Hide file tree
Showing 63 changed files with 1,296 additions and 593 deletions.
4 changes: 3 additions & 1 deletion .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,8 @@ 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 BASE_VERSION Makefile | sed 's/.*,\([^)]*\))/\1/p' | head -n 1)
export BINDING_VERSION=$(grep BINDING_VERSION Makefile | sed 's/.*,\([^)]*\))/\1/p' | 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
Expand Down Expand Up @@ -229,6 +230,7 @@ jobs:
command: |
echo "export SELENIUM_VERSION=$(grep BASE_VERSION Makefile | sed 's/.*,\([^)]*\))/\1/p' | head -n 1)" >> $BASH_ENV
echo "export RELEASE=$(grep BASE_RELEASE Makefile | sed 's/.*,\([^)]*\))/\1/p' | head -n 1)" >> $BASH_ENV
echo "export BINDING_VERSION=$(grep BINDING_VERSION Makefile | sed 's/.*,\([^)]*\))/\1/p' | head -n 1)" >> $BASH_ENV
source $BASH_ENV
echo "Prepare workflow environment variables"
echo 'export BRANCH='$SELENIUM_VERSION >> $BASH_ENV
Expand Down
6 changes: 3 additions & 3 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ body:
description: |
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
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
Expand Down Expand Up @@ -56,14 +56,14 @@ body:
attributes:
label: Docker Selenium version (image tag)
description: What version of Docker Selenium are you using?
placeholder: 4.19.0-20240328? Please use the full tag, avoid "latest"
placeholder: 4.20.0-20240425? Please use the full tag, avoid "latest"
validations:
required: true
- type: input
id: chart-version
attributes:
label: Selenium Grid chart version (chart version)
description: What version of Selenium Grid chart are you using?
placeholder: 0.26.2?
placeholder: 0.29.1?
validations:
required: false
28 changes: 26 additions & 2 deletions .github/workflows/build-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,18 @@ jobs:
name: Build & test Docker images with random user
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
use-random-user: [false, true]
steps:
- uses: actions/checkout@main
- name: Set up QEMU
uses: docker/setup-qemu-action@master
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@master
with:
platforms: linux/amd64,linux/arm64
use: false
- name: Output Docker info
run: docker info
- name: Set up Python
Expand All @@ -42,10 +50,26 @@ jobs:
TARGET_BRANCH: ${{ github.head_ref }}
- name: Output branch name
run: echo ${BRANCH}
- name: Set Selenium base version
if: contains(toJson(github.event.commits), '[deploy]') == false
run: |
make set_nightly_env
cat .env | xargs -I {} echo {} >> $GITHUB_ENV
- 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 "AUTHORS=${AUTHORS}" >> $GITHUB_ENV
env:
AUTHORS: ${{ vars.AUTHORS || 'SeleniumHQ' }}
- name: Build Docker images
run: VERSION=${BRANCH} BUILD_DATE=${BUILD_DATE} make build
uses: nick-invision/retry@master
with:
timeout_minutes: 12
max_attempts: 3
retry_wait_seconds: 60
command: VERSION=${BRANCH} BUILD_DATE=${BUILD_DATE} make build
- name: Count image layers
run: VERSION=${BRANCH} BUILD_DATE=${BUILD_DATE} make count_image_layers
- name: Test Docker images
uses: nick-invision/retry@master
with:
Expand Down
17 changes: 15 additions & 2 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ on:
jobs:
deploy:
# Only continue if the commit message has '[deploy]' in it
if: contains(toJson(github.event.commits), '[deploy]') == true
if: contains(toJson(github.event.commits), '[deploy]') == true || github.event_name == 'workflow_dispatch'
name: Deploy Docker images
runs-on: ubuntu-latest
permissions: write-all
Expand All @@ -19,6 +19,13 @@ jobs:
with:
persist-credentials: false
fetch-depth: 0
- name: Set up QEMU
uses: docker/setup-qemu-action@master
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@master
with:
platforms: linux/amd64,linux/arm64
use: false
- name: Output Docker info
run: docker info
- name: Sets build date
Expand All @@ -27,6 +34,7 @@ jobs:
echo "NAME=${NAMESPACE}" >> $GITHUB_ENV
env:
NAMESPACE: ${{ vars.DOCKER_NAMESPACE || 'selenium' }}
AUTHORS: ${{ vars.AUTHORS || 'SeleniumHQ' }}
- name: Sets prerelease to false by default
run: echo "PRERELEASE=false" >> $GITHUB_ENV
- name: Build base image to get Grid version
Expand All @@ -52,7 +60,12 @@ jobs:
- name: Update chart CHANGELOG
run: ./generate_chart_changelog.sh
- name: Build images
run: VERSION="${GRID_VERSION}" BUILD_DATE=${BUILD_DATE} make build
uses: nick-invision/retry@master
with:
timeout_minutes: 12
max_attempts: 3
retry_wait_seconds: 60
command: VERSION="${GRID_VERSION}" BUILD_DATE=${BUILD_DATE} make build
- name: Login Docker Hub
run: docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD"
env:
Expand Down
50 changes: 40 additions & 10 deletions .github/workflows/helm-chart-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,41 +37,54 @@ jobs:
fail-fast: false
matrix:
include:
- k8s-version: 'v1.25.16'
- k8s-version: 'v1.26.15'
test-strategy: job
cluster: 'kind'
cluster: 'minikube'
helm-version: 'v3.10.3'
test-existing-keda: true
- k8s-version: 'v1.26.15'
test-upgrade: true
- k8s-version: 'v1.27.13'
test-strategy: deployment
cluster: 'minikube'
helm-version: 'v3.11.3'
test-existing-keda: true
- k8s-version: 'v1.27.12'
test-upgrade: true
- k8s-version: 'v1.28.9'
test-strategy: job_https
cluster: 'minikube'
helm-version: 'v3.12.3'
test-existing-keda: true
- k8s-version: 'v1.28.8'
test-upgrade: true
- k8s-version: 'v1.29.4'
test-strategy: job_hostname
cluster: 'minikube'
helm-version: 'v3.13.3'
test-existing-keda: false
- k8s-version: 'v1.29.3'
test-upgrade: true
- k8s-version: 'v1.30.0'
test-strategy: deployment_https
cluster: 'minikube'
helm-version: 'v3.14.3'
helm-version: 'v3.14.4'
test-existing-keda: false
test-upgrade: true
env:
CLUSTER: ${{ matrix.cluster }}
KUBERNETES_VERSION: ${{ matrix.k8s-version }}
ARTIFACT_NAME: ${{ matrix.k8s-version }}-${{ matrix.test-strategy }}
ARTIFACT_NAME: "${{ matrix.k8s-version }}-${{ matrix.test-strategy }}"
HELM_VERSION: ${{ matrix.helm-version }}
TEST_EXISTING_KEDA: ${{ matrix.test-existing-keda }}
TEST_UPGRADE_CHART: ${{ matrix.test-upgrade }}
steps:
- uses: actions/checkout@main
- name: Output Docker info
run: docker info
- name: Set up QEMU
uses: docker/setup-qemu-action@master
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@master
with:
platforms: linux/amd64,linux/arm64
use: false
- name: Set up Python
uses: actions/setup-python@main
with:
Expand All @@ -89,10 +102,18 @@ jobs:
TARGET_BRANCH: ${{ github.head_ref }}
- name: Output branch name
run: echo ${BRANCH}
- name: Set Selenium base version
if: contains(toJson(github.event.commits), '[deploy]') == false
run: |
make set_nightly_env
cat .env | xargs -I {} echo {} >> $GITHUB_ENV
- name: Sets build date
run: |
echo "BUILD_DATE=$(date '+%Y%m%d')" >> $GITHUB_ENV
echo "IMAGE_REGISTRY=artifactory/selenium" >> $GITHUB_ENV
echo "AUTHORS=${AUTHORS}" >> $GITHUB_ENV
env:
AUTHORS: ${{ vars.AUTHORS || 'SeleniumHQ' }}
- name: Setup Kubernetes environment
uses: nick-invision/retry@master
with:
Expand All @@ -105,7 +126,12 @@ jobs:
echo "CHART_PACKAGE_PATH=$(cat /tmp/selenium_chart_version)" >> $GITHUB_ENV
echo "CHART_FILE_NAME=$(basename $(cat /tmp/selenium_chart_version))" >> $GITHUB_ENV
- name: Build Docker images
run: NAME=${IMAGE_REGISTRY} VERSION=${BRANCH} BUILD_DATE=${BUILD_DATE} make build
uses: nick-invision/retry@master
with:
timeout_minutes: 12
max_attempts: 3
retry_wait_seconds: 60
command: NAME=${IMAGE_REGISTRY} VERSION=${BRANCH} BUILD_DATE=${BUILD_DATE} make build
- name: Setup Kubernetes cluster
uses: nick-invision/retry@master
with:
Expand Down Expand Up @@ -133,14 +159,18 @@ jobs:
max_attempts: 3
command: |
NAME=${IMAGE_REGISTRY} VERSION=${BRANCH} BUILD_DATE=${BUILD_DATE} TEST_EXISTING_KEDA=${TEST_EXISTING_KEDA} make chart_test_autoscaling_${{ matrix.test-strategy }}
- name: Test chart upgrade
if: (matrix.test-upgrade == true)
run: |
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 }}
- name: Cleanup Kubernetes cluster
if: always()
run: CLUSTER=${CLUSTER} make chart_cluster_cleanup
- name: Upload Helm chart package
if: always()
uses: actions/upload-artifact@main
with:
name: ${{ env.ARTIFACT_NAME }}_${{ env.CHART_FILE_NAME }}
name: "${{ env.ARTIFACT_NAME }}_${{ env.CHART_FILE_NAME }}"
path: ${{ env.CHART_PACKAGE_PATH }}
- name: Upload chart test artifacts
if: always()
Expand Down
16 changes: 15 additions & 1 deletion .github/workflows/nightly.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,13 @@ jobs:
with:
persist-credentials: false
fetch-depth: 0
- name: Set up QEMU
uses: docker/setup-qemu-action@master
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@master
with:
platforms: linux/amd64,linux/arm64
use: false
- name: Output Docker info
run: docker info
- name: Sets build date
Expand All @@ -23,8 +30,10 @@ jobs:
run: |
echo "PRERELEASE=true" >> $GITHUB_ENV
echo "NAME=${NAMESPACE}" >> $GITHUB_ENV
echo "AUTHORS=${AUTHORS}" >> $GITHUB_ENV
env:
NAMESPACE: ${{ vars.DOCKER_NAMESPACE || 'selenium' }}
AUTHORS: ${{ vars.AUTHORS || 'SeleniumHQ' }}
- name: Build base image to get Grid version
run: VERSION="local" BUILD_DATE=${BUILD_DATE} make base_nightly
- name: Get Grid version
Expand All @@ -45,7 +54,12 @@ jobs:
- name: Remove local Docker tag
run: docker rmi ${{ env.NAME }}/base:local-${BUILD_DATE}
- name: Build images
run: VERSION="${GRID_VERSION}" BUILD_DATE=${BUILD_DATE} make build
uses: nick-invision/retry@master
with:
timeout_minutes: 12
max_attempts: 3
retry_wait_seconds: 60
command: VERSION="${GRID_VERSION}" BUILD_DATE=${BUILD_DATE} make build
- name: Login Docker Hub
run: docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD"
env:
Expand Down
33 changes: 27 additions & 6 deletions .github/workflows/test-video.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,13 @@ jobs:
test-strategy: [test_video, test_parallel, test_node_docker]
steps:
- uses: actions/checkout@main
- name: Set up QEMU
uses: docker/setup-qemu-action@master
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@master
with:
platforms: linux/amd64,linux/arm64
use: false
- name: Output Docker info
run: docker info
- name: Set up Python
Expand All @@ -58,14 +65,28 @@ jobs:
TARGET_BRANCH: ${{ github.head_ref }}
- name: Output branch name
run: echo ${BRANCH}
- name: Set Selenium base version
if: contains(toJson(github.event.commits), '[deploy]') == false
run: |
make set_nightly_env
cat .env | xargs -I {} echo {} >> $GITHUB_ENV
- name: Sets build date
run: echo "BUILD_DATE=$(date '+%Y%m%d')" >> $GITHUB_ENV
- name: Pre-build to reduce logs in test phase
run: |
VERSION=${BRANCH} BUILD_DATE=${BUILD_DATE} make hub
VERSION=${BRANCH} BUILD_DATE=${BUILD_DATE} make chrome
VERSION=${BRANCH} BUILD_DATE=${BUILD_DATE} make firefox
VERSION=${BRANCH} BUILD_DATE=${BUILD_DATE} make edge
echo "BUILD_DATE=$(date '+%Y%m%d')" >> $GITHUB_ENV
echo "AUTHORS=${AUTHORS}" >> $GITHUB_ENV
env:
AUTHORS: ${{ vars.AUTHORS || 'SeleniumHQ' }}
- name: Pre-build to reduce logs in test phase
uses: nick-invision/retry@master
with:
timeout_minutes: 12
max_attempts: 3
retry_wait_seconds: 60
command: |
VERSION=${BRANCH} BUILD_DATE=${BUILD_DATE} make hub
VERSION=${BRANCH} BUILD_DATE=${BUILD_DATE} make chrome
VERSION=${BRANCH} BUILD_DATE=${BUILD_DATE} make firefox
VERSION=${BRANCH} BUILD_DATE=${BUILD_DATE} make edge
- name: Set test parameters
if: (github.event_name == 'schedule' || github.event_name == 'workflow_dispatch')
run: |
Expand Down
9 changes: 9 additions & 0 deletions .github/workflows/update-dev-beta-browser-images.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,19 @@ jobs:

steps:
- uses: actions/checkout@main
- name: Set up QEMU
uses: docker/setup-qemu-action@master
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@master
with:
platforms: linux/amd64,linux/arm64
use: false
- name: Setup environment variables
run: |
export SELENIUM_VERSION=$(grep BASE_VERSION Makefile | sed 's/.*,\([^)]*\))/\1/p' | head -n 1)
export BINDING_VERSION=$(grep BINDING_VERSION Makefile | sed 's/.*,\([^)]*\))/\1/p' | head -n 1)
echo "SELENIUM_VERSION="$SELENIUM_VERSION >> $GITHUB_ENV
echo "BINDING_VERSION="$BINDING_VERSION >> $GITHUB_ENV
export BUILD_DATE=$(date '+%Y%m%d')
echo "BUILD_DATE="$BUILD_DATE >> $GITHUB_ENV
export BROWSER_CAPS=`node -p "process.argv[1][0].toUpperCase() + process.argv[1].toString().substring(1)" $BROWSER`
Expand Down
Loading

0 comments on commit d200a00

Please sign in to comment.