-
Notifications
You must be signed in to change notification settings - Fork 992
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
[feature] Make git the source of truth for recipes #15745
Comments
Thanks for your feedback. I think you would be interested in #13930, it sounds that it is what you are describing. We are aiming to release it in next release, but can't guarantee, as it is complex and has some risks, but we are on it. Said that, I'd still like to advocate for the server model and encourage not to discard it. As part of JFrog we have been able to learn a ton about package management in general and modern devops, these would be some important points:
You already have to trust the process. The moment you are building things from source to create your final product that you release or sell you have a process. You will probably have tests, CI that build things, storing the binaries somewhere for the releases... The devops practices with server-client model allow to structure and standardize this process a bit more. The build of a given library with the upload of the different binaries for the different platforms and versions to a server becomes a very valuable process. Knowing that every developer and CI can just The process allows a "fail fast" and mitigate many of the problems that comes from source. When a library is being changed, the process can quickly build the package from that change, or fail if not possible. This allows consumers of that package to test themselves without having to rebuild over and over the same lib, or having to implement their own self-made binary caching and management. The source repo model needs to work a very massive CI that builds the whole repo periodically.
You can have almost the same with TL;DR: For a third-party open source model, the source repo can be ok, and this is the reason we are enabling that for repos with recipes like |
Thanks @memsharded for the comprehensive answer, and #13930 does look interesting. Looking forward to it, regardless of the release that it will be included in! |
The "local-recipes-index" has been already released some weeks ago in Conan 2.2, and announced in https://blog.conan.io/2024/04/23/Introducing-local-recipes-index-remote.html. I think we can close this ticket as solved, if there are any further question, or any feedback while using the "local-recipes-index" new feature, please create new tickets. Thanks! |
What is your suggestion?
Hi! I've spent some time evaluating both Conan and Vcpkg and there are many things that I like about both projects. So far I like Conan a little better overall, so I want to provide feedback to the Conan projeect on things that I think it should borrow from Vcpkg. One of the things that I think Conan should take from Vcpkg is to keep the source packages (recipes) in git and stop publishing them to a separate repository. It sounds like a small thing, but I don't think it is. All development teams have git repositories and are comfortable with the precise tracking of every little change. It is our source of truth. But for Conan recipes there is an intermediate step where recipes have to be published to a Conan repository and we now have to trust a process rather than a tool that the published packages are correct. We also do not have a commit history for the repos published to the Conan repository, of if we do it is certainly not as accessible to developers as
git log
.Have you read the CONTRIBUTING guide?
The text was updated successfully, but these errors were encountered: