Repository navigation
fix(ci): retry the full integration results download after a pause - #3304
Merged
Merged
Conversation
Move the CI Required results download and its two retries (60 s, then 240 s) from ci.yml into a shared composite action and use it for the Full Integration Aggregate download too, which had no retry.
Contributor
|
🦞👀 Pull request received. I will update this pull request when review starts. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
#3298 made the CI Required results download in
ci.ymlretry after 60 s and then 240 s, because GitHub can refuse artifact downloads for minutes at a time ("Egress is over the account limit") anddownload-artifactgives up after about 25 s. The Full Integration Aggregate job infull-integration.ymldoes the same download with no retry, so one refused download reports every lane's result as missing.Change
.github/actions/download-results, holding fix(ci): retry the CI Required results download after a pause #3298's step shape: download withcontinue-on-error, wait 60 s, retry, wait 240 s, retry; the last failure fails the step. It takespatternandpath.if, same pattern and path).full-results-*(same implicitsuccess()condition as before).Behaviour on a successful first download is unchanged in both jobs.
Verification
actionlint .github/workflows/*.ymlpasses (it reads the local action's inputs: a misspelled input was reported as an error).prettier --checkon the three files,node scripts/ci/run-tests.mjs audit(no issues).node --test tests/integration/ci-impact.test.mjs tests/integration/full-integration-preflight.test.mjs: 79/79 pass, including the CI Required step-condition test.Risks
!cancelled()andsteps.*within the action, so a cancelled run skips the waits as before. The action runs from the checked-out tree, asscripts/ci/run-tests.mjs aggregatealready does in both jobs.