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

vatsrahul1001 pushed a commit to branch v3-4-test
in repository https://gitbox.apache.org/repos/asf/airflow.git

commit 5c113b021d9067e4ff30216c6fa6e9dbae50fa94
Author: github-actions[bot] 
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Sat Oct 31 17:42:18 2026 +0100

    [v3-4-test] Keep retrying CI image downloads through artifact egress 
throttling (#76150) (#76152)
    
    When a run's test jobs all pull the multi-GB CI image at once, GitHub's
    artifact storage answers "503 Egress is over the account limit" for
    minutes. The stash restore's default retries (3 attempts, 5s base) gave
    up within about 20 seconds, so every job that hit the burst failed and
    the whole run needed a rerun.
    (cherry picked from commit 58ad621c27485324326a706d6d9320aa34bb205b)
    
    
    Generated-by: Claude Opus 5
    
    Co-authored-by: Jarek Potiuk <[email protected]>
---
 .github/actions/stash-restore/action.yml | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/.github/actions/stash-restore/action.yml 
b/.github/actions/stash-restore/action.yml
index ed9535c1722..d39a0e6b3bc 100644
--- a/.github/actions/stash-restore/action.yml
+++ b/.github/actions/stash-restore/action.yml
@@ -46,6 +46,18 @@ inputs:
     description: 'Fail when a stash was found but could not be restored.'
     required: false
     default: 'false'
+  # When a whole run's test jobs pull the same multi-GB image at once, 
GitHub's artifact storage
+  # answers "503 Egress is over the account limit" for minutes, not seconds. 
The ASF action's own
+  # default (3 attempts, 5s base) gives up within ~20s, so jobs retry for 
several minutes instead,
+  # with jittered waits (each capped at 60s by the action) spreading them out 
of the burst.
+  retry-count:
+    description: 'Attempts to download a stash found on GitHub-hosted runners.'
+    required: false
+    default: '8'
+  retry-delay:
+    description: 'Base seconds of the jittered exponential backoff between 
download attempts.'
+    required: false
+    default: '20'
 outputs:
   stash-hit:
     description: "'true' if a stash was restored, 'false' otherwise."
@@ -63,6 +75,8 @@ runs:
         path: ${{ inputs.path }}
         only-current-branch: ${{ inputs.only-current-branch }}
         fail-on-download: ${{ inputs.fail-on-download }}
+        retry-count: ${{ inputs.retry-count }}
+        retry-delay: ${{ inputs.retry-delay }}
     - name: "Restore stash digest from GitHub artifacts"
       id: digest
       if: runner.environment == 'self-hosted'

Reply via email to