Skip to content

Commit 10be53c

Browse files
ci: the two architectures push one at a time
The first run to exercise push-by-digest lost its arm64 leg to a 403 that reads like a permissions failure and is not one: GHCR answers two simultaneous pushes to the same package with a secondary rate limit. amd64 went through and arm64 did not, which is the shape of a throughput limit rather than of a broken credential. Both legs push to the same package by construction, so the concurrency was mine to remove rather than to retry around. A release path that fails intermittently is worse than one that takes a minute longer. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
1 parent be65174 commit 10be53c

1 file changed

Lines changed: 9 additions & 0 deletions

File tree

.github/workflows/build.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,15 @@ jobs:
8787
runs-on: ubuntu-latest
8888
strategy:
8989
fail-fast: false
90+
# One at a time. Both architectures push to the SAME package, and GHCR
91+
# answers two simultaneous pushes to one package with a secondary rate
92+
# limit - a 403 that reads like a permissions failure and is not one. It
93+
# cost the first run its arm64 leg while amd64 went through, which is the
94+
# shape of a throughput limit rather than of a broken credential.
95+
#
96+
# The minute this adds is worth it on a path that publishes: a release
97+
# that fails intermittently is worse than one that takes longer.
98+
max-parallel: 1
9099
matrix:
91100
include:
92101
- platform: linux/amd64

0 commit comments

Comments
 (0)