--
You received this message because you are subscribed to the Google Groups "infra-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to infra-dev+...@chromium.org.
To post to this group, send email to infr...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/infra-dev/CAATLsPb_EVTpcmSxLsWQ0Go9OYm_9h_8-E57cm%3Do64Y%2Bh5ScEA%40mail.gmail.com.
I've been looking into next steps needed to start moving recipes to chromium repo.Please consider this a call for relatively early feedback. Likely timeframe is about a few weeks; certainly not before resolving any outstanding questions/concerns, and probably starting with smaller repos that affect less people, e.g. infra.I think I'd start with moving the relevant recipes first. kitchen_run/remote_run allows us to do this, even with buildbot. We'd need to add relevant repos to the recipe autoroller (trivial) and change buildbot master configs to use kitchen_run/remote_run factory. We'd also need to modify the factory so that it'd use the same recipe revision as requested build revision, if they refer to the same repo (e.g. chromium).
As a general rule, the other repos like chromium or infra would depend on build (via recipes.cfg), but not the other way around. Unfortunately there's still chromium-related code in build recipes that uses some build scripts there (e.g. compile.py) which makes it harder to migrate. As other recipes such as chromium would depend on build, the build repo can't depend back on them because it'd introduce a circular dependency.Next step would likely be moving some recipe modules, starting from the top of the dependency tree, i.e. modules nothing else depends on. This requires that all recipes which depend on them move to relevant repos.
To give you a specific example, some starting ones could be auto_bisect, perf_try, ios, webrtc, chromium_tests. See attached dependency graph for reference. You can also generate one yourself by running "./recipes.py --package ~/infra_internal/build/infra/config/recipes.cfg depgraph --ignore-package recipe_engine | tred | dot -Tpdf > graph.pdf" from a recipes-py checkout.If any internal recipes or modules depend on any of the moved modules, the relevant internal repos would start depending on the project repos (e.g. chromium) using a gitiles-based fetch strategy to avoid expensive pull of these large repos into .recipe_deps. I'm still working on supporting this in the recipe engine, including the autoroller.WDYT?Paweł
--
a few comments inlineOn Wed, Jun 1, 2016 at 6:15 AM, Paweł Hajdan, Jr. <phajd...@chromium.org> wrote:I've been looking into next steps needed to start moving recipes to chromium repo.Please consider this a call for relatively early feedback. Likely timeframe is about a few weeks; certainly not before resolving any outstanding questions/concerns, and probably starting with smaller repos that affect less people, e.g. infra.I think I'd start with moving the relevant recipes first. kitchen_run/remote_run allows us to do this, even with buildbot. We'd need to add relevant repos to the recipe autoroller (trivial) and change buildbot master configs to use kitchen_run/remote_run factory. We'd also need to modify the factory so that it'd use the same recipe revision as requested build revision, if they refer to the same repo (e.g. chromium).Agree that we want to start with recipes, e.g. the leaf nodes. I'd like to include them in the graph that's generated from depgraph (probably merging nearly-identical ones) so we can see what can be picked off first.
As I've mentioned before we should definitely do this with the infra recipes first since we might discover something that affects our strategy with chromium. chromium == production and infra == staging.
As a general rule, the other repos like chromium or infra would depend on build (via recipes.cfg), but not the other way around. Unfortunately there's still chromium-related code in build recipes that uses some build scripts there (e.g. compile.py) which makes it harder to migrate. As other recipes such as chromium would depend on build, the build repo can't depend back on them because it'd introduce a circular dependency.Next step would likely be moving some recipe modules, starting from the top of the dependency tree, i.e. modules nothing else depends on. This requires that all recipes which depend on them move to relevant repos.It would be really good if we could edit the dot file produced by depgraph to look like the ideal end state so we can figure out if we have any cycles to break and if it looks sane. This is something I'd be happy to experiment with when I have some time if no one else is interested.
Erik
--
To unsubscribe from this group and stop receiving emails from it, send an email to infra-dev+unsubscribe@chromium.org.
Erik
--
To unsubscribe from this group and stop receiving emails from it, send an email to infra-dev+...@chromium.org.
To post to this group, send email to infr...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/infra-dev/CAATLsPb_EVTpcmSxLsWQ0Go9OYm_9h_8-E57cm%3Do64Y%2Bh5ScEA%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "infra-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to infra-dev+...@chromium.org.
To post to this group, send email to infr...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/infra-dev/6993610d-03cc-49f5-b675-4b9839c681c0%40chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/infra-dev/CA%2Bju%2B_0Cjnu40-q9MVdPUMeELD4EWstfpqth3V136WEmE2WP-g%40mail.gmail.com.
Erik
--
To unsubscribe from this group and stop receiving emails from it, send an email to infra-dev+unsubscribe@chromium.org.
To post to this group, send email to infr...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/infra-dev/CAATLsPb_EVTpcmSxLsWQ0Go9OYm_9h_8-E57cm%3Do64Y%2Bh5ScEA%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "infra-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to infra-dev+unsubscribe@chromium.org.
To post to this group, send email to infr...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/infra-dev/6993610d-03cc-49f5-b675-4b9839c681c0%40chromium.org.
--
You received this message because you are subscribed to the Google Groups "infra-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to infra-dev+unsubscribe@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/infra-dev/CA%2Bju%2B_0Cjnu40-q9MVdPUMeELD4EWstfpqth3V136WEmE2WP-g%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "infra-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to infra-dev+unsubscribe@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/infra-dev/CAN60yaK8XoGNxQL2KenO-qJ6%2B1VjDsvMz2z%3D%3Dm9-5izB4OM0RQ%40mail.gmail.com.