-
Notifications
You must be signed in to change notification settings - Fork 3.2k
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
docs: add makefile improvement proposal #10188
docs: add makefile improvement proposal #10188
Conversation
5c8a848
to
2b3d60e
Compare
Signed-off-by: Isitha Subasinghe <[email protected]>
2b3d60e
to
9b56c65
Compare
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. If this is a mentoring request, please provide an update here. Thank you for your contributions. |
@isubasinghe I'd suggest we also try experimenting with Vagrant. It is used to spin up isolated development environments inside VMs or docker, the config for that will be stored in the repo in a file named |
Thanks for the review @caelan-io , addressed the feedback. |
Signed-off-by: Isitha Subasinghe <[email protected]>
Getting started is a real issue. I think think the right solution, because we're on Github, it Codespace. Have you experimented with that? |
@alexec I think that works as well but I think having Nix could be in addition to that to provide a better build experience on local machines. I think I can get a Nix file up such that the dependencies we use will be the exact same for everyone, I don't think I even have to modify the Makefile for this. This alone should solve most of the issues I've had in the past with getting Argo Workflows running on Fedora. |
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.
- I agree that the
Makefile
today is too complex. It has many options that are not used and could be simplified removed, e.g. KUBERNETES_NAMESPACE. - Let's use DevContainers for the tooling. This is much more mature that it was 1 years ago and is now usable.
- Let's avoid any tools that are programatic in nature rather than declarative. They're always harder to understand, which results in a weaker eco-system, and less popularity and adoption. I've not heard of Nix or Devenv, but we already have a toolchain.
@isubasinghe if you're interested, I can list out the improvement we could make to the Makefile
to reduce it complexity and rely more on the underlying tools.
I don't think we need PR for proposals to build tool chains. Let's open an issue instead.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. If this is a mentoring request, please provide an update here. Thank you for your contributions. |
Thanks @alexec - yes if you're able to list out the improvements you have in mind, we can make the changes:
@isubasinghe opened this proposal at @sarabala1979 's request. Can we keep the discussion thread going here until we have another PR opened? |
@juliev0 As a general comment, we can keep the Makefile, I suggest Nix as an additional option to make life easier for people who are not on OSX/Ubuntu or just want a reproducible build environment. I strongly believe the two can co-exist. |
@rohankmr414 Sorry, I forgot to reply. But yeah I think we can have a look at this as well. I also think it might be trivial to create a VM image from this Nix file itself. See this https://github.com/nix-community/awesome-nix#virtualisation. It seems to support firecracker to run NixOS VM's |
@alexec Isitha opened up a PR for this proposal because it's more likely to get seen by more people and by folks like you than opening an Issue. Also, I had mentioned that this was the way to go. I was originally told to put the ArtifactGC proposal in this same directory. As I recall, this is what Argo CD is doing. Also, Isitha opened up a PR for Nix. It sounds like it would address the big hurdles of devs getting started on non OSX/Ubuntu. And it sounds like it would not affect the current processes for those who want to use it. Any reason in that case not to merge it? I know you mentioned an alternative strategy, so if you feel that that should be put in place instead please provide the details. Thanks.
|
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.
One concern is that a lot of the commands seem to duplicate what's in Makefile. If we can somehow refactor that it would be great since this will double maintenance effort. An example: #10999 (comment)
This is very much intentional and a feature of nix, the build system is sealed from the rest of the environment. This is what gives us reproducible builds. I agree that this increases maintenance effort, I offer three solutions for this:
|
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. If this is a mentoring request, please provide an update here. Thank you for your contributions. |
Not stale |
Signed-off-by: Julie Vogelman <[email protected]>
since we already merged the actual work, I can enable auto-merge for this |
Signed-off-by: Isitha Subasinghe <[email protected]> Signed-off-by: Julie Vogelman <[email protected]> Co-authored-by: Julie Vogelman <[email protected]> Signed-off-by: Tim Collins <[email protected]>
Signed-off-by: Isitha Subasinghe <[email protected]> Signed-off-by: Julie Vogelman <[email protected]> Co-authored-by: Julie Vogelman <[email protected]>
Signed-off-by: Isitha Subasinghe <[email protected]> Signed-off-by: Julie Vogelman <[email protected]> Co-authored-by: Julie Vogelman <[email protected]> Signed-off-by: Jeremy Hager <[email protected]>
Signed-off-by: Isitha Subasinghe [email protected]