Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation
It is unfortunate that our linting toolchain is only specified in the GitHub actions, as this requires local developers to keep their local nightly updated to match that file.
Proposal
This PR moves the specification of our linting toolchain out of the GitHub actions into a dedicated toolchain file. Different toolchains are stored in
toolchains/{name}/rust-toolchain.toml
, which should make it possible to select between them in CI by running the action from that directory. Eventually this will no longer be necessary, asrustup
is planning to add support for multiple toolchain files.We also add a new
devShell
to the Nix flake that references the linting toolchain file, allowingnix develop .#lint
to drop the developer into a shell suitable for running our CI lints.Test Plan
CI.
Release Plan
These changes should be invisible to the user.
Links
rust-toolchain.toml
" rust-lang/rustup#2686 will allow us to simplify the toolchain structure, as well as add arustup ensure
command to replace the (deprecated) behaviour ofrustup show
that is currently relied upon by the action.