This is an automated email from the ASF dual-hosted git repository.

jamesfredley pushed a commit to branch ci/publish-timeout-headroom
in repository https://gitbox.apache.org/repos/asf/grails-core.git

commit 82946a2ca8f50ece9a46a3d62f035393ed50cffc
Author: James Fredley <[email protected]>
AuthorDate: Sat Jul 4 18:21:59 2026 -0400

    ci: raise publish retry timeout to give slow Nexus uploads headroom
    
    The `publish` and `publishMicronaut` jobs wrap the Gradle publish command
    (`--no-build-cache --rerun-tasks`) in the `nick-fields/retry` action with a
    per-attempt `timeout_seconds: 1200` (20 min). That command does a full
    from-scratch recompile plus groovydoc/javadoc for 60+ modules and uploads to
    Apache Nexus, which legitimately runs ~14-20 min. When Nexus uploads are 
slow,
    a single attempt exceeds 20 min and is killed mid-publish; because every 
retry
    repeats the identical full uncached build, all 3 attempts hit the same wall 
and
    the job fails on a pure timeout (no build error, no Nexus exception).
    
    Raise `timeout_seconds` to 1800 (30 min) on both publish retry steps to give
    headroom for slow uploads so a single attempt is not killed mid-publish, 
while
    keeping `max_attempts: 3` / `retry_wait_seconds: 180` for genuine transient
    read-timeouts. Worst case (3 x 30 min + 2 x 180 s waits) is ~96 min, well 
under
    the GitHub Actions job limit.
    
    Assisted-by: opencode:claude-opus-4-8
---
 .github/workflows/gradle.yml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml
index 091d9346f5..898dea7e08 100644
--- a/.github/workflows/gradle.yml
+++ b/.github/workflows/gradle.yml
@@ -496,7 +496,7 @@ jobs:
           MAVEN_PUBLISH_USERNAME: ${{ secrets.NEXUS_USER }}
           MAVEN_PUBLISH_PASSWORD: ${{ secrets.NEXUS_PW  }}
         with: 
-          timeout_seconds: 1200 # normal range 14min if build is not cached 
(no tests running)
+          timeout_seconds: 1800 # normal range ~14min uncached (no tests); 
headroom for slow Nexus uploads so a single attempt is not killed mid-publish
           max_attempts: 3 # Attempts to address: Could not write to resource 
'https://repository.apache.org/content/repositories/snapshots/...' Read timed 
out
           retry_wait_seconds: 180
           command: ./gradlew publish aggregateChecksums 
aggregatePublishedArtifacts --no-build-cache --rerun-tasks
@@ -566,7 +566,7 @@ jobs:
           MAVEN_PUBLISH_USERNAME: ${{ secrets.NEXUS_USER }}
           MAVEN_PUBLISH_PASSWORD: ${{ secrets.NEXUS_PW  }}
         with:
-          timeout_seconds: 1200
+          timeout_seconds: 1800 # headroom for slow Nexus uploads so a single 
attempt is not killed mid-publish (see `publish` job)
           max_attempts: 3
           retry_wait_seconds: 180
           command: ./gradlew :grails-micronaut:publish 
:grails-micronaut-bom:publish --no-build-cache --rerun-tasks

Reply via email to