chore: bring develop's fixes to main #57

Merged
day01 merged %!d() commits from %!s() into %!s() 2026-08-18 19:28:25 +00:00
Owner

Carries the credential-expiry error message (d6800e7) and the per-arch image build split (4459ba4) onto main.

Carries the credential-expiry error message (d6800e7) and the per-arch image build split (4459ba4) onto main.
day01 added 3 commits 2026-08-18 19:26:06 +00:00
		A job already tracked in cancellations is a redelivery (e.g. replayed
on reconnect after a credential rotation), not new distinct work.
Previously any redelivery landing while a prior assignment was still
pending crashed the whole agent via CapacityExceeded, which is how a
single flaky reconnect turned into a dead node instead of a no-op.
	
		The stream error already correctly ends the session instead of looping
reconnect attempts (tested since the 0.3 protocol landed), but the plain
tonic status gave no hint that the fix is `register --replace`, not a
retry. Diagnosing that live on synprod today took hours longer than it
needed to.
	
		Both runner and job-image builds used one job cross-building
linux/amd64,linux/arm64 in a single buildx call — under QEMU, the
arm64 half was slow enough to stall the whole CI queue behind it
(meta issue #42, hit twice today). Now each architecture builds
natively on a runner labeled for it (syncode-linux-amd64 /
syncode-linux-arm64), pushes to a per-arch tag, and a small merge job
combines them into the final multi-arch manifest with the same
imagetools create idiom already used to re-tag an existing image.
	
day01 merged commit e952bc36c5 into %!s() 2026-08-18 19:28:25 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: syncode/runner#57