luci / recipes-py

A testable, cross-platform, workflow description language (in python).
Apache License 2.0
24 stars 17 forks source link

recipes.py autoroll fails to find any candidates #8

Closed erock2112 closed 7 years ago

erock2112 commented 7 years ago

This is failing in both the Skia repo and the Skia infra repo, in the same way:

$ infra/bots/recipes.py autoroll --output-json autoroll.json finding roll candidates... looking for a trivial roll... processing candidate #1... FAILED processing candidate #2... FAILED processing candidate #3... FAILED ... processing candidate #75... FAILED processing candidate #76... FAILED processing candidate #77... FAILED looking for a nontrivial roll... processing candidate #77... FAILED processing candidate #76... FAILED processing candidate #75... FAILED ... processing candidate #3... FAILED processing candidate #2... FAILED processing candidate #1... FAILED $ echo $? 0

The JSON output is here: https://drive.google.com/a/google.com/file/d/0B2nrRr-O_Yy3TEJZWjVvWjUybjg/view?usp=sharing

I tried to manually roll by pasting HEAD of build.git into infra/config/recipes.cfg, then pasting the hashes from that revision of build.git's recipes.cfg into Skia's recipes.cfg. Then the command-line flags seem broken:

$ python infra/bots/recipes.py simulation_test train usage: recipes.py [-h] [--package PACKAGE] [--deps-path DEPS_PATH] [--verbose] [--no-fetch] [-O ID=PATH] [--use-bootstrap] [--operational-args-path OPERATIONAL_ARGS_PATH] {fetch,simulation_test,lint,run,remote,autoroll,depgraph,refs,doc,info} ... recipes.py: error: invalid choice: 'infra/bots/recipes.py' (choose from 'fetch', 'simulation_test', 'lint', 'run', 'remote', 'autoroll', 'depgraph', 'refs', 'doc', 'info')

$ $ infra/bots/recipes.py --help usage: recipes.py [-h] [--package PACKAGE] [--deps-path DEPS_PATH] [--verbose] [--no-fetch] [-O ID=PATH] [--use-bootstrap] [--operational-args-path OPERATIONAL_ARGS_PATH] {fetch,simulation_test,lint,run,remote,autoroll,depgraph,refs,doc,info} ... recipes.py: error: invalid choice: 'infra/bots/recipes.py' (choose from 'fetch', 'simulation_test', 'lint', 'run', 'remote', 'autoroll', 'depgraph', 'refs', 'doc', 'info')

erock2112 commented 7 years ago

Okay, I copied recipes.py from build.git into both of the affected repos, and now the roll works as expected: https://skia-review.googlesource.com/c/4771/ https://skia-review.googlesource.com/c/4772/

Would we have run into this if the recipe roller was enabled for these repos?

erock2112 commented 7 years ago

To sum up chat conversation: the roller would not have updated recipes.py, but if skia/skia-infra repos were being autorolled they would have gotten the manual update. So there's no bug here except that we should probably add skia/skia-infra to the recipe roller.