Skip to content

ci(mutants): build the baseline with --all-features - #74

Merged
nymius merged 1 commit into
bitcoindevkit:masterfrom
kkdao:fix/mutants-baseline-features
Sep 1, 2026
Merged

nymius merged 1 commit into
bitcoindevkit:masterfrom
kkdao:fix/mutants-baseline-features

Conversation

@kkdao

@kkdao kkdao commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

The Incremental mutants test lane is currently dead: it fails at the unmutated baseline on every PR, so no mutants are ever tested. The last run on master, 783c63c, is red for the same reason.

Args after -- are handed to the test phase only, so the baseline build runs with default features. bdk_sp gates serde behind an optional feature while its test scaffolding derives Deserialize, so the test targets do not compile without it and the build fails before mutation starts. Reproduces on a clean master worktree with cargo check -p bdk_sp --tests.

Passing the feature through --cargo-arg fixes it, since that applies to every cargo invocation including the build. It also has to come out of the trailing args: --cargo-arg already adds it to the test command, and cargo rejects --all-features twice.

Verified locally against the diff from #70, which previously died at the baseline:

7 mutants tested in 83s: 6 caught, 1 unviable

Unrelated, noted while here and left alone: this workflow has on: push: branches: [main] while the default branch is master, so that trigger never fires. The job is gated on `github.event_name == 'pull_request' anyway, so it changes nothing today.

@nymius nymius left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tACK 2182bf2

@nymius nymius left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I need you to sign the commit to merge.

The incremental mutants lane has been failing at the unmutated baseline, so no
mutants are ever tested. Args after `--` are handed to the test phase only, so
the baseline build ran with default features. `bdk_sp` gates serde behind an
optional feature while its tests derive Deserialize, which leaves the test
targets uncompilable without it and fails the build before mutation starts.

Pass the feature through `--cargo-arg` instead, which applies to every cargo
invocation including the build. It also has to come out of the trailing args:
`--cargo-arg` already adds it to the test command, and cargo rejects
`--all-features` given twice.

Verified against the diff from bitcoindevkit#70, which previously died at the baseline:
7 mutants found, 6 caught, 1 unviable, none missed.
@kkdao
kkdao force-pushed the fix/mutants-baseline-features branch from 2182bf2 to 14e6cbe Compare August 31, 2026 21:33
@kkdao
kkdao requested a review from nymius August 31, 2026 21:40

@nymius nymius left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK 14e6cbe

@nymius
nymius merged commit de7c1ee into bitcoindevkit:master Sep 1, 2026
5 checks passed
@kkdao
kkdao deleted the fix/mutants-baseline-features branch September 2, 2026 03:19
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.

2 participants