Skip to content

Document mutation-testing workflow contract tests - #27

Draft
leynos wants to merge 1 commit into
mainfrom
docs/mutation-contract-tests
Draft

Document mutation-testing workflow contract tests#27
leynos wants to merge 1 commit into
mainfrom
docs/mutation-contract-tests

Conversation

@leynos

@leynos leynos commented Jul 19, 2026

Copy link
Copy Markdown
Owner

Summary

Adds a "Mutation-testing workflow contract tests" section to
docs/developers-guide.md, documenting the
contract test in tests/workflow_contracts/mutation_testing_test.py that
pins the shape of .github/workflows/mutation-testing.yml.

  • Permutation: Rust (single crate) — the caller delegates to
    leynos/shared-actions/.github/workflows/mutation-cargo.yml.
  • Contract-test style: shape-only. USES_RE asserts the uses: ref is
    a full 40-hex commit SHA without pinning the value itself, so Dependabot
    bumps it without an accompanying test edit. There is no PINNED_SHA
    constant and no pytestmark skip guard (this is a Rust repo; the
    mutmut-sandbox skip only applies to Python callers).
  • Caller inputs documented: only the two the caller actually overrides —
    extra-args: "--all-features" and setup-commands (installs
    clang/lld/mold). paths and exclude-globs are not set, so the
    section notes the shared workflow's defaults apply.
  • Local command: make test-workflow-contracts, taken from the
    Makefile target of the same name; confirmed passing locally (6 tests).
  • Roadmap/execplan: none applies — the repository has no
    docs/roadmap.md or docs/execplans/ tracking to annotate.
  • TOC: docs/developers-guide.md has no internal table of contents to
    cross-link the new section into; docs/contents.md (the docs-set index)
    already lists the developer guide as a single entry, so no change was
    needed there either.

Docs-lint result

make markdownlint (spelling + markdownlint-cli2) passes: 0 errors. Two
spelling nits caught by the repository's en-GB-oxendict policy were fixed
before landing (summarisingsummarizing, serialises
serializes), and the CI step name Install mold linker was moved into a
code span so mold was not flagged as a misspelling of mould.

Test plan

  • make test-workflow-contracts — 6 passed (sanity-checks the
    documented local command; not required by this docs-only change).
  • make markdownlint — 0 errors.

Contributors triaging a mutation-testing survivor, or reworking the
caller's inputs, had nothing in the developer guide explaining what the
contract test in tests/workflow_contracts/mutation_testing_test.py
actually pins or how to run it locally. Add a section describing the
caller's two modes, its extra-args and setup-commands inputs, the
shape-only SHA pin, and the local make test-workflow-contracts command.

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Sorry @leynos, you have reached your weekly rate limit of 500000 diff characters.

Please try again later or upgrade to continue using Sourcery

@coderabbitai

coderabbitai Bot commented Jul 19, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: a25859d0-3c7d-42d9-bc0f-30f9dd387d1b

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/mutation-contract-tests

Comment @coderabbitai help to get the list of available commands.

codescene-access[bot]

This comment was marked as outdated.

@codescene-access codescene-access Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

No quality gates enabled for this code.

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