-
Notifications
You must be signed in to change notification settings - Fork 17
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
Procfile comparison #6
Comments
Recipes fill a similar niche ("run a bunch of stuff!"), but have some additional features:
They're also designed to be federated across multiple repos; one repo (say, 'depot_tools') can provide recipe modules (like 'gclient') which are then used by other repos (say 'chromium'). The engine also has enough intelligence to know how to roll upstream changes in functionality downstream to other repos to help us keep the entire web of recipes up-to-date. This system also has full-pinning information, which means that if you run a historical build (e.g. from an old release branch, or from a bisect), you can have exactly the version of recipes that was used at that point in time. If the question is then "that sounds complex! I want something simpler!" I would say, "That sounds good! Use something simpler! 😀". The luci projects that we're working on are very consciously not meant to assume that you're using recipes (and indeed, we're probably going to be supporting simple bash scripts and bare executables like gtest binaries). Recipes are just a tool that we've found to be really useful in codifying the way that our builds work, and making those encoded build processes maintainable and hackable by a large group of people. Hopefully that answers your question? 1: though we remove portions of python that don't have cross-platform apis like 'os' and 'subprocess'; we provide replacement cross-platform implementations for those via recipe modules. |
This is very useful info. I think it has big potential if turned into slides. And for slides it will be interesting to see real world stories encountered through all this time.. This thing - https://github.com/luci/recipes-py/blob/master/doc/user_guide.md - is useful. And luci.github.io may be updated to point to it. I can also see benefit in choosing this API - Python code that is independent on Python behavior and its libraries. It is a cool initiative. Can we also start doing language independent library of behavior - that will be sharing tests, will have public domain license (to be shared with other interpreters) and crediting? This may enable faster evolution of Python stdliib and other languages. Because right now people are reinventing things for their language. |
How recipes compare to procfiles https://honcho.readthedocs.io/en/latest/using_procfiles.html?
The text was updated successfully, but these errors were encountered: