-
Notifications
You must be signed in to change notification settings - Fork 829
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
CI and devshell #2916
CI and devshell #2916
Conversation
First of all thanks for taking the time to improve this. I'm a bit divided if we should start to add such development environment-specific things like nix configs to the repo. We already have .vscode, but this has a lot of users so I think that's ok. Isn't there a way to keep these out-repo in a usable form to ensure we don't end up with tons of files like these which we have no way to maintain? |
Thank you @lulf! Ultimately there are both pros and cons to having the developer environment as part of the repo: The good is consistent environments for all (if it works on my machine it works on yours), you get single-source of truth formatting and linting, you also get reproducible CI basically for free. The bad is that in some repsect you already have versioning with Nix or not, generally I feel having a formatter and linter on such a quickly growing project is a good idea! CI should make sure everything is formatted/linted correctly before merge. CI should not rely on commands such as The CI should be open source, clearly showcasing how to build the project, or at least the part of it you can, e.g., making sure the code builds, tests get run, examples built (obviously you cannot do hw-in-the-loop if using Github Runners), et cetera :-) |
unfortunately I don't think we should merge this:
github actions is not open source! the CI system we're using is.
This is a library. People consume it in source form, building it themselves together with their project. We're not producing any binary artifact that people are downloading that we'd care about reproducibility. Rust's
It's easy to dismiss "custom, not used anywhere else" things as something intrinsically bad. However, most projects don't have a crate with 1500 Cargo features that needs testing, so here it makes sense to use something not used anywhere else. Same for |
No problem at all. I understand where you are coming from. In the end you share the maintenance burden and have to understand the tools and technologies 🤗 |
I'm opening this PR for a number of reasons:
rust-toolchain.toml
/rust-toolchain-nightly.toml
. Allow every developer of the project to have the exact same toolchain, et cetera.nix develop
awayOpen to suggestions. Love the project!