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
26 changes: 13 additions & 13 deletions .circleci/config.yml → .circleci/config.bak
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,6 @@ version: 2.1
workflows:
build-and-test-multi-arch:
jobs:
- kubernetes-test:
name: "K8s test - Playwright Connect Autoscaling Grid"
platforms: linux/arm64
machine-type: ubuntu2204arm64large
k8s-version: 'v1.25.16'
test-strategy: playwright_connect_grid
cluster: 'minikube'
helm-version: 'v3.11.3'
docker-version: '24.0.9'
test-upgrade: true
- kubernetes-test:
name: "K8s test - Autoscaling disabled"
platforms: linux/arm64
Expand Down Expand Up @@ -47,7 +37,7 @@ workflows:
name: "K8s test - Autoscaling Jobs - HTTPS"
platforms: linux/arm64
machine-type: ubuntu2204arm64large
k8s-version: 'v1.29.12'
k8s-version: 'v1.29.13'
test-strategy: job_https
cluster: 'minikube'
helm-version: 'v3.14.3'
Expand All @@ -57,7 +47,7 @@ workflows:
name: "K8s test - Autoscaling Jobs - Ingress hostname"
platforms: linux/arm64
machine-type: ubuntu2204arm64large
k8s-version: 'v1.30.8'
k8s-version: 'v1.30.9'
test-strategy: job_hostname
cluster: 'minikube'
helm-version: 'v3.15.4'
Expand All @@ -67,12 +57,22 @@ workflows:
name: "K8s test - Autoscaling Deployments - HTTPS"
platforms: linux/arm64
machine-type: ubuntu2204arm64large
k8s-version: 'v1.31.4'
k8s-version: 'v1.31.5'
test-strategy: deployment_https
cluster: 'minikube'
helm-version: 'v3.16.4'
docker-version: '27.4.1'
test-upgrade: true
- kubernetes-test:
name: "K8s test - Playwright Connect Autoscaling Grid"
platforms: linux/arm64
machine-type: ubuntu2204arm64large
k8s-version: 'v1.32.1'
test-strategy: playwright_connect_grid
cluster: 'minikube'
helm-version: 'v3.17.0'
docker-version: '26.1.4'
test-upgrade: true
- docker-test:
name: "Docker test - Use random user (true)"
test-strategy: test
Expand Down
12 changes: 6 additions & 6 deletions .github/actions/get-latest-upstream/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,20 +18,20 @@ runs:
shell: bash
run: |
sudo apt update
sudo apt install gh
echo "${{ inputs.gh_cli_token }}" | gh auth login --with-token
sudo apt install jq
AUTH_HEADER="Authorization: token ${{ inputs.gh_cli_token }}"
if [ "${{ inputs.release }}" = "true" ]; then
echo "Getting the latest stable release."
RELEASE=$(gh release list -R SeleniumHQ/selenium | grep -v nightly | awk '{ print $4 }' | head -1)
RELEASE=$(curl -s -H "$AUTH_HEADER" https://api.github.com/repos/SeleniumHQ/selenium/releases | jq -r '[.[] | select(.prerelease == false)] | .[0].tag_name')
else
echo "Getting the latest Nightly release."
RELEASE=$(gh release list -R SeleniumHQ/selenium | grep nightly | awk '{ print $3 }' | head -1)
RELEASE=$(curl -s -H "$AUTH_HEADER" https://api.github.com/repos/SeleniumHQ/selenium/releases | jq -r '[.[] | select(.prerelease == true)] | .[0].tag_name')
if [ -z "${RELEASE}" ]; then
echo "Nightly release not found, getting the latest stable release."
RELEASE=$(gh release list -R SeleniumHQ/selenium | grep -v nightly | awk '{ print $4 }' | head -1)
RELEASE=$(curl -s -H "$AUTH_HEADER" https://api.github.com/repos/SeleniumHQ/selenium/releases | jq -r '[.[] | select(.prerelease == false)] | .[0].tag_name')
fi
fi
jar_file=$(gh release view -R SeleniumHQ/selenium ${RELEASE} | grep jar | awk '{ print $2 }' | tail -n 1)
jar_file=$(curl -s -H "$AUTH_HEADER" https://api.github.com/repos/SeleniumHQ/selenium/releases/tags/${RELEASE} | jq -r '.assets[] | select(.name | endswith(".jar")) | .name' | tail -n 1)
echo "Server package: ${jar_file}"
VERSION=$(echo $jar_file | sed 's/selenium-server-//;s/\.jar//')
echo "BASE_RELEASE=${RELEASE} | BASE_VERSION=${VERSION} | VERSION=${VERSION}"
Expand Down
122 changes: 118 additions & 4 deletions .github/workflows/docker-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ permissions:
jobs:
build-and-test:
name: Test Docker Selenium
runs-on: ubuntu-24.04
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
Expand All @@ -38,38 +38,129 @@ jobs:
use-random-user: true
test-video: false
build-all: true
os: ubuntu-24.04
firefox-install-lang-package:
enable-managed-downloads:
- test-strategy: test
use-random-user: false
test-video: false
build-all: true
os: ubuntu-24.04
firefox-install-lang-package:
enable-managed-downloads:
- test-strategy: test_video
use-random-user: false
test-video: true
build-all: false
os: ubuntu-24.04
firefox-install-lang-package:
enable-managed-downloads:
- test-strategy: test_video_dynamic_name
use-random-user: false
test-video: true
build-all: false
os: ubuntu-24.04
firefox-install-lang-package:
enable-managed-downloads:
- test-strategy: test_video_standalone
use-random-user: false
test-video: true
build-all: false
os: ubuntu-24.04
firefox-install-lang-package:
enable-managed-downloads:
- test-strategy: test_node_docker
use-random-user: false
test-video: true
build-all: false
os: ubuntu-24.04
firefox-install-lang-package:
enable-managed-downloads:
- test-strategy: test_standalone_docker
use-random-user: false
test-video: true
build-all: false
os: ubuntu-24.04
firefox-install-lang-package:
enable-managed-downloads:
- test-strategy: test_parallel
use-random-user: false
test-video: false
build-all: false
os: ubuntu-24.04
firefox-install-lang-package:
enable-managed-downloads:
- test-strategy: test_node_relay
use-random-user: false
test-video: false
build-all: false
os: ubuntu-24.04
firefox-install-lang-package:
enable-managed-downloads:
###
- test-strategy: test
use-random-user: true
test-video: false
build-all: true
os: ubuntu-24.04-arm
firefox-install-lang-package: false
enable-managed-downloads: false
- test-strategy: test
use-random-user: false
test-video: false
build-all: true
os: ubuntu-24.04-arm
firefox-install-lang-package: false
enable-managed-downloads: false
- test-strategy: test_video
use-random-user: false
test-video: true
build-all: false
os: ubuntu-24.04-arm
firefox-install-lang-package: true
enable-managed-downloads: true
- test-strategy: test_video_dynamic_name
use-random-user: false
test-video: true
build-all: false
os: ubuntu-24.04-arm
firefox-install-lang-package: true
enable-managed-downloads: true
- test-strategy: test_video_standalone
use-random-user: false
test-video: true
build-all: false
os: ubuntu-24.04-arm
firefox-install-lang-package: true
enable-managed-downloads: true
- test-strategy: test_node_docker
use-random-user: false
test-video: true
build-all: false
os: ubuntu-24.04-arm
firefox-install-lang-package: true
enable-managed-downloads: false
- test-strategy: test_standalone_docker
use-random-user: false
test-video: true
build-all: false
os: ubuntu-24.04-arm
firefox-install-lang-package: true
enable-managed-downloads: true
- test-strategy: test_parallel
use-random-user: false
test-video: false
build-all: false
os: ubuntu-24.04-arm
firefox-install-lang-package: false
enable-managed-downloads: true
- test-strategy: test_node_relay
use-random-user: false
test-video: false
build-all: false
os: ubuntu-24.04-arm
firefox-install-lang-package: true
enable-managed-downloads: true
steps:
- name: Free Disk Space (Ubuntu)
uses: jlumbroso/free-disk-space@main
Expand All @@ -96,7 +187,7 @@ jobs:
python-version: '3.11'
check-latest: true
- name: Enable KVM
if: matrix.test-strategy == 'test_node_relay'
if: matrix.test-strategy == 'test_node_relay' && contains(matrix.os, 'arm') == false
run: |
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
sudo udevadm control --reload-rules
Expand Down Expand Up @@ -143,19 +234,42 @@ jobs:
LOG_LEVEL: ${{ github.event.inputs.log-level || 'INFO' }}
TEST_PARALLEL_HARDENING: ${{ github.event.inputs.parallel-hardening || 'true' }}
REQUEST_TIMEOUT: ${{ github.event.inputs.request-timeout || '400' }}
- name: Run Docker Compose to ${{ matrix.test-strategy }}
- name: Set environment variables
run: |
if [ -n "${TEST_FIREFOX_INSTALL_LANG_PACKAGE}" ]; then
echo "TEST_FIREFOX_INSTALL_LANG_PACKAGE=${TEST_FIREFOX_INSTALL_LANG_PACKAGE}" >> $GITHUB_ENV
fi
if [ -n "${SELENIUM_ENABLE_MANAGED_DOWNLOADS}" ]; then
echo "SELENIUM_ENABLE_MANAGED_DOWNLOADS=${SELENIUM_ENABLE_MANAGED_DOWNLOADS}" >> $GITHUB_ENV
fi
env:
TEST_FIREFOX_INSTALL_LANG_PACKAGE: ${{ matrix.firefox-install-lang-package }}
SELENIUM_ENABLE_MANAGED_DOWNLOADS: ${{ matrix.enable-managed-downloads }}
- name: Run Docker Compose to ${{ matrix.test-strategy }} on AMD64
if: contains(matrix.os, 'arm') == false
uses: nick-invision/retry@master
with:
timeout_minutes: 40
max_attempts: 2
retry_wait_seconds: 60
command: |
USE_RANDOM_USER_ID=${{ matrix.use-random-user }} VERSION=${BRANCH} BUILD_DATE=${BUILD_DATE} make ${{ matrix.test-strategy }}
- name: Run Docker Compose to ${{ matrix.test-strategy }} on ARM64
if: contains(matrix.os, 'arm') == true
uses: nick-invision/retry@master
with:
timeout_minutes: 40
max_attempts: 2
retry_wait_seconds: 60
command: |
USE_RANDOM_USER_ID=${{ matrix.use-random-user }} VERSION=${BRANCH} BUILD_DATE=${BUILD_DATE} \
TEST_FIREFOX_INSTALL_LANG_PACKAGE=${TEST_FIREFOX_INSTALL_LANG_PACKAGE} SELENIUM_ENABLE_MANAGED_DOWNLOADS=${SELENIUM_ENABLE_MANAGED_DOWNLOADS} \
make ${{ matrix.test-strategy }}
- name: Upload recorded video
if: matrix.test-video == true
uses: actions/upload-artifact@main
with:
name: "${{ matrix.test-strategy }}_artifacts"
name: "${{ matrix.test-strategy }}_artifacts_${{ matrix.os }}"
path: ./tests/videos/
- name: Clean up Docker
if: always()
Expand Down
33 changes: 20 additions & 13 deletions .github/workflows/helm-chart-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,19 +34,11 @@ permissions:
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.25.16'
test-strategy: playwright_connect_grid
cluster: 'minikube'
helm-version: 'v3.11.3'
docker-version: '26.1.4'
python-version: '3.8'
test-upgrade: true
service-mesh: true
- k8s-version: 'v1.26.15'
test-strategy: disabled
cluster: 'minikube'
Expand All @@ -55,6 +47,7 @@ jobs:
python-version: '3.8'
test-upgrade: true
service-mesh: false
os: ubuntu-24.04
- k8s-version: 'v1.27.16'
test-strategy: job
cluster: 'minikube'
Expand All @@ -63,6 +56,7 @@ jobs:
python-version: '3.9'
test-upgrade: true
service-mesh: true
os: ubuntu-24.04
- k8s-version: 'v1.28.15'
test-strategy: deployment
cluster: 'minikube'
Expand All @@ -71,30 +65,43 @@ jobs:
python-version: '3.10'
test-upgrade: true
service-mesh: true
- k8s-version: 'v1.29.12'
os: ubuntu-24.04
- k8s-version: 'v1.29.13'
test-strategy: job_https
cluster: 'minikube'
helm-version: 'v3.14.3'
docker-version: '26.1.4'
python-version: '3.11'
test-upgrade: true
service-mesh: false
- k8s-version: 'v1.30.8'
os: ubuntu-24.04
- k8s-version: 'v1.30.9'
test-strategy: job_hostname
cluster: 'minikube'
helm-version: 'v3.15.4'
docker-version: '26.1.4'
python-version: '3.12'
test-upgrade: true
service-mesh: false
- k8s-version: 'v1.31.4'
os: ubuntu-24.04
- k8s-version: 'v1.31.5'
test-strategy: deployment_https
cluster: 'minikube'
helm-version: 'v3.16.4'
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
cluster: 'minikube'
helm-version: 'v3.17.0'
docker-version: '26.1.4'
python-version: '3.10'
test-upgrade: true
service-mesh: true
os: ubuntu-24.04
env:
CLUSTER: ${{ matrix.cluster }}
KUBERNETES_VERSION: ${{ matrix.k8s-version }}
Expand Down Expand Up @@ -199,7 +206,7 @@ jobs:
if: always()
uses: actions/upload-artifact@main
with:
name: "${{ env.ARTIFACT_NAME }}_${{ env.CHART_FILE_NAME }}"
name: "${{ env.ARTIFACT_NAME }}_${{ env.CHART_FILE_NAME }}_${{ matrix.os }}"
path: ${{ env.CHART_PACKAGE_PATH }}
- name: Upload chart test artifacts
if: always()
Expand Down
Loading