OLD | NEW |
1 # Copyright 2016 The Chromium Authors. All rights reserved. | 1 # Copyright 2016 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 | 5 |
6 # Recipe which runs the Skia infra tests. | 6 # Recipe which runs the Skia infra tests. |
7 | 7 |
8 | 8 |
9 DEPS = [ | 9 DEPS = [ |
10 'core', | 10 'core', |
| 11 'infra', |
11 'recipe_engine/path', | 12 'recipe_engine/path', |
12 'recipe_engine/properties', | 13 'recipe_engine/properties', |
13 'recipe_engine/step', | 14 'recipe_engine/step', |
| 15 'run', |
14 'vars', | 16 'vars', |
15 ] | 17 ] |
16 | 18 |
17 | 19 |
18 UPDATE_GO_ATTEMPTS = 5 | |
19 | |
20 | |
21 def RunSteps(api): | 20 def RunSteps(api): |
22 api.vars.setup() | 21 api.vars.setup() |
23 api.core.checkout_steps() | 22 api.core.checkout_steps() |
24 | 23 api.infra.update_go_deps() |
25 # Attempt to update go dependencies. This fails flakily sometimes, so perform | |
26 # multiple attempts. | |
27 gopath = api.vars.checkout_root.join('gopath') | |
28 env = {'GOPATH': gopath} | |
29 name = 'update go pkgs' | |
30 for attempt in xrange(UPDATE_GO_ATTEMPTS): | |
31 step_name = name | |
32 if attempt > 0: | |
33 step_name += ' (attempt %d)' % (attempt + 1) | |
34 try: | |
35 api.step(step_name, | |
36 cmd=['go', 'get', '-u', 'go.skia.org/infra/...'], | |
37 env=env) | |
38 break | |
39 except api.step.StepFailure: | |
40 if attempt == UPDATE_GO_ATTEMPTS - 1: | |
41 raise | |
42 | 24 |
43 # Run the infra tests. | 25 # Run the infra tests. |
44 infra_tests = api.vars.skia_dir.join( | 26 infra_tests = api.vars.skia_dir.join( |
45 'infra', 'bots', 'infra_tests.py') | 27 'infra', 'bots', 'infra_tests.py') |
46 api.step('infra_tests', | 28 api.step('infra_tests', |
47 cmd=['python', infra_tests], | 29 cmd=['python', infra_tests], |
48 cwd=api.vars.skia_dir, | 30 cwd=api.vars.skia_dir, |
49 env=env) | 31 env=api.infra.go_env) |
50 | 32 |
51 | 33 |
52 def GenTests(api): | 34 def GenTests(api): |
53 yield ( | 35 yield ( |
54 api.test('infra_tests') + | 36 api.test('infra_tests') + |
55 api.properties(buildername='Housekeeper-PerCommit-InfraTests', | 37 api.properties(buildername='Housekeeper-PerCommit-InfraTests', |
56 mastername='client.skia.fyi', | 38 mastername='client.skia.fyi', |
57 slavename='dummy-slave', | 39 slavename='dummy-slave', |
58 buildnumber=5, | 40 buildnumber=5, |
59 revision='abc123', | 41 revision='abc123', |
(...skipping 21 matching lines...) Expand all Loading... |
81 buildnumber=5, | 63 buildnumber=5, |
82 revision='abc123', | 64 revision='abc123', |
83 path_config='kitchen', | 65 path_config='kitchen', |
84 swarm_out_dir='[SWARM_OUT_DIR]') + | 66 swarm_out_dir='[SWARM_OUT_DIR]') + |
85 api.step_data('update go pkgs', retcode=1) + | 67 api.step_data('update go pkgs', retcode=1) + |
86 api.step_data('update go pkgs (attempt 2)', retcode=1) + | 68 api.step_data('update go pkgs (attempt 2)', retcode=1) + |
87 api.step_data('update go pkgs (attempt 3)', retcode=1) + | 69 api.step_data('update go pkgs (attempt 3)', retcode=1) + |
88 api.step_data('update go pkgs (attempt 4)', retcode=1) + | 70 api.step_data('update go pkgs (attempt 4)', retcode=1) + |
89 api.step_data('update go pkgs (attempt 5)', retcode=1) | 71 api.step_data('update go pkgs (attempt 5)', retcode=1) |
90 ) | 72 ) |
OLD | NEW |