-
Notifications
You must be signed in to change notification settings - Fork 22
Open
Labels
CIAn issue related to the continuous integration: linters, formatters, tests, etc.An issue related to the continuous integration: linters, formatters, tests, etc.
Description
Background
Currently, the CI pipeline (.github/workflows/ci.yml) and the Nix development environment (flake.nix) maintain separate version definitions for shared tools like cargo-deny, cargo-nextest, cargo-shear, cargo-sort, zizmor, etc.
This leads to several issues:
- Maintenance overhead: Updating tool versions requires changes in two places
- Version drift: Easy to miss syncing versions between CI and Nix, causing local vs CI discrepancies
- Developer experience: Developers cannot run CI checks locally in exactly the same way as on remote CI
As discussed in #1738 (comment), migrating CI jobs to use Nix would unify the environment, ensuring developers and CI have the exact same tooling and versions.
User Story
No response
Acceptance Criteria
- CI jobs use the Nix environment defined in
flake.nixinstead of installing tools viacargo binstallor other methods - Tool versions are defined in a single source of truth (Nix flake)
- All existing CI checks (clippy, fmt, deny, nextest, shear, sort, etc.) pass using the Nix environment
- CI runners have Nix installed and configured with flakes enabled
- Documentation updated to reflect the new CI setup
- Local
nix developenvironment produces identical results to CI for all linting and testing jobs
Resources & Additional Notes
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
CIAn issue related to the continuous integration: linters, formatters, tests, etc.An issue related to the continuous integration: linters, formatters, tests, etc.