Skip to content

Migrate repository automation to xtask - #6

Merged
P4suta merged 2 commits into
mainfrom
agent/migrate-automation-to-xtask
Aug 2, 2026
Merged

Migrate repository automation to xtask#6
P4suta merged 2 commits into
mainfrom
agent/migrate-automation-to-xtask

Conversation

@P4suta

@P4suta P4suta commented Aug 2, 2026

Copy link
Copy Markdown
Owner

Summary

  • add a Rust 1.75-compatible cargo xtask workspace member for repository checks, release artifacts, SBOM validation, tag verification, and contained mutation testing
  • keep existing just commands as thin wrappers and move CI/release workflow logic out of PowerShell
  • remove all tracked .ps1 files, pin typos 1.48.0 in CI, and simplify README, rustdoc, ADRs, and project policy text

Why

PowerShell accounted for a disproportionate share of the repository and duplicated behavior across local and GitHub workflows. The mutation runner also embedded C# and custom Win32 FFI. Centralizing automation in Rust makes the behavior testable, keeps the MSRV explicit, and reuses windows-spawn's own DropPolicy::KillTree containment.

The CycloneDX path uses the expanded windows-spawn package manifest so the release SBOM excludes the non-published xtask workspace member.

Impact

The public windows-spawn API, MSRV, runtime behavior, and public-api snapshot are unchanged. Existing just recipe names remain available, and developers can also call cargo xtask ... directly.

Validation

  • cargo xtask fmt
  • cargo xtask clippy
  • cargo xtask test
  • cargo xtask doc
  • cargo xtask msrv
  • cargo xtask cross-targets
  • cargo xtask linux-empty
  • cargo xtask public-api
  • cargo xtask supply-chain
  • cargo xtask reuse
  • cargo xtask typos
  • cargo xtask coverage
  • cargo xtask package-check --allow-dirty
  • cargo xtask release-candidate --allow-dirty
  • cargo xtask mutants --output target/mutants/smoke -- --list
  • actionlint
  • git diff --check
  • gitleaks git . --redact --no-banner
  • gitleaks dir . --redact --no-banner

@P4suta
P4suta enabled auto-merge (squash) August 2, 2026 11:41
@P4suta
P4suta merged commit 6b457d0 into main Aug 2, 2026
13 checks passed
@P4suta
P4suta deleted the agent/migrate-automation-to-xtask branch August 2, 2026 11:51
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