aboutsummaryrefslogtreecommitdiff
path: root/goodfile
blob: 2dc9e2221cebf994bebeb689d9e24154db4f010c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
if not Build.environment.has("rustup")
then
  Build.error("i don't know i want to handle dependencies yet")
end
Build.artifact("src/lib.rs")
Build.metric(
  "nightly version",
  "rustc --version"
)

Build.run({"cargo", "build"}, {step="build"}) -- `run` automatically records stdout and stderr to log files named after the command
Build.run({"cargo", "test"}, {step="test", name="test stdlib/fmt"}) -- artifacts are stored under `name` if that's present
Build.run({"cargo", "test", "--no-default-features"}, {step="test", name="test nostdlib/nofmt"})
Build.run({"cargo", "test", "--no-default-features", "--features", "fmt"}, {step="test", name="test nostdlib/fmt"})

Build.run({"cargo", "+nightly", "build", "-Z", "build-std", "--release", "--no-default-features", "--target", "x86_64-unknown-linux-gnu"}, {step="ffi_build", cwd="ffi/"})

sopath = "ffi/target/x86_64-unknown-linux-gnu/release/libyaxpeax_x86_ffi_long_mode.so"
Build.run({"ls", sopath}, {step="ffi_validate"})
Build.metric(
  "libyaxpeax_x86_ffi_long_mode.so size (bytes)",
  Build.environment.size(sopath)
)
Build.artifact(sopath)