mirror of
https://github.com/luxfi/dex.git
synced 2026-09-24 00:26:31 +00:00
v1.14.15 and v1.14.16 are both tagged and neither produced an image;
published stops at v1.14.14. Both died at the same step:
::error::Error response from daemon:
Get "https://ghcr.io/v2/": denied: denied
The credential is not the story. Measured on the forge over 7 days, luxfi
ran 365 ghcr logins with the same org secret and 27 failed — 7.4% — across
23 repos and a dozen runners, and the same secret succeeded on either side
of every burst. Three readings were tested and all three are wrong:
expired token the same secret succeeded hours after earlier failures
sick runner failures spread over 12 runners; a clean one is 12 of 12
throttling no correlation with concurrency — 7.4% at one login per
minute, 10.9% at two, 0% at four and five
The only defect on our side is that nothing retries. docker/login-action
does not, and the job dies at step 3 of 6, before the build. So each
occurrence is invisible: a tag, no image, and no failed push to point at.
Five attempts over 75s, backing off. Exhausting all five is a different
failure than the one this covers and says so rather than pretending —
which is how the dead org credential was told apart from this on
2026-08-07, when it stopped working outright.
Same change as luxfi/explorer. 21 luxfi repos still carry the unretried
copy; each holds its own release.yml, so the real fix is one reusable they
all call.
Co-authored-by: Hanzo Dev <[email protected]>