Skip to content

Add retry logic for artifact uploads - #5

Merged
alistairjcbrown merged 1 commit into
mainfrom
claude/run-failure-analysis-cpr6qw
Oct 9, 2026
Merged

alistairjcbrown merged 1 commit into
mainfrom
claude/run-failure-analysis-cpr6qw

Conversation

@alistairjcbrown

Copy link
Copy Markdown
Member

Summary

Introduces a custom GitHub Actions composite action to handle artifact uploads with automatic retry logic, replacing direct calls to actions/upload-artifact@v7 across all retrieve jobs.

Changes

  • New file: .github/actions/upload-retrieved-data/action.yml

    • Composite action that wraps actions/upload-artifact@v7 with three-attempt retry logic
    • First attempt fails fast; subsequent attempts wait 30s and 120s respectively before retrying
    • Uses overwrite: true on retries to handle partial uploads from failed attempts
    • Includes warning messages when retries are triggered
  • Modified file: .github/workflows/retrieve.yml

    • Replaced 28 instances of direct actions/upload-artifact@v7 calls with the new composite action
    • Removed explicit path: retrieved-data/ from all upload steps (now hardcoded in the action)
    • Affected all retrieve jobs across the workflow

Rationale

The @actions/artifact action does not retry on network errors like ECONNRESET, causing jobs to fail after successful data retrieval. This leaves the release gate blocked by transient upload failures rather than actual data problems. The retry logic is implemented as a composite action wrapper rather than relying on the action's built-in retry support (which it lacks), allowing the workflow to recover from temporary connectivity issues to GitHub's artifact service.

https://claude.ai/code/session_011PaJWNbGAbMCmgPiym69F9

A run failed after Close-Up's retrieve succeeded: the upload's first call to
the artifact service hit ECONNRESET. @actions/artifact rethrows network
errors without retrying, so one dropped connection voided the release. Wrap
the upload in a local composite action that tries three times, overwriting
anything a failed attempt left behind.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011PaJWNbGAbMCmgPiym69F9
@alistairjcbrown
alistairjcbrown merged commit 340a845 into main Oct 9, 2026
1 check passed
@alistairjcbrown
alistairjcbrown deleted the claude/run-failure-analysis-cpr6qw branch October 9, 2026 10:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants