diff --git a/.github/workflows/mirror-selenium-releases.yml b/.github/workflows/mirror-selenium-releases.yml index 1a7829fdad0ed..755b981e51978 100644 --- a/.github/workflows/mirror-selenium-releases.yml +++ b/.github/workflows/mirror-selenium-releases.yml @@ -14,6 +14,7 @@ jobs: steps: - uses: actions/checkout@v6 with: + ref: trunk persist-credentials: false - name: Read api.github.com and filter response run: | @@ -54,4 +55,4 @@ jobs: uses: ad-m/github-push-action@master with: github_token: ${{ secrets.SELENIUM_CI_TOKEN }} - branch: ${{ github.ref }} + branch: trunk diff --git a/rake_tasks/java.rake b/rake_tasks/java.rake index cdfa825a24b44..776bb71083f98 100644 --- a/rake_tasks/java.rake +++ b/rake_tasks/java.rake @@ -281,12 +281,10 @@ task :release do |_task, arguments| unless nightly already_published = begin - Rake::Task['java:verify'].invoke + SeleniumRake.verify_package_published(maven_central_pom_url) true rescue StandardError false - ensure - Rake::Task['java:verify'].reenable end if already_published @@ -327,10 +325,26 @@ task :release do |_task, arguments| trigger_sonatype_publish(token) end +def maven_central_pom_url + base = 'https://repo1.maven.org/maven2/org/seleniumhq/selenium/selenium-java' + "#{base}/#{java_version}/selenium-java-#{java_version}.pom" +end + desc 'Verify Java packages are published on Maven Central' task :verify do - base = 'https://repo1.maven.org/maven2/org/seleniumhq/selenium/selenium-java' - SeleniumRake.verify_package_published("#{base}/#{java_version}/selenium-java-#{java_version}.pom") + deadline = Process.clock_gettime(Process::CLOCK_MONOTONIC) + 600 + + begin + SeleniumRake.verify_package_published(maven_central_pom_url) + rescue StandardError => e + if Process.clock_gettime(Process::CLOCK_MONOTONIC) > deadline + raise "#{e.class}: #{e.message}; check https://central.sonatype.com/publishing/deployments" + end + + puts " #{e.class}: #{e.message}; Maven Central may still be indexing, retrying in 15s" + sleep 15 + retry + end end desc 'Install jars to local m2 directory'