From c5f2776334b46dae93ac9212ab88b2eb04d31e59 Mon Sep 17 00:00:00 2001 From: Mykola Mokhnach Date: Mon, 30 Jun 2025 22:00:22 +0200 Subject: [PATCH 1/4] ci: Temporarily use latest released selenium version to run tests --- .github/workflows/ci.yml | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 591678f6d..280f9e384 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -78,12 +78,22 @@ jobs: uses: gradle/actions/setup-gradle@v4 - 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 run: | - 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 + 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" + + sudo apt-get update && sudo apt-get install -y libxml2-utils + LATEST_VERSION=$(curl -s "$METADATA_URL" | xmllint --xpath "string(//metadata/versioning/latest)" -) + ./gradlew clean build -PisCI -Pselenium.version=$LATEST_VERSION - name: Install Node.js if: ${{ matrix.e2e-tests }} From 6b0b9b9affdcde2ecc1f12990f728591623837f1 Mon Sep 17 00:00:00 2001 From: Mykola Mokhnach Date: Mon, 30 Jun 2025 22:05:02 +0200 Subject: [PATCH 2/4] Use python --- .github/workflows/ci.yml | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 280f9e384..948d4153e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -91,9 +91,17 @@ jobs: GROUP_PATH="${GROUP_ID//.//}" METADATA_URL="${REPO_URL}/${GROUP_PATH}/${ARTIFACT_ID}/maven-metadata.xml" - sudo apt-get update && sudo apt-get install -y libxml2-utils - LATEST_VERSION=$(curl -s "$METADATA_URL" | xmllint --xpath "string(//metadata/versioning/latest)" -) - ./gradlew clean build -PisCI -Pselenium.version=$LATEST_VERSION + metadata=$(curl -s "$METADATA_URL") + latest_version=$(python3 -c " + import sys, xml.etree.ElementTree as ET + root = ET.fromstring(sys.stdin.read()) + print(root.findtext('./versioning/latest')) + " <<< "$metadata") + if [ -z "$latest_version" ]; then + echo "❌ Failed to extract latest Selenium version from $metadata" + exit 1 + fi + ./gradlew clean build -PisCI -Pselenium.version=$latest_version - name: Install Node.js if: ${{ matrix.e2e-tests }} From 7f956985a7e02c6cfb132a273eb336981741668f Mon Sep 17 00:00:00 2001 From: Mykola Mokhnach Date: Mon, 30 Jun 2025 22:08:53 +0200 Subject: [PATCH 3/4] wording --- .github/workflows/ci.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 948d4153e..0aafd2c73 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -98,9 +98,10 @@ jobs: print(root.findtext('./versioning/latest')) " <<< "$metadata") if [ -z "$latest_version" ]; then - echo "❌ Failed to extract latest Selenium version from $metadata" + echo "❌ Failed to extract latest released version of ${ARTIFACT_ID} from $metadata" exit 1 fi + echo "✅ Latest released version of ${ARTIFACT_ID} is: $latest_version" ./gradlew clean build -PisCI -Pselenium.version=$latest_version - name: Install Node.js From 440e2b953d4190ba48d464f1bf651f0bcc79139a Mon Sep 17 00:00:00 2001 From: Mykola Mokhnach Date: Mon, 30 Jun 2025 22:19:44 +0200 Subject: [PATCH 4/4] Add to env --- .github/workflows/ci.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0aafd2c73..33ac2e644 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -92,17 +92,18 @@ jobs: METADATA_URL="${REPO_URL}/${GROUP_PATH}/${ARTIFACT_ID}/maven-metadata.xml" metadata=$(curl -s "$METADATA_URL") - latest_version=$(python3 -c " + 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_version" ]; then + 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_version" - ./gradlew clean build -PisCI -Pselenium.version=$latest_version + echo "✅ Latest released version of ${ARTIFACT_ID} is: $latest_snapshot" + echo "latest_snapshot=$latest_snapshot" >> "$GITHUB_ENV" + ./gradlew clean build -PisCI -Pselenium.version=$latest_snapshot - name: Install Node.js if: ${{ matrix.e2e-tests }}