Currently the repro instructions look like (json formatting added):
```
To repro this locally, run the following line from the root of a 'build' checkout:
./scripts/slave/recipes.py run --properties-file - chromium <<EOF
{
"recipe": "chromium",
"builder_id": "master.chromium.fyi:Site Isolation Linux",
"$recipe_engine/path": {
"cache_dir": "/mnt/data/b/c",
"temp_dir": "/mnt/data/b/rr/tmpBh4wOk/t/rt"
},
"buildnumber": 16078,
"git_revision": "1931faea0d5ada216fca3c11add153ceaa82ba6d",
"slavename": "vm977-m1",
"blamelist": [
"aelias@chromium.org",
"alph@chromium.org",
"ben@chromium.org",
"binji@chromium.org",
"carlosk@chromium.org",
"catapult-deps-roller@chromium.org",
"chengx@chromium.org",
"dfalcantara@chromium.org",
"dgozman@chromium.org",
"dmurph@chromium.org",
"fdoray@chromium.org",
"hcarmona@chromium.org",
"hubbe@chromium.org",
"ikilpatrick@chromium.org",
"jbroman@chromium.org",
"jdoerrie@chromium.org",
"jrummell@chromium.org",
"jsbell@chromium.org",
"kenrb@chromium.org",
"kouhei@chromium.org",
"kylixrd@chromium.org",
"lazyboy@chromium.org",
"mad@chromium.org",
"mcasas@chromium.org",
"mmoss@chromium.org",
"mthiesse@chromium.org",
"ntfschr@chromium.org",
"ochang@chromium.org",
"paulmeyer@chromium.org",
"pcc@chromium.org",
"pdfium-deps-roller@chromium.org",
"pdr@chromium.org",
"rch@chromium.org",
"rdevlin.cronin@chromium.org",
"rkjnsn@chromium.org",
"shaktisahu@chromium.org",
"thakis@chromium.org",
"twellington@chromium.org"
],
"branch": "master",
"use_gitiles": false,
"revision": "1931faea0d5ada216fca3c11add153ceaa82ba6d",
"workdir": "/mnt/data/b/build/slave/Site_Isolation_Linux",
"repository": "https://chromium.googlesource.com/chromium/src",
"buildername": "Site Isolation Linux",
"mastername": "chromium.fyi",
"scheduler": "chromium",
"buildbotURL": "http://build.chromium.org/p/chromium.fyi/",
"build_data_dir": "/mnt/data/b/rr/tmpwqq6dV",
"recipe_repository": "https://chromium.googlesource.com/chromium/tools/build.git",
"project": "chromium",
"requestedAt": 1493151697,
"path_config": "generic",
"bot_id": "vm977-m1"
}
EOF
To run on Windows, you can put the JSON in a file and redirect the
contents of the file into run_recipe.py, with the < operator.
```
Some issues:
* $recipe_engine/path is never going to work for humans/locally
* build_data_dir is never going to work for humans/locally
* workdir is never going to work for humans/locally
* the buildnumber is potentially problematic; a local repro build may try to upload stuff as if it were the real job
* generally, the recipes aren't written with local execution in mind and may take hard dependencies on file locations (like for credentials). Example: https://cs.chromium.org/chromium/build/scripts/slave/recipe_modules/goma/api.py?q=goma&sq=package:chromium&dr=CSs&l=24
Some of this may be alleviated by using `try-recipe` and no longer attempting to make these recipes work locally; we could replace with the instructions with how to get a checkout of the original recipe and then a quick cheatsheet on how to edit + remotely repro. This may actually have some chance of working in the long term, since it will be triggering the recipe in an environment that matches how it's expected to run.
Getting real local repros back to a working state would also be really good, but I think we'll need some more coordination from the recipes themselves; many are just not written to work correctly in this mode :(.
Comment 1 by iannu...@google.com
, May 1 2017