Skip to content

ci(mutants): run on ubuntu-24.04, the glibc cargo-mutants now needs - #253

Merged
shankar-gpio merged 1 commit into
mainfrom
ci/mutants-glibc-runner
Aug 14, 2026
Merged

ci(mutants): run on ubuntu-24.04, the glibc cargo-mutants now needs#253
shankar-gpio merged 1 commit into
mainfrom
ci/mutants-glibc-runner

Conversation

@shankar-gpio

Copy link
Copy Markdown
Contributor

The failure

Mutation Testing (changed code) failed on PR #252 at the Install cargo-mutants step, before a single mutant was generated:

cargo-mutants: /lib/x86_64-linux-gnu/libc.so.6:
version `GLIBC_2.39' not found (required by cargo-mutants)

cargo-mutants v27.1.0 (2026-06-02) links its prebuilt binaries against glibc 2.39. ubuntu-22.04 carries 2.35. install-action fetched the binary and verified its checksum successfully — it just could not load it. Since the job pins no version, every PR from here on would have hit this.

It did not show up on the main merge because this job is if: github.event_name == 'pull_request'.

The fix

Move this one job to ubuntu-24.04.

The repo-wide ubuntu-22.04 pin exists so shipped binaries stay loadable on older glibc. This job ships nothing — it builds mutants and throws them away — so the pin buys it nothing while costing it the tool.

Bumping the runner rather than pinning an older cargo-mutants keeps the tool on latest, consistent with every other install-action call in ci.yml, and does not re-break as 22.04 falls further behind.

Verification

This PR is itself the test: the job is PR-only, so opening it is the only way to exercise the change. A green Mutation Testing (changed code) here is the proof.

cargo-mutants v27.1.0 (2026-06-02) links its prebuilt binaries against
glibc 2.39. ubuntu-22.04 carries 2.35, so install-action fetched the
binary, verified its checksum, and then could not run it:

  cargo-mutants: /lib/x86_64-linux-gnu/libc.so.6:
  version `GLIBC_2.39' not found (required by cargo-mutants)

That failed the job on PR #252 before a single mutant was generated, and
would have failed every PR from here on.

The repo-wide ubuntu-22.04 pin exists so shipped binaries stay loadable
on older glibc. This job ships nothing — it builds mutants and throws
them away — so the pin buys it nothing while costing it the tool. Bump
the runner rather than pinning an older cargo-mutants, which keeps the
tool on `latest` like every other install-action call in ci.yml and does
not re-break when 22.04 falls further behind.

Claude-Session: https://claude.ai/code/session_01DNWvvwKcgrpc15bsSNdXhY
@shankar-gpio
shankar-gpio merged commit 9c8e34c into main Aug 14, 2026
23 checks passed
@shankar-gpio
shankar-gpio deleted the ci/mutants-glibc-runner branch August 14, 2026 05:45
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