Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(325)

Issue 1421843006: Add simple depends_on API. (Closed)

Created:
5 years, 1 month ago by martiniss
Modified:
5 years, 1 month ago
CC:
chromium-reviews, infra-reviews+recipes-py_chromium.org
Base URL:
https://chromium.googlesource.com/external/github.com/luci/recipes-py@master
Target Ref:
refs/heads/master
Project:
recipes-py
Visibility:
Public.

Description

Patch Set 1 #

Total comments: 4

Patch Set 2 : Switched back to subprocess. #

Patch Set 3 : Added testing support. #

Patch Set 4 : Removed dumb recipes. #

Patch Set 5 : Update expectations. #

Total comments: 20

Patch Set 6 : Made it do properties and multi #

Total comments: 18

Patch Set 7 : Respond to comments. #

Total comments: 6

Patch Set 8 : Refactored to always check properties. #

Total comments: 4

Patch Set 9 : Fix small broken tests, add invoke tests, respond to nits. #

Total comments: 18

Patch Set 10 : Add more tests, use mock, fix small nits. #

Patch Set 11 : Fix mock importing. #

Patch Set 12 : Remove old expectation, move tests to their own folder. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+459 lines, -62 lines) Patch
M recipe_engine/doc.py View 1 2 3 4 5 6 7 8 2 chunks +2 lines, -3 lines 0 comments Download
M recipe_engine/lint_test.py View 1 2 3 4 5 6 7 8 1 chunk +1 line, -2 lines 0 comments Download
M recipe_engine/loader.py View 1 2 3 4 5 6 7 8 9 6 chunks +47 lines, -23 lines 0 comments Download
M recipe_engine/package.py View 1 2 3 4 5 6 1 chunk +4 lines, -0 lines 0 comments Download
M recipe_engine/recipe_api.py View 1 2 3 4 5 6 7 8 9 1 chunk +2 lines, -2 lines 0 comments Download
M recipe_engine/recipe_test_api.py View 1 2 3 4 5 6 7 8 9 6 chunks +15 lines, -0 lines 0 comments Download
M recipe_engine/run.py View 1 2 3 4 5 6 7 8 9 6 chunks +66 lines, -3 lines 0 comments Download
M recipe_engine/simulation_test.py View 2 chunks +3 lines, -3 lines 0 comments Download
M recipe_engine/unittests/loader_test.py View 1 2 3 4 5 6 7 8 9 10 8 chunks +39 lines, -14 lines 0 comments Download
M recipe_engine/unittests/run_test.py View 1 2 3 4 5 6 7 8 9 10 2 chunks +1 line, -2 lines 0 comments Download
M recipes.py View 1 2 3 4 5 6 7 8 6 chunks +24 lines, -9 lines 0 comments Download
A recipes/engine_tests/depend_on/bad_properties.py View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +23 lines, -0 lines 0 comments Download
A recipes/engine_tests/depend_on/bad_properties.expected/basic.json View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +7 lines, -0 lines 0 comments Download
A recipes/engine_tests/depend_on/bottom.py View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +33 lines, -0 lines 0 comments Download
A recipes/engine_tests/depend_on/bottom.expected/basic.json View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +18 lines, -0 lines 0 comments Download
A recipes/engine_tests/depend_on/dont_need_properties.py View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +15 lines, -0 lines 0 comments Download
A recipes/engine_tests/depend_on/dont_need_properties.expected/basic.json View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +7 lines, -0 lines 0 comments Download
A recipes/engine_tests/depend_on/dont_need_properties_helper.py View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +21 lines, -0 lines 0 comments Download
A recipes/engine_tests/depend_on/dont_need_properties_helper.expected/basic.json View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +9 lines, -0 lines 0 comments Download
A recipes/engine_tests/depend_on/need_return_schema.py View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +19 lines, -0 lines 0 comments Download
A recipes/engine_tests/depend_on/need_return_schema.expected/basic.json View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +7 lines, -0 lines 0 comments Download
A recipes/engine_tests/depend_on/need_return_schema_helper.py View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +18 lines, -0 lines 0 comments Download
A recipes/engine_tests/depend_on/need_return_schema_helper.expected/basic.json View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +7 lines, -0 lines 0 comments Download
A recipes/engine_tests/depend_on/no_return.py View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +22 lines, -0 lines 0 comments Download
A recipes/engine_tests/depend_on/no_return.expected/basic.json View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +14 lines, -0 lines 0 comments Download
A recipes/engine_tests/depend_on/top.py View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +25 lines, -0 lines 0 comments Download
A recipes/engine_tests/depend_on/top.expected/basic.json View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +9 lines, -0 lines 0 comments Download
M unittests/stdlib_test.py View 1 2 3 4 5 6 7 8 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 31 (7 generated)
estaab
https://codereview.chromium.org/1421843006/diff/1/recipes/top.py File recipes/top.py (right): https://codereview.chromium.org/1421843006/diff/1/recipes/top.py#newcode17 recipes/top.py:17: res = api.depend_on('bottom', {'number': to_pass}) Since to_pass is just ...
5 years, 1 month ago (2015-11-10 02:55:13 UTC) #2
martiniss
PTAL Here's a better implementation. Still rather raw, but it does what I want to. ...
5 years, 1 month ago (2015-11-13 00:17:12 UTC) #4
martiniss
Now with testing!! Check out recipes/top.py. It uses the testing api thing (https://docs.google.com/document/d/1mhlGG7qibTgunTZIq4oom4eDFxR-aylesEwU52bh20Y/edit#heading=h.whegu4cnn7q8) !
5 years, 1 month ago (2015-11-13 02:14:23 UTC) #5
Paweł Hajdan Jr.
Nice work. Mostly minor comments. https://codereview.chromium.org/1421843006/diff/80001/recipe_engine/recipe_test_api.py File recipe_engine/recipe_test_api.py (right): https://codereview.chromium.org/1421843006/diff/80001/recipe_engine/recipe_test_api.py#newcode178 recipe_engine/recipe_test_api.py:178: ret.depend_on_data.update(self.depend_on_data) Would it make ...
5 years, 1 month ago (2015-11-13 12:30:00 UTC) #6
Sergiy Byelozyorov
drive-by, just some suggestions that can be ignored I feel that Pawel is raising much ...
5 years, 1 month ago (2015-11-13 13:14:55 UTC) #8
martiniss
Minor fixes. Still need to do some more work to fix everything. https://codereview.chromium.org/1421843006/diff/80001/recipe_engine/loader.py File recipe_engine/loader.py ...
5 years, 1 month ago (2015-11-13 23:19:03 UTC) #9
luqui
Nice work overall. https://codereview.chromium.org/1421843006/diff/100001/recipe_engine/loader.py File recipe_engine/loader.py (right): https://codereview.chromium.org/1421843006/diff/100001/recipe_engine/loader.py#newcode137 recipe_engine/loader.py:137: self._config_file = config_file I don't see ...
5 years, 1 month ago (2015-11-16 20:48:00 UTC) #10
Sergiy Byelozyorov
https://codereview.chromium.org/1421843006/diff/80001/recipe_engine/run.py File recipe_engine/run.py (right): https://codereview.chromium.org/1421843006/diff/80001/recipe_engine/run.py#newcode965 recipe_engine/run.py:965: return json.load(f) On 2015/11/13 23:19:03, martiniss wrote: > On ...
5 years, 1 month ago (2015-11-17 11:19:40 UTC) #11
estaab
https://codereview.chromium.org/1421843006/diff/100001/recipe_engine/run.py File recipe_engine/run.py (right): https://codereview.chromium.org/1421843006/diff/100001/recipe_engine/run.py#newcode977 recipe_engine/run.py:977: rval = subprocess.call(cmd) We should probably throw an exception ...
5 years, 1 month ago (2015-11-17 23:07:16 UTC) #12
martiniss
https://codereview.chromium.org/1421843006/diff/100001/recipe_engine/loader.py File recipe_engine/loader.py (right): https://codereview.chromium.org/1421843006/diff/100001/recipe_engine/loader.py#newcode137 recipe_engine/loader.py:137: self._config_file = config_file On 2015/11/16 at 20:47:59, luqui wrote: ...
5 years, 1 month ago (2015-11-18 01:00:00 UTC) #13
estaab
On 2015/11/18 01:00:00, martiniss wrote: > https://codereview.chromium.org/1421843006/diff/100001/recipe_engine/loader.py > File recipe_engine/loader.py (right): > > https://codereview.chromium.org/1421843006/diff/100001/recipe_engine/loader.py#newcode137 > ...
5 years, 1 month ago (2015-11-18 01:05:48 UTC) #14
Paweł Hajdan Jr.
https://codereview.chromium.org/1421843006/diff/120001/recipe_engine/recipe_test_api.py File recipe_engine/recipe_test_api.py (right): https://codereview.chromium.org/1421843006/diff/120001/recipe_engine/recipe_test_api.py#newcode207 recipe_engine/recipe_test_api.py:207: 'Already gave test data for %s' % recipe) Shouldn't ...
5 years, 1 month ago (2015-11-18 16:56:03 UTC) #15
martiniss
On 2015/11/18 at 01:05:48, estaab wrote: > On 2015/11/18 01:00:00, martiniss wrote: > > https://codereview.chromium.org/1421843006/diff/100001/recipe_engine/loader.py ...
5 years, 1 month ago (2015-11-18 17:21:53 UTC) #16
estaab
lgtm I think we'll need to annotate the start and end of a child recipe ...
5 years, 1 month ago (2015-11-18 17:24:29 UTC) #17
martiniss
PTAL erik re-look at this patch. Made some changes to the architecture to always check ...
5 years, 1 month ago (2015-11-18 22:03:30 UTC) #18
Paweł Hajdan Jr.
LGTM w/nit https://codereview.chromium.org/1421843006/diff/140001/recipe_engine/run.py File recipe_engine/run.py (right): https://codereview.chromium.org/1421843006/diff/140001/recipe_engine/run.py#newcode962 recipe_engine/run.py:962: nit: Remove redundant empty line.
5 years, 1 month ago (2015-11-19 15:12:23 UTC) #19
estaab
lgtm Robbie should look at this and give the final lgtm. https://codereview.chromium.org/1421843006/diff/140001/recipe_engine/run.py File recipe_engine/run.py (right): ...
5 years, 1 month ago (2015-11-19 23:08:19 UTC) #21
martiniss
Robbie and luke can you take a look? Had to fiddle with a couple recipes.py ...
5 years, 1 month ago (2015-11-20 00:08:51 UTC) #22
luqui
Structually this lgtm. A few concerns still. https://codereview.chromium.org/1421843006/diff/160001/recipe_engine/recipe_api.py File recipe_engine/recipe_api.py (right): https://codereview.chromium.org/1421843006/diff/160001/recipe_engine/recipe_api.py#newcode457 recipe_engine/recipe_api.py:457: def depend_on(self, ...
5 years, 1 month ago (2015-11-20 01:07:02 UTC) #23
iannucci
lgtm for sure! This will be a great base to build on. https://codereview.chromium.org/1421843006/diff/160001/recipe_engine/recipe_api.py File recipe_engine/recipe_api.py ...
5 years, 1 month ago (2015-11-20 02:00:19 UTC) #24
martiniss
More tests! https://codereview.chromium.org/1421843006/diff/160001/recipe_engine/recipe_api.py File recipe_engine/recipe_api.py (right): https://codereview.chromium.org/1421843006/diff/160001/recipe_engine/recipe_api.py#newcode457 recipe_engine/recipe_api.py:457: def depend_on(self, recipe, properties, **kwargs): On 2015/11/20 ...
5 years, 1 month ago (2015-11-23 22:05:08 UTC) #25
martiniss
Ok, will commit at 4 PM PST. Speak now or forever hold your peace!
5 years, 1 month ago (2015-11-23 23:33:28 UTC) #26
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1421843006/220001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1421843006/220001
5 years, 1 month ago (2015-11-24 00:00:12 UTC) #30
commit-bot: I haz the power
5 years, 1 month ago (2015-11-24 00:01:25 UTC) #31
Message was sent while issue was closed.
Committed patchset #12 (id:220001) as
https://github.com/luci/recipes-py/commit/68b89f6aaec205975d9a741f64cbfa50a9e...

Powered by Google App Engine
This is Rietveld 408576698