Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 21 additions & 21 deletions .github/workflows/helm-chart-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,68 +40,68 @@ jobs:
matrix:
include:
- k8s-version: 'v1.26.15'
test-strategy: disabled
cluster: 'minikube'
helm-version: 'v3.11.3'
docker-version: '26.1.4'
python-version: '3.8'
python-version: '3.9'
test-upgrade: true
service-mesh: false
os: ubuntu-24.04
os: ubuntu-22.04
test-strategy: disabled
- k8s-version: 'v1.27.16'
test-strategy: job
cluster: 'minikube'
helm-version: 'v3.12.3'
docker-version: '26.1.4'
python-version: '3.9'
test-upgrade: true
service-mesh: true
os: ubuntu-24.04
os: ubuntu-22.04
test-strategy: job
- k8s-version: 'v1.28.15'
test-strategy: deployment
cluster: 'minikube'
helm-version: 'v3.13.3'
docker-version: '26.1.4'
python-version: '3.10'
test-upgrade: true
service-mesh: true
os: ubuntu-24.04
- k8s-version: 'v1.29.13'
test-strategy: job_https
os: ubuntu-22.04
test-strategy: deployment
- k8s-version: 'v1.29.14'
cluster: 'minikube'
helm-version: 'v3.14.3'
docker-version: '27.5.1'
python-version: '3.11'
test-upgrade: true
service-mesh: false
os: ubuntu-24.04
- k8s-version: 'v1.30.9'
test-strategy: job_hostname
os: ubuntu-22.04
test-strategy: job_https
- k8s-version: 'v1.30.10'
cluster: 'minikube'
helm-version: 'v3.15.4'
docker-version: '27.5.1'
python-version: '3.12'
test-upgrade: true
service-mesh: false
os: ubuntu-24.04
- k8s-version: 'v1.31.5'
test-strategy: deployment_https
os: ubuntu-22.04
test-strategy: job_hostname
- k8s-version: 'v1.31.6'
cluster: 'minikube'
helm-version: 'v3.16.4'
docker-version: '28.0.1'
docker-version: '27.4.1'
python-version: '3.13'
test-upgrade: true
service-mesh: false
os: ubuntu-24.04
- k8s-version: 'v1.32.1'
test-strategy: playwright_connect_grid
os: ubuntu-22.04
test-strategy: deployment_https
- k8s-version: 'v1.32.2'
cluster: 'minikube'
helm-version: 'v3.17.0'
docker-version: '28.0.1'
docker-version: '26.1.4'
python-version: '3.10'
test-upgrade: true
service-mesh: true
os: ubuntu-24.04
os: ubuntu-22.04
test-strategy: playwright_connect_grid
env:
CLUSTER: ${{ matrix.cluster }}
KUBERNETES_VERSION: ${{ matrix.k8s-version }}
Expand Down
54 changes: 30 additions & 24 deletions .github/workflows/k8s-scaling-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,47 +56,53 @@ env:
jobs:
build-and-test:
name: Test K8s
runs-on: ubuntu-24.04
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
- k8s-version: 'v1.31.5'
- k8s-version: 'v1.27.16'
cluster: 'minikube'
helm-version: 'v3.12.3'
docker-version: '26.1.4'
python-version: '3.9'
os: ubuntu-22.04
test-strategy: test_k8s_autoscaling_job_count_strategy_default_in_chaos
- k8s-version: 'v1.28.15'
cluster: 'minikube'
helm-version: 'v3.16.4'
docker-version: '28.0.1'
python-version: '3.13'
- k8s-version: 'v1.31.5'
helm-version: 'v3.13.3'
docker-version: '26.1.4'
python-version: '3.10'
os: ubuntu-22.04
test-strategy: test_k8s_autoscaling_job_count_strategy_default_with_node_max_sessions
- k8s-version: 'v1.29.14'
cluster: 'minikube'
helm-version: 'v3.16.4'
docker-version: '28.0.1'
python-version: '3.13'
- k8s-version: 'v1.31.5'
helm-version: 'v3.14.3'
docker-version: '27.5.1'
python-version: '3.11'
os: ubuntu-22.04
test-strategy: test_k8s_autoscaling_job_count_strategy_default
- k8s-version: 'v1.30.10'
cluster: 'minikube'
helm-version: 'v3.16.4'
docker-version: '28.0.1'
python-version: '3.13'
- k8s-version: 'v1.31.5'
helm-version: 'v3.15.4'
docker-version: '27.5.1'
python-version: '3.12'
os: ubuntu-22.04
test-strategy: test_k8s_autoscaling_deployment_count_in_chaos
- k8s-version: 'v1.31.6'
cluster: 'minikube'
helm-version: 'v3.16.4'
docker-version: '28.0.1'
docker-version: '27.4.1'
python-version: '3.13'
- k8s-version: 'v1.31.5'
os: ubuntu-22.04
test-strategy: test_k8s_autoscaling_deployment_count_with_node_max_sessions
- k8s-version: 'v1.32.2'
cluster: 'minikube'
helm-version: 'v3.16.4'
docker-version: '28.0.1'
python-version: '3.13'
- k8s-version: 'v1.31.5'
helm-version: 'v3.17.0'
docker-version: '26.1.4'
python-version: '3.10'
os: ubuntu-22.04
test-strategy: test_k8s_autoscaling_deployment_count
cluster: 'minikube'
helm-version: 'v3.16.4'
docker-version: '28.0.1'
python-version: '3.13'
env:
CLUSTER: ${{ matrix.cluster }}
KUBERNETES_VERSION: ${{ matrix.k8s-version }}
Expand Down
11 changes: 9 additions & 2 deletions .github/workflows/release-chrome-versions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ on:
browser-versions:
description: 'List browser version to build. E.g: [130, 131]'
required: true
default: '[97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133]'
default: '[95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134]'
push-image:
description: 'Push image after testing successfully'
required: true
Expand Down Expand Up @@ -123,14 +123,21 @@ jobs:
- name: Build Hub image for testing
if: env.REUSE_BASE == 'false'
run: make hub
- name: Test images with Grid core ${{ env.GRID_VERSION }} and ${{ env.BROWSER_NAME }} v${{ env.BROWSER_VERSION }}
- name: Test images Node with Grid core ${{ env.GRID_VERSION }} and ${{ env.BROWSER_NAME }} v${{ env.BROWSER_VERSION }}
uses: nick-invision/retry@master
with:
timeout_minutes: 20
max_attempts: 3
retry_wait_seconds: 60
command: |
make test_chrome
- name: Test images Standalone with Grid core ${{ env.GRID_VERSION }} and ${{ env.BROWSER_NAME }} v${{ env.BROWSER_VERSION }}
uses: nick-invision/retry@master
with:
timeout_minutes: 20
max_attempts: 3
retry_wait_seconds: 60
command: |
make test_chrome_standalone
- name: Push images with Grid core ${{ env.GRID_VERSION }} and ${{ env.BROWSER_NAME }} v${{ env.BROWSER_VERSION }}
if: env.PUSH_IMAGE == 'true'
Expand Down
11 changes: 9 additions & 2 deletions .github/workflows/release-edge-versions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ on:
browser-versions:
description: 'List browser version to build. E.g: [130, 131]'
required: true
default: '[114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133]'
default: '[95, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133]'
push-image:
description: 'Push image after testing successfully'
required: true
Expand Down Expand Up @@ -123,14 +123,21 @@ jobs:
- name: Build Hub image for testing
if: env.REUSE_BASE == 'false'
run: make hub
- name: Test images with Grid core ${{ env.GRID_VERSION }} and ${{ env.BROWSER_NAME }} v${{ env.BROWSER_VERSION }}
- name: Test images Node with Grid core ${{ env.GRID_VERSION }} and ${{ env.BROWSER_NAME }} v${{ env.BROWSER_VERSION }}
uses: nick-invision/retry@master
with:
timeout_minutes: 20
max_attempts: 3
retry_wait_seconds: 60
command: |
make test_edge
- name: Test images Standalone with Grid core ${{ env.GRID_VERSION }} and ${{ env.BROWSER_NAME }} v${{ env.BROWSER_VERSION }}
uses: nick-invision/retry@master
with:
timeout_minutes: 20
max_attempts: 3
retry_wait_seconds: 60
command: |
make test_edge_standalone
- name: Push images with Grid core ${{ env.GRID_VERSION }} and ${{ env.BROWSER_NAME }} v${{ env.BROWSER_VERSION }}
if: env.PUSH_IMAGE == 'true'
Expand Down
13 changes: 10 additions & 3 deletions .github/workflows/release-firefox-versions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ on:
browser-versions:
description: 'List browser version to build. E.g: [130, 131]'
required: true
default: '[98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135]'
default: '[98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136]'
push-image:
description: 'Push image after testing successfully'
required: true
Expand Down Expand Up @@ -123,14 +123,21 @@ jobs:
- name: Build Hub image for testing
if: env.REUSE_BASE == 'false'
run: make hub
- name: Test images with Grid core ${{ env.GRID_VERSION }} and ${{ env.BROWSER_NAME }} v${{ env.BROWSER_VERSION }}
- name: Test images Node with Grid core ${{ env.GRID_VERSION }} and ${{ env.BROWSER_NAME }} v${{ env.BROWSER_VERSION }}
uses: nick-invision/retry@master
with:
timeout_minutes: 20
max_attempts: 3
retry_wait_seconds: 60
command: |
TEST_FIREFOX_INSTALL_LANG_PACKAGE=false FIREFOX_VERSION=${FIREFOX_VERSION} make test_firefox
- name: Test images Standalone with Grid core ${{ env.GRID_VERSION }} and ${{ env.BROWSER_NAME }} v${{ env.BROWSER_VERSION }}
uses: nick-invision/retry@master
with:
timeout_minutes: 20
max_attempts: 3
retry_wait_seconds: 60
command: |
FIREFOX_VERSION=${FIREFOX_VERSION} make test_firefox
FIREFOX_VERSION=${FIREFOX_VERSION} make test_firefox_standalone
- name: Push images with Grid core ${{ env.GRID_VERSION }} and ${{ env.BROWSER_NAME }} v${{ env.BROWSER_VERSION }}
if: env.PUSH_IMAGE == 'true'
Expand Down
6 changes: 4 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ CURRENT_PLATFORM := $(shell if [ `arch` = "aarch64" ] || [ `arch` = "arm64" ]; t
PLATFORMS := $(or $(PLATFORMS),$(shell echo $$PLATFORMS),$(CURRENT_PLATFORM))
SEL_PASSWD := $(or $(SEL_PASSWD),$(SEL_PASSWD),secret)
CHROMIUM_VERSION := $(or $(CHROMIUM_VERSION),$(CHROMIUM_VERSION),latest)
FIREFOX_DOWNLOAD_URL := $(or $(FIREFOX_DOWNLOAD_URL),$(FIREFOX_DOWNLOAD_URL),https://download-installer.cdn.mozilla.net/pub/firefox/nightly/2025/01/2025-01-06-09-47-46-mozilla-central/firefox-135.0a1.en-US.linux-aarch64.deb)
FIREFOX_DOWNLOAD_URL := $(or $(FIREFOX_DOWNLOAD_URL),$(FIREFOX_DOWNLOAD_URL),)
SBOM_OUTPUT := $(or $(SBOM_OUTPUT),$(SBOM_OUTPUT),package_versions.txt)
KEDA_TAG_PREV_VERSION := $(or $(KEDA_TAG_PREV_VERSION),$(KEDA_TAG_PREV_VERSION),2.16.1-selenium-grid)
KEDA_CORE_VERSION := $(or $(KEDA_CORE_VERSION),$(KEDA_CORE_VERSION),2.16.1)
Expand Down Expand Up @@ -60,7 +60,9 @@ check_dev_env:

setup_dev_env:
./tests/charts/make/chart_setup_env.sh ; \
make set_containerd_image_store
exit_code=$$? ; \
make set_containerd_image_store ; \
exit $$exit_code ;

set_containerd_image_store:
sudo mkdir -p /etc/docker
Expand Down
8 changes: 5 additions & 3 deletions NodeFirefox/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,9 @@ ARG FIREFOX_VERSION=latest
ARG FIREFOX_DOWNLOAD_URL=""
ARG FIREFOX_LANG_VERSION=${FIREFOX_VERSION}
RUN apt-get update -qqy && \
if [ "$(dpkg --print-architecture)" = "amd64" ]; then \
FIREFOX_MAJOR_VERSION=${FIREFOX_VERSION%%.*} && \
ARCH=$(if [ "$(dpkg --print-architecture)" = "amd64" ]; then echo "x86_64"; else echo "aarch64"; fi) && \
if [ "$(dpkg --print-architecture)" = "amd64" ] || [ $FIREFOX_VERSION = "latest" ] || [ "${FIREFOX_MAJOR_VERSION}" -ge 136 ]; then \
if [ $FIREFOX_VERSION = "latest" ] || [ $FIREFOX_VERSION = "beta-latest" ] || [ $FIREFOX_VERSION = "nightly-latest" ] || [ $FIREFOX_VERSION = "devedition-latest" ] || [ $FIREFOX_VERSION = "esr-latest" ]; then \
/opt/bin/install-firefox-apt.sh \
&& FIREFOX_VERSION=$(echo "-$FIREFOX_VERSION" | sed 's/-latest//') \
Expand All @@ -31,9 +33,9 @@ RUN apt-get update -qqy && \
ln -fs $(which firefox$FIREFOX_VERSION) /usr/bin/firefox ; \
fi ; \
else \
FIREFOX_DOWNLOAD_URL="https://download-installer.cdn.mozilla.net/pub/firefox/releases/$FIREFOX_VERSION/linux-x86_64/en-US/firefox-$FIREFOX_VERSION.deb" \
FIREFOX_DOWNLOAD_URL="https://download-installer.cdn.mozilla.net/pub/firefox/releases/$FIREFOX_VERSION/linux-$ARCH/en-US/firefox-$FIREFOX_VERSION.deb" \
&& if [ "404" = "$(curl -s -o /dev/null -w "%{http_code}" $FIREFOX_DOWNLOAD_URL)" ]; then \
FIREFOX_DOWNLOAD_URL="https://download-installer.cdn.mozilla.net/pub/firefox/releases/$FIREFOX_VERSION/linux-x86_64/en-US/firefox-$FIREFOX_VERSION.tar.bz2" ; \
FIREFOX_DOWNLOAD_URL="https://download-installer.cdn.mozilla.net/pub/firefox/releases/$FIREFOX_VERSION/linux-$ARCH/en-US/firefox-$FIREFOX_VERSION.tar.bz2" ; \
fi ; \
fi \
else \
Expand Down
Empty file modified NodeFirefox/install-firefox-apt.sh
100644 → 100755
Empty file.
3 changes: 1 addition & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -153,8 +153,7 @@ Similarly, Microsoft does not build Edge (`microsoft-edge`) for Linux/ARM platfo
$ docker run --rm -it -p 4444:4444 -p 5900:5900 -p 7900:7900 --shm-size 2g selenium/standalone-chromium:latest
```

- Mozilla Firefox now is available for Linux/ARM64 via [Nightly channel](https://blog.nightly.mozilla.org/2024/04/19/firefox-nightly-now-available-for-linux-on-arm64/).
The Firefox version in ARM64 will be different with the AMD64 until the stable release is available (Noted: we had workaround by pinning the versions getting from [Firefox download installer](https://download-installer.cdn.mozilla.net/pub/firefox/nightly/). The Firefox (node and standalone) images are available in multi-arch.
- Mozilla Firefox now is available for Linux/ARM64 via APT stable channel from v136+. The Firefox (node and standalone) images are available in multi-arch.

Multi-arch images are tested on CircleCI with resource class Linux/ARM64. See the status below.

Expand Down
16 changes: 16 additions & 0 deletions tests/build-backward-compatible/browser-matrix.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,19 @@
matrix:
browser:
'136':
EDGE_VERSION: null
CHROME_VERSION: null
FIREFOX_VERSION: 136.0
FIREFOX_PLATFORMS: linux/amd64,linux/arm64
'135':
EDGE_VERSION: null
CHROME_VERSION: null
FIREFOX_VERSION: 135.0.1
FIREFOX_DOWNLOAD_URL: https://download-installer.cdn.mozilla.net/pub/firefox/nightly/2025/01/2025-01-06-09-47-46-mozilla-central/firefox-135.0a1.en-US.linux-aarch64.deb
FIREFOX_PLATFORMS: linux/amd64,linux/arm64
'134':
EDGE_VERSION: null
CHROME_VERSION: google-chrome-stable=134.0.6998.35-1
FIREFOX_VERSION: 134.0.2
FIREFOX_DOWNLOAD_URL: https://download-installer.cdn.mozilla.net/pub/firefox/nightly/2024/11/2024-11-25-09-40-45-mozilla-central/firefox-134.0a1.en-US.linux-aarch64.deb
FIREFOX_PLATFORMS: linux/amd64,linux/arm64
Expand Down Expand Up @@ -157,3 +166,10 @@ matrix:
'97':
CHROME_VERSION: google-chrome-stable=97.0.4692.99-1
FIREFOX_VERSION: 97.0.2
'96':
CHROME_VERSION: google-chrome-stable=96.0.4664.110-1
FIREFOX_VERSION: 96.0.3
'95':
CHROME_VERSION: google-chrome-stable=95.0.4638.69-1
EDGE_VERSION: microsoft-edge-stable=95.0.1020.40-1
FIREFOX_VERSION: 95.0.2
Loading
Loading