• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

NVIDIA / nodewright / 32511617447
83%

Build:
DEFAULT BRANCH: main
Ran 21 Aug 2026 06:25PM UTC
Jobs 1
Files 59
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

21 Aug 2026 06:06PM UTC coverage: 83.363% (+0.02%) from 83.348%
32511617447

push

github

web-flow
ci: retry transient registry and download failures (#517)

* ci: retry transient registry and download failures

A reset connection from Docker Hub's CDN failed the whole e2e/lifecycle
job with "kindest/node:v1.33.12 is not published or cannot be inspected",
an error that reads like a bad version pin rather than the blip it was.
None of the registry reads or binary downloads in CI retried.

Add scripts/retry.sh, a shared wrapper that re-runs a command with
doubling backoff and exits with the command's own status. It buffers each
attempt's stdout and replays only the winning one: callers capture these
reads in $(...) or pipe them to jq, so a failed attempt that already
wrote a partial response would otherwise be concatenated with the retry
that succeeded and silently corrupt the result.

Wrap the reads that flake with it:

- operator/Makefile validate-kind-node-image, the step that failed. Both
  operator-ci and agent-ci call the target, so both are covered.
- scripts/latest-distroless.sh, all three oras reads.
- .github/actions/resolve-oci-digest already had a retry loop, but
  defaulted to one attempt and both callers took the default, so it never
  engaged. Default to three.

Binary downloads use curl's own --retry-all-errors instead; plain --retry
does not cover connection resets. The two git-cliff installs piped curl
into tar, where a retry restarting at byte 0 would replay bytes into a
half-read stream, so they download to a file first.

Since inspect returns the same status for a reset and an absent tag,
a tag that genuinely does not exist now takes about fifteen seconds to
report instead of failing instantly.

Signed-off-by: Alex Yuskauskas <ayuskauskas@nvidia.com>

* fix(ci): do not emit failed-attempt stdout from retry.sh

The failure path replayed the last attempt's buffered stdout, which
contradicted the buffering the wrapper exists for: attempts 1..n-1 were
discarded but attempt n was not, and docs/contributing/development.md
already promi... (continued)

10678 of 12809 relevant lines covered (83.36%)

8.88 hits per line

Jobs
ID Job ID Ran Files Coverage
1 32511617447.1 21 Aug 2026 06:25PM UTC 59
83.36
GitHub Action Run
Source Files on build 32511617447
  • Tree
  • List 59
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #32511617447
  • 4c0d3e40 on github
  • Prev Build on main (#32424428926)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc