@@ -78,10 +78,30 @@ jobs:
7878 uses : gradle/actions/setup-gradle@v4
7979
8080 - name : Build with Gradle
81+ # FIXME: Sonatype returns 401 for the snapshots repository
82+ # latest_snapshot=$(curl -sf https://oss.sonatype.org/content/repositories/snapshots/org/seleniumhq/selenium/selenium-api/ | \
83+ # python -c "import sys,re; print(re.findall(r'\d+\.\d+\.\d+-SNAPSHOT', sys.stdin.read())[-1])")
84+ # echo ">>> $latest_snapshot"
85+ # echo "latest_snapshot=$latest_snapshot" >> "$GITHUB_ENV"
86+ # ./gradlew clean build -PisCI -Pselenium.version=$latest_snapshot
8187 run : |
82- latest_snapshot=$(curl -sf https://oss.sonatype.org/content/repositories/snapshots/org/seleniumhq/selenium/selenium-api/ | \
83- python -c "import sys,re; print(re.findall(r'\d+\.\d+\.\d+-SNAPSHOT', sys.stdin.read())[-1])")
84- echo ">>> $latest_snapshot"
88+ GROUP_ID="org.seleniumhq.selenium"
89+ ARTIFACT_ID="selenium-api"
90+ REPO_URL="https://repo1.maven.org/maven2"
91+ GROUP_PATH="${GROUP_ID//.//}"
92+ METADATA_URL="${REPO_URL}/${GROUP_PATH}/${ARTIFACT_ID}/maven-metadata.xml"
93+
94+ metadata=$(curl -s "$METADATA_URL")
95+ latest_snapshot=$(python3 -c "
96+ import sys, xml.etree.ElementTree as ET
97+ root = ET.fromstring(sys.stdin.read())
98+ print(root.findtext('./versioning/latest'))
99+ " <<< "$metadata")
100+ if [ -z "$latest_snapshot" ]; then
101+ echo "❌ Failed to extract latest released version of ${ARTIFACT_ID} from $metadata"
102+ exit 1
103+ fi
104+ echo "✅ Latest released version of ${ARTIFACT_ID} is: $latest_snapshot"
85105 echo "latest_snapshot=$latest_snapshot" >> "$GITHUB_ENV"
86106 ./gradlew clean build -PisCI -Pselenium.version=$latest_snapshot
87107
0 commit comments