-
Notifications
You must be signed in to change notification settings - Fork 355
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
Replace Makefiles with Just #1823
Conversation
I would vote in favor of |
I'm a super beginner at |
Hey
@yihuaf might also be able to add some more points. Just to be clear, this PR is not intended for merging, this is just RFC for checking if this would be a good idea |
@YJDoc2 already has a good list of pros. From my personal experience, I agree that the variable management is cleaner in The cons is introducing a new dependency where All in all, I think the trade offs is worth it and embracing more into the rust ecosystem can be a good thing by itself. |
@YJDoc2 @yihuaf Thanks 😍 I really want this one. However, I have one concern. I don't want to have to maintain justfile and Makefile together for a period of time. That would lead to confusion. Let's switch at once. So can we have a feature branch or a PR that switches them all at once? |
Hey @containers/youki-maintainers, could you share your thoughts on using justfile instead of Makefile? I would really appreciate your input as it could potentially impact the development experience. Thank you! |
I agree with your concern. There are a few ways we can make this transition smooth, depending on how much time we can commit in the next a few weeks. We don't have a lot of makefiles, so switching just the makefile over to justfile can be done in a single PR, along with the readme instructions and the CI changes. I am happy to commit the time to make the switch next week. @YJDoc2 has done a lot already with this PR. We can then make the improvements as follow up PRs, such as combining targets using more features from Or, if we prefer a piecemeal approach, we can wrap the makefile with a top level justfile. We simply pass the arguements to justfile to makefile so we build an abstraction to hide the fact that we can using makefile underneath. This allows us to port over in multiple PRs and won't affect user experience. I think either approach would work, but I think a single person should draft the PR to setup the readme, the CI, and the switch to use justfile. We should coordinate on this. |
My preference is for this approach. |
Hey @utam0k @yihuaf Thanks for your comments! I think I have already converted all the makefiles into corresponding Justfiles in this PR, I'll need to update the CI (so to completely remove the makefiles) and update the docs and readme. I'd be happy to do this in this week. Just to note, this will add just as a necessary dependency for developing youki. |
Hey, I know this has been delayed a lot, but I got busy in some other stuff. Apologies 😓 I'll get this done by this weekend to a mergable state. Apologies again 😓 |
No need to apologize, but I'm looking forward to using the |
This might not value add anything to the current discussion, but has anyone explored the option of using cargo-make? Based on my limited experience, cargo-make looks and feels more promising. Not trying to discredit the current effort, just throwing things for discussion. |
We had good experience with |
Take your time and let us know if we can help out in anyway :) |
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## main #1823 +/- ##
=======================================
Coverage 65.26% 65.26%
=======================================
Files 129 129
Lines 14800 14800
=======================================
Hits 9659 9659
Misses 5141 5141 |
!github easy-benchmark |
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.
Great!
This is an exploratory addition of just as a command runner.Currently I have only added
justfiles
for existingmakefiles
, but I feel in future we can completely replace the scripts/* withjust
if it works out.I personally feel that syntax of
just
is better than plain makefile/shell scripts, especially in case of if-else etc.This PR is more as a rfc and testing out just rather than merging.Also, adding
just
will add an dependency onjust
for our build system (as a whole, not only CI)Comments and questions welcome!
Update : as discussed below, we are moving to just instead of Makefile, so that will be done in this PR itself.