Skip to content

fix(release): pin cargo-dist runners (v1.1.0 matrix hang)#9

Merged
InkyQuill merged 3 commits into
mainfrom
fix/cargo-dist-runners
Apr 19, 2026
Merged

fix(release): pin cargo-dist runners (v1.1.0 matrix hang)#9
InkyQuill merged 3 commits into
mainfrom
fix/cargo-dist-runners

Conversation

@InkyQuill

Copy link
Copy Markdown
Owner

Summary

v1.1.0 release workflow matrix has been queued for 13+ minutes on runners that GitHub no longer provisions (ubuntu-20.04, macos-13, windows-2019 — all retired or deprecated). cargo-dist 0.22.1's built-in defaults point at those images, so the matrix never picks up.

Same fix the sibling sel project applied: add a [workspace.metadata.dist.github-custom-runners] block in Cargo.toml pinning each target to a currently-available runner image (macos-14, ubuntu-24.04, ubuntu-24.04-arm, windows-2022). aarch64-unknown-linux-gnu uses the native ARM runner rather than x86_64 cross-compile, which avoids the incompatible with elf64-x86-64 link failure cargo-dist 0.22.1 would otherwise hit (missing packages_install entry for that target).

Hung run (for reference): https://github.com/InkyQuill/sedx/actions/runs/24623835316

What still needs doing after merge

The currently-stuck v1.1.0 run will never complete — the tag v1.1.0 was already pushed by release-plz and the retired runners won't suddenly reappear. Two paths forward (flagging, not doing unilaterally):

  • Delete tag v1.1.0 + let release-plz re-propose: git push --delete origin v1.1.0 then close the stale GitHub release draft. release-plz will bump again on its next run with the new config baked in.
  • Retag in place: after this PR merges, git tag -fa v1.1.0 on the merge commit and force-push the tag. Fresh release workflow fires with the fixed config.

Both involve destructive git ops, so I'll wait for your call.

Test plan

  • cargo test, clippy (stable + Windows cross), fmt — all green
  • After merge, verify a subsequent release tag cleanly builds the full matrix

cargo-dist 0.22.1's built-in runner matrix hard-codes ubuntu-20.04,
macos-13, and windows-2019. All three are retired or deprecated GitHub
runner images, so the release workflow matrix was hanging forever on
v1.1.0, queued against runners that GitHub no longer provisions.

The fix is the same one the sibling sel project applied: add a
[workspace.metadata.dist.github-custom-runners] block pinning each
target to a current runner (macos-14 for both apple triples,
ubuntu-24.04 and its -arm variant for linux, windows-2022 for MSVC).
aarch64-unknown-linux-gnu uses the native ARM runner rather than
x86_64 cross-compile, avoiding the 'incompatible with elf64-x86-64'
link failure that comes from cargo-dist 0.22.1's missing
packages_install entry for that target.
Bumps the package version and brings the CHANGELOG up to date with
every user-visible commit since v1.1.0: the Claude-skill install path,
gzip-compressed backups, the scaffolding cleanup, and the matrix
runner fix in this same commit series.

Bundled with the runner fix so that merging this PR both unblocks the
release pipeline and immediately cuts v1.2.0 through it (the
release-plz `release` job detects the new Cargo.toml version and
pushes the tag, which fires cargo-dist's release.yml with the
now-working runner matrix).
@InkyQuill InkyQuill merged commit f7b66b3 into main Apr 19, 2026
13 checks passed
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