[anneal][v2] Add charon execution engine, expand command CLI, and integration tests#3404
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## G3ub4smvhm3rbp6d53jhwn3knjeaw7ugn #3404 +/- ##
====================================================================
Coverage ? 91.85%
====================================================================
Files ? 20
Lines ? 6093
Branches ? 0
====================================================================
Hits ? 5597
Misses ? 496
Partials ? 0 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
5339ec7 to
e229a98
Compare
e8af624 to
1c62cfd
Compare
e229a98 to
9450f86
Compare
1c62cfd to
43a1ef4
Compare
9450f86 to
fa0696c
Compare
c7bc335 to
fafcee4
Compare
64753f4 to
88f14ff
Compare
fafcee4 to
0cf1bf4
Compare
0cf1bf4 to
964666d
Compare
98f4d2f to
10684db
Compare
10684db to
e9b8d91
Compare
ede12ab to
5eee5fc
Compare
5eee5fc to
b45b03b
Compare
c6dfbac to
097ab45
Compare
097ab45 to
991f380
Compare
b45b03b to
3b23aff
Compare
3b23aff to
59e0def
Compare
4d56913 to
1161668
Compare
59e0def to
3007ca3
Compare
1161668 to
1b46c55
Compare
3007ca3 to
0554db7
Compare
1b46c55 to
8cc6e54
Compare
0a7d10b to
b7d2694
Compare
99f64a0 to
55e424e
Compare
b7d2694 to
419887f
Compare
419887f to
b986c46
Compare
7159849 to
fe676f8
Compare
| use crate::resolve::AnnealTargetKind::*; | ||
| match artifact.target_kind { | ||
| Lib | RLib | ProcMacro | CDyLib | DyLib | StaticLib => cmd.arg("--lib"), | ||
| Bin => cmd.args(["--bin", &artifact.name.target_name]), | ||
| Example => cmd.args(["--example", &artifact.name.target_name]), | ||
| Test => cmd.args(["--test", &artifact.name.target_name]), | ||
| }; | ||
|
|
||
| // Forward all feature-related flags. | ||
| if args.features.all_features { | ||
| cmd.arg("--all-features"); | ||
| } | ||
| if args.features.no_default_features { | ||
| cmd.arg("--no-default-features"); | ||
| } | ||
| for feature in &args.features.features { | ||
| cmd.arg("--features").arg(feature); | ||
| } |
There was a problem hiding this comment.
Let's do a pass at confirming that all of these argument forwards still make sense for v2.
| mod charon; | ||
| mod diagnostics; | ||
| mod resolve; | ||
| mod scanner; | ||
| mod setup; | ||
| mod util; |
There was a problem hiding this comment.
Why are we just adding module declarations for existing files in this PR? Does that mean they were just dumb plain text files before?
| /// Path to a local dependency archive to use instead of downloading. | ||
| /// Path to a local dependency archive to use instead of downloading |
| exocrate::config! { | ||
| const CONFIG: Config = Config { | ||
| rel_dir_path: [".anneal", "toolchain"], | ||
| versioned_files: &["../Cargo.toml", "../Cargo.lock"], | ||
| }; | ||
| } |
| exocrate::parse_remote_archive! { | ||
| const REMOTE: RemoteArchive = "Cargo.toml" [ | ||
| (linux, x86_64), | ||
| (macos, x86_64), | ||
| (linux, aarch64), | ||
| (macos, aarch64), | ||
| ]; |
| fn setup(args: SetupArgs) { | ||
| let installation_dir = setup_installation_dir(args); | ||
| log::info!("anneal toolchain is installed at {:?}", installation_dir); | ||
| fn expand(args: ExpandArgs) -> anyhow::Result<()> { |
There was a problem hiding this comment.
Let's call this generate (and the associated CLI command) consistent with v1?
| fn setup(args: SetupArgs) { | ||
| let installation_dir = setup_installation_dir(args); | ||
| log::info!("anneal toolchain is installed at {:?}", installation_dir); | ||
| fn expand(args: ExpandArgs) -> anyhow::Result<()> { |
There was a problem hiding this comment.
This is private to this module but doesn't appear to be called.
Maybe it's time to deny warnings in CI so that we catch things like this? Specifically, maybe we can take a rough pass at copying the compiler and Clippy lints that we enable in zerocopy, enabling them here, and then denying warnings in CI (via RUSTFLAGS='-Dwarnings')? Presumably as a separate PR, ideally as low (ie, close to main) in this PR stack as possible.
More generally, let's make sure that these sorts of lints are actually getting exercised in CI. If I'm right that this isn't called, and since it seems like we set RUSTFLAGS='-Dwarnings' in the anneal.yml CI job, then it's fishy that CI is passing on this PR.
…egration tests gherrit-pr-id: Gnafivbpqcaatsvsxamgsjcudchscvaae
Latest Update: v42 — Compare vs v41
📚 Full Patch History
Links show the diff between the row version and the column version.
⬇️ Download this PR
Branch
git fetch origin refs/heads/Gnafivbpqcaatsvsxamgsjcudchscvaae && git checkout -b pr-Gnafivbpqcaatsvsxamgsjcudchscvaae FETCH_HEADCheckout
git fetch origin refs/heads/Gnafivbpqcaatsvsxamgsjcudchscvaae && git checkout FETCH_HEADCherry Pick
git fetch origin refs/heads/Gnafivbpqcaatsvsxamgsjcudchscvaae && git cherry-pick FETCH_HEADPull
Stacked PRs enabled by GHerrit.