-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Example nix-based CI workflow #1195
Conversation
7d6d520
to
d3108a7
Compare
Bumps nightly to get a fresh cache key
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jakzale ran me through the code in a pair programming session. LGTM
@Daniel-Aaron-Bloom, do you think we need to cache |
The point of the cache is to reduce CI times. Downloading and installing the toolchain takes quite a bit of time. I am a nix idiot so I probably need to sync with you to answer this question properly. |
This reverts commit 7676cbf.
This reverts commit 7676cbf.
Use nix to install toolchain dependencies.
We add flake.nix with a devShell that specifies all dependencies needed to build the repository. Rust toolchain version is pulled from rust-toolchain.toml, so people can still use their rustup-based usual workflow.
The only friction point is that we need to instrument Rust linker where to find dynamic libraries, because proc macros seem to be compiled with libstd dynamically linked.
Finally, there are some general improvements to our CI