Skip to content
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

recipes.py ignores --no-fetch and --deps-path #7

Open
erock2112 opened this issue Oct 3, 2016 · 11 comments
Open

recipes.py ignores --no-fetch and --deps-path #7

erock2112 opened this issue Oct 3, 2016 · 11 comments
Assignees

Comments

@erock2112
Copy link
Contributor

erock2112 commented Oct 3, 2016

eg. in the Skia repo:

$ mkdir /tmp/recipe_deps
$ infra/bots/recipes.py --deps-path=/tmp/recipe_deps fetch
...
$ infra/bots/recipes.py --deps-path=/tmp/recipe_deps --no-fetch simulation_test train
(clones recipe_engine into infra/bots/.recipe_deps without looking for it in /tmp/recipe_deps)

The clone is taking a long time on our raspberry pi bots, and we'd like to package the recipe_deps as a CIPD package, and then run recipes.py in our swarming task with --no-fetch. CIPD doesn't like to install to skia/infra/bots/.recipe_deps, so we have to install it elsewhere and use --deps-path to point recipes.py to the right place, but because of this bug we clone the recipe engine unnecessarily even when the user requested us not to.

@martiniss martiniss self-assigned this Oct 3, 2016
@martiniss
Copy link
Member

The recipe engine wrapper you have in your repo (copy in this repo is at doc/recipes.py) automatically tries to fetch the recipe engine to .recipe_deps. It doesn't try to detect the --deps-path argument, which is a bug. Will fix

@vadimsht
Copy link
Contributor

vadimsht commented Oct 3, 2016

"CIPD doesn't like to install to skia/infra/bots/.recipe_deps"

what do you mean by that?

@erock2112
Copy link
Contributor Author

Now that I look again, it seems to be isolate failing to write files after CIPD has written into skia/infra/bots/.recipe_deps: https://chromium-swarm.appspot.com/user/task/31a4a3c1b2bbc310. Anyway, the nesting causes problems.

@vadimsht
Copy link
Contributor

vadimsht commented Oct 3, 2016

Yeah, isolate probably expects clean directory :-/

@riannucci
Copy link
Member

FYI, I'm adding a 'bundle' command to recipes which will generate a stand-alone hermetic version of the recipes in a given repo. It is designed with these sorts of uses in mind (fetching in a single location, totally offline operation, compatibility with isolate). I have a preliminary CL up here: https://chromiumcodereview.appspot.com/2352163003/

@erock2112
Copy link
Contributor Author

Sounds great!

@erock2112
Copy link
Contributor Author

Friendly ping. This is causing us a lot of pain and we'd like to get rid of the transparent fetching.

@martiniss
Copy link
Member

I think the CL (https://chromiumcodereview.appspot.com/2352163003/) is good to go. Pinged it

@riannucci
Copy link
Member

unfortunately that CL is not good to go yet, and I stalled on it. it's still on my radar though and I'll be actually fixing it this quarter.

@riannucci
Copy link
Member

This is actually fixed now (forgot to reference this bug!):

@erock2112 erock2112 reopened this Apr 3, 2017
@erock2112
Copy link
Contributor Author

erock2112 commented Apr 3, 2017

As of this morning, recipes.py is still ignoring --no-fetch:

$ infra/bots/recipes.py --deps-path=/tmp/recipe_deps --no-fetch simulation_test train
Cloning into '/usr/local/google/home/borenet/go/src/go.skia.org/infra/infra/bots/.recipe_deps/recipe_engine'...
remote: Total 6188 (delta 3847), reused 6188 (delta 3847)
Receiving objects: 100% (6188/6188), 6.78 MiB | 0 bytes/s, done.
Resolving deltas: 100% (3847/3847), done.
WARNING:root:(Not Bad) Using custom deps path: /tmp/recipe_deps
......
----------------------------------------------------------------------
Trained 6 tests in 0.237s (ran 6 tests)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

4 participants