Build.dependencies({"git", "make", "rustc", "cargo"}) Build.metric( "nightly version", string.gsub(Build.check_output({"rustc", "--version"}).stdout, '^%s*(.*)%s*$', '%1') ) Step.start("crate") Step.push("build") Build.run({"cargo", "build"}) Step.advance("test") Build.run({"cargo", "test"}, {name="test stdlib/fmt"}) Build.run({"cargo", "test", "--no-default-features"}, {name="test nostdlib/fmt"}) -- testing the full set of feature combinations would be.. unwieldy Step.push("feature matrix (subset)") Build.run({"cargo", "test", "--no-default-features", "--features", "std"}, {name="test features/fmt"}) Build.run({"cargo", "test", "--no-default-features", "--features", "alloc"}, {name="test features/alloc"}) Build.run({"cargo", "test", "--no-default-features", "--features", "fmt"}, {name="test features/fmt"}) Build.run({"cargo", "test", "--no-default-features", "--features", "use-serde"}, {name="test features/use-serde"}) Build.run({"cargo", "test", "--no-default-features", "--features", "non-exhaustive-enums"}, {name="test features/non-exhaustive-enums"}) Build.run({"cargo", "test", "--no-default-features", "--features", "std,alloc"}, {name="test features/std,alloc"}) Build.run({"cargo", "test", "--no-default-features", "--features", "alloc,fmt"}, {name="test features/alloc,fmt"}) Build.run({"cargo", "test", "--no-default-features", "--features", "use-serde,alloc,fmt"}, {name="test features/use-serde,alloc,fmt"}) Step.advance("no-std checks") Build.run({"cargo", "rustc", "--no-default-features", "--", "-C", "link-arg=-nostartfiles"}, {cwd="tests/no_std_check"}) Build.run({"cargo", "rustc", "--no-default-features", "--release", "--", "-C", "link-arg=-nostartfiles"}, {cwd="tests/no_std_check"}) Step.advance("differential") Build.run({"cargo", "test", "--release"}, {cwd="differential-tests", name="run capstone differential test"})