How to build yksom?
smarr opened this issue · 4 comments
What's the preferred way to compile yksom for benchmarking?
Looking at .buildbot_dockerfile_debian
, it seems to be sh -x .buildbot.sh
.
Though, when I set that up on GitHub Actions, I get the following: https://github.com/smarr/yksom/actions/runs/3962814391/jobs/6789942558
Building rustbuild
Updating crates.io index
Downloading crates ...
Downloaded fnv v1.0.7
...
Compiling toml v0.5.9
Finished dev [unoptimized] target(s) in 1m 04s
thread 'main' panicked at 'assertion failed: `(left == right)`
left: `1`,
right: `2`: x.py should be run with `--stage 2` on CI, but was run with `--stage 1`', config.rs:1287:21
Do I need to set any environment variables or so?
Is there anything Debian-specific that's somehow different on Ubuntu?
Thank you!
I don't know much about how GitHub actions works so I can only guess but you might find that something along the lines of changing:
(cd alloy && ./x.py build --config ../.buildbot.config.toml)
rustup toolchain link alloy alloy/build/x86_64-unknown-linux-gnu/stage1
to:
(cd alloy && ./x.py build --stage 2 --config ../.buildbot.config.toml)
rustup toolchain link alloy alloy/build/x86_64-unknown-linux-gnu/stage2
might work. Or it might not...
Ok, that indeed makes things pass:
https://github.com/smarr/yksom/actions/runs/3963169863/jobs/6790706838
2.5h overall build time though
GitHub actions in this case is really just a Ubuntu Linux, nothing really special, I believe.
What's the difference and meaning of stage 1 and 2 here?
Thanks!
Excellent!
What's the difference and meaning of stage 1 and 2 here?
It's Rust's bootstrapping phases (https://rustc-dev-guide.rust-lang.org/building/bootstrapping.html). Why GitHub actions requires stage 2, I'm unsure!
Ah, I see. Thanks for the link!