From 73ea421785f00cfe6e4991e9f6db16930eb0eaac Mon Sep 17 00:00:00 2001 From: Andrei Solntsev Date: Tue, 27 Jan 2026 14:56:46 +0200 Subject: [PATCH] build: compile against nightly Selenium Now GA build contains two steps: 1. Build with Selenium 4.41.0-SNAPSHOT (the latest nightly build) 2. Build with Selenium 4.40.0 (currently stable version) It will help to detect compatibility problems with the latest Selenium changes on an early stage. --- .github/workflows/ci.yml | 31 +++++++------------------------ build.gradle | 6 +++++- 2 files changed, 12 insertions(+), 25 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ec814bf63..41b5c892d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -79,34 +79,17 @@ jobs: - name: Setup Gradle uses: gradle/actions/setup-gradle@v5 - - name: Build with Gradle - # FIXME: Sonatype returns 401 for the snapshots repository - # latest_snapshot=$(curl -sf https://oss.sonatype.org/content/repositories/snapshots/org/seleniumhq/selenium/selenium-api/ | \ - # python -c "import sys,re; print(re.findall(r'\d+\.\d+\.\d+-SNAPSHOT', sys.stdin.read())[-1])") - # echo ">>> $latest_snapshot" - # echo "latest_snapshot=$latest_snapshot" >> "$GITHUB_ENV" - # ./gradlew clean build -PisCI -Pselenium.version=$latest_snapshot + - name: Build with Gradle against Selenium nightly build run: | - GROUP_ID="org.seleniumhq.selenium" - ARTIFACT_ID="selenium-api" - REPO_URL="https://repo1.maven.org/maven2" - GROUP_PATH="${GROUP_ID//.//}" - METADATA_URL="${REPO_URL}/${GROUP_PATH}/${ARTIFACT_ID}/maven-metadata.xml" - - metadata=$(curl -s "$METADATA_URL") - latest_snapshot=$(python3 -c " - import sys, xml.etree.ElementTree as ET - root = ET.fromstring(sys.stdin.read()) - print(root.findtext('./versioning/latest')) - " <<< "$metadata") - if [ -z "$latest_snapshot" ]; then - echo "❌ Failed to extract latest released version of ${ARTIFACT_ID} from $metadata" - exit 1 - fi - echo "✅ Latest released version of ${ARTIFACT_ID} is: $latest_snapshot" + latest_snapshot=$(curl -sf https://raw.githubusercontent.com/SeleniumHQ/selenium/refs/heads/trunk/java/version.bzl | grep 'SE_VERSION' | sed 's/.*"\(.*\)".*/\1/') + echo ">>> $latest_snapshot" echo "latest_snapshot=$latest_snapshot" >> "$GITHUB_ENV" ./gradlew clean build -PisCI -Pselenium.version=$latest_snapshot + - name: Build with Gradle against stable Selenium version + run: | + ./gradlew clean build -PisCI + - name: Install Node.js if: ${{ matrix.e2e-tests }} uses: actions/setup-node@v6 diff --git a/build.gradle b/build.gradle index 2990ec51c..60340fbfe 100644 --- a/build.gradle +++ b/build.gradle @@ -26,10 +26,14 @@ repositories { if (project.hasProperty("isCI")) { maven { - url uri('https://central.sonatype.com/api/v1/publisher') + name = 'Central Portal Snapshots' + url = 'https://central.sonatype.com/repository/maven-snapshots/' mavenContent { snapshotsOnly() } + content { + includeGroup("org.seleniumhq.selenium") + } } } }