Add --use-local-toolchain to Kani setup#3056
Conversation
celinval
left a comment
There was a problem hiding this comment.
Looks good. Just have a few smaller improvements.
Question, how did you test this so far?
I have tested it locally so far, but can include a CI test for --use-local-toolchain as well that replicates the setup process.
So far, this has been a manual process, but I don't see why we can't make it a CI test. Would this process work? |
|
Sure, but please skip step 1 and 2 and maybe download the toolchain into a "random" directory. Also, we had issues with simlink before when the target is in a different partition. Would that be an issue here too? |
I have a test CI run here: https://github.com/jaisnan/kani/actions/runs/8191672753/job/22401403820. I can remove steps 1 and 2 if needed, and the toolchain has been installed in a non "rustup" directory. The tests show that it works as expected. I do believe there will be the same issue if the target is in a different partition, but i need to double check. If this looks good enough, I can add this job as a step in our release workflow. (Don't think it should run every PR, added that for testing). |
celinval
left a comment
There was a problem hiding this comment.
Please add a CI job to test the new setup path. It would also be nice to switch to clap derive later.
These are the original release notes for the reference: ## What's Changed * Automatic cargo update to 2024-02-26 by @github-actions in #3043 * Upgrade rust toolchain to 2024-02-17 by @celinval in #3040 * Upgrade `windows-targets` crate to version 0.52.4 by @adpaco-aws in #3049 * Fix `codegen_atomic_binop` for `atomic_ptr` by @qinheping in #3047 * Upgrade Rust toolchain to `nightly-2024-02-25` by @adpaco-aws in #3048 * Update s2n-quic submodule by @zhassan-aws in #3050 * Update s2n-quic submodule weekly through dependabot by @zhassan-aws in #3053 * Retrieve info for recursion tracker reliably by @feliperodri in #3045 * Automatic cargo update to 2024-03-04 by @github-actions in #3055 * Upgrade Rust toolchain to `nightly-2024-03-01` by @adpaco-aws in #3052 * Add `--use-local-toolchain` to Kani setup by @jaisnan in #3056 * Replace internal reverse_postorder by a stable one by @celinval in #3064 * Add option to override `--crate-name` from `kani` by @adpaco-aws in #3054 * cargo update and fix macos CI by @zhassan-aws in #3067 * Bump tests/perf/s2n-quic from `d103836` to `1a7faa8` by @dependabot in #3066 * Upgrade toolchain to 2024-03-11 by @zhassan-aws in #3071 * Emit `dead` goto-instructions on MIR StatementDead by @karkhaz in #3063 **Full Changelog**: kani-0.47.0...kani-0.48.0
Adds
--use-local-toolchainto Kani's setup flow, which accepts a local toolchain and then uses that to finish the Kani setup.Some notes:
Resolves #3058
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 and MIT licenses.