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"}) Build.run({"cargo", "build", "--no-default-features"}, {name="test nostdlib/nofmt"}) Build.run({"cargo", "build", "--no-default-features", "--features", "fmt"}, {name="test nostdlib/fmt"}) Build.run({"cargo", "build", "--no-default-features", "--features", "std"}, {name="test nostdlib/std"}) Build.run({"cargo", "build", "--no-default-features", "--features", "std,fmt"}, {name="test nostdlib/std+fmt"}) Step.advance("test") -- but no default features means these aren't built in! Build.run({"cargo", "test"}) Step.advance("test-slow") -- the differential tools aren't available in CI ... yet ... -- Build.run({"cargo", "test", "--release", "--", "--ignored", "slow"}) Build.run({"cargo", "test", "--release", "--", "--ignored", "exhaustive"})