Skip to content

ci(dx-e2e): cap matrix parallelism to avoid tx3up install saturation#28

Merged
scarmuega merged 1 commit into
mainfrom
ci/dx-e2e-cap-install-parallelism
Jun 18, 2026
Merged

ci(dx-e2e): cap matrix parallelism to avoid tx3up install saturation#28
scarmuega merged 1 commit into
mainfrom
ci/dx-e2e-cap-install-parallelism

Conversation

@scarmuega

Copy link
Copy Markdown
Contributor

Problem

A manifest change invalidates that channel's cache key (hashFiles(manifest-<channel>.json) in the composite action), so every matrix cell for that channel cache-misses and runs tx3up install at the same time. The burst of releases/latest lookups trips a GitHub API secondary rate limit, which tx3up surfaces as:

Error: No manifest asset found in latest release
✗ tx3up install failed for channel '<channel>'

These are scattered, install-step failures unrelated to the journeys. Observed on both recent manifest merges (#26 beta, #27 stable); each needed a manual re-run to go green.

Fix

Set max-parallel: 3 on both channel jobs. A single-channel cache-miss burst drops from 9–12 concurrent installs to 3, comfortably under the rate limit. Warm-cache runs (the common case) are unaffected in substance and only marginally slower — the journeys are seconds-scale.

max-parallel is per matrix job, so stable and beta keep their own caps; since a manifest edit only cache-misses one channel, the effective worst-case burst is 3.

Notes

  • Prevents the burst rather than absorbing it (vs. a retry-with-backoff around the install) — declarative and doesn't risk masking a genuinely broken channel.
  • No change to which journeys run or their pass/fail semantics; 05-invoke stays intentionally red on beta.

🤖 Generated with Claude Code

A manifest change invalidates that channel's cache key, so every matrix
cell cache-misses and runs `tx3up install` simultaneously. The burst of
`releases/latest` lookups trips a GitHub API secondary rate limit, which
tx3up surfaces as "No manifest asset found in latest release" — scattered
install failures unrelated to the journeys (seen on both the beta and
stable promotion merges).

Set `max-parallel: 3` on both channel jobs so at most three cells install
at once. A single-channel cache-miss burst drops from 9–12 concurrent
installs to 3, comfortably under the limit. Warm-cache runs are unaffected
in substance and only marginally slower (journeys are seconds-scale).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@scarmuega scarmuega force-pushed the ci/dx-e2e-cap-install-parallelism branch from 4e9aa2f to 4f930a1 Compare June 18, 2026 12:05
@scarmuega scarmuega merged commit f60d022 into main Jun 18, 2026
@scarmuega scarmuega deleted the ci/dx-e2e-cap-install-parallelism branch June 18, 2026 12:18
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.

1 participant