|
|
|
@ -671,21 +671,17 @@ Returns:
|
|
|
|
|
given is unknown.
|
|
|
|
|
### *recipe_modules* / [tryserver](/recipes/recipe_modules/tryserver)
|
|
|
|
|
|
|
|
|
|
[DEPS](/recipes/recipe_modules/tryserver/__init__.py#5): [gerrit](#recipe_modules-gerrit), [git](#recipe_modules-git), [git\_cl](#recipe_modules-git_cl), [rietveld](#recipe_modules-rietveld), [recipe\_engine/context][recipe_engine/recipe_modules/context], [recipe\_engine/json][recipe_engine/recipe_modules/json], [recipe\_engine/path][recipe_engine/recipe_modules/path], [recipe\_engine/platform][recipe_engine/recipe_modules/platform], [recipe\_engine/properties][recipe_engine/recipe_modules/properties], [recipe\_engine/python][recipe_engine/recipe_modules/python], [recipe\_engine/raw\_io][recipe_engine/recipe_modules/raw_io], [recipe\_engine/step][recipe_engine/recipe_modules/step]
|
|
|
|
|
[DEPS](/recipes/recipe_modules/tryserver/__init__.py#5): [gerrit](#recipe_modules-gerrit), [git](#recipe_modules-git), [git\_cl](#recipe_modules-git_cl), [recipe\_engine/context][recipe_engine/recipe_modules/context], [recipe\_engine/json][recipe_engine/recipe_modules/json], [recipe\_engine/path][recipe_engine/recipe_modules/path], [recipe\_engine/platform][recipe_engine/recipe_modules/platform], [recipe\_engine/properties][recipe_engine/recipe_modules/properties], [recipe\_engine/python][recipe_engine/recipe_modules/python], [recipe\_engine/raw\_io][recipe_engine/recipe_modules/raw_io], [recipe\_engine/step][recipe_engine/recipe_modules/step]
|
|
|
|
|
|
|
|
|
|
#### **class [TryserverApi](/recipes/recipe_modules/tryserver/api.py#12)([RecipeApi][recipe_engine/wkt/RecipeApi]):**
|
|
|
|
|
|
|
|
|
|
— **def [add\_failure\_reason](/recipes/recipe_modules/tryserver/api.py#148)(self, reason):**
|
|
|
|
|
— **def [add\_failure\_reason](/recipes/recipe_modules/tryserver/api.py#108)(self, reason):**
|
|
|
|
|
|
|
|
|
|
Records a more detailed reason why build is failing.
|
|
|
|
|
|
|
|
|
|
The reason can be any JSON-serializable object.
|
|
|
|
|
|
|
|
|
|
  **@property**<br>— **def [can\_apply\_issue](/recipes/recipe_modules/tryserver/api.py#23)(self):**
|
|
|
|
|
|
|
|
|
|
Returns true iff the properties exist to apply_issue from rietveld.
|
|
|
|
|
|
|
|
|
|
— **def [get\_files\_affected\_by\_patch](/recipes/recipe_modules/tryserver/api.py#46)(self, patch_root=None, \*\*kwargs):**
|
|
|
|
|
— **def [get\_files\_affected\_by\_patch](/recipes/recipe_modules/tryserver/api.py#38)(self, patch_root, \*\*kwargs):**
|
|
|
|
|
|
|
|
|
|
Returns list of paths to files affected by the patch.
|
|
|
|
|
|
|
|
|
@ -695,38 +691,34 @@ Argument:
|
|
|
|
|
|
|
|
|
|
Returned paths will be relative to to patch_root.
|
|
|
|
|
|
|
|
|
|
TODO(tandrii): remove this doc.
|
|
|
|
|
Unless you use patch_root=None, in which case old behavior is used
|
|
|
|
|
which returns paths relative to checkout aka solution[0].name.
|
|
|
|
|
|
|
|
|
|
— **def [get\_footer](/recipes/recipe_modules/tryserver/api.py#211)(self, tag, patch_text=None):**
|
|
|
|
|
— **def [get\_footer](/recipes/recipe_modules/tryserver/api.py#162)(self, tag, patch_text=None):**
|
|
|
|
|
|
|
|
|
|
Gets a specific tag from a CL description
|
|
|
|
|
|
|
|
|
|
— **def [get\_footers](/recipes/recipe_modules/tryserver/api.py#184)(self, patch_text=None):**
|
|
|
|
|
— **def [get\_footers](/recipes/recipe_modules/tryserver/api.py#144)(self, patch_text=None):**
|
|
|
|
|
|
|
|
|
|
Retrieves footers from the patch description.
|
|
|
|
|
|
|
|
|
|
footers are machine readable tags embedded in commit messages. See
|
|
|
|
|
git-footers documentation for more information.
|
|
|
|
|
|
|
|
|
|
  **@property**<br>— **def [is\_gerrit\_issue](/recipes/recipe_modules/tryserver/api.py#30)(self):**
|
|
|
|
|
  **@property**<br>— **def [is\_gerrit\_issue](/recipes/recipe_modules/tryserver/api.py#22)(self):**
|
|
|
|
|
|
|
|
|
|
Returns true iff the properties exist to match a Gerrit issue.
|
|
|
|
|
|
|
|
|
|
  **@property**<br>— **def [is\_patch\_in\_git](/recipes/recipe_modules/tryserver/api.py#40)(self):**
|
|
|
|
|
  **@property**<br>— **def [is\_patch\_in\_git](/recipes/recipe_modules/tryserver/api.py#32)(self):**
|
|
|
|
|
|
|
|
|
|
  **@property**<br>— **def [is\_tryserver](/recipes/recipe_modules/tryserver/api.py#17)(self):**
|
|
|
|
|
|
|
|
|
|
Returns true iff we can apply_issue or patch.
|
|
|
|
|
Returns true iff we have a change to check out.
|
|
|
|
|
|
|
|
|
|
— **def [normalize\_footer\_name](/recipes/recipe_modules/tryserver/api.py#215)(self, footer):**
|
|
|
|
|
— **def [normalize\_footer\_name](/recipes/recipe_modules/tryserver/api.py#166)(self, footer):**
|
|
|
|
|
|
|
|
|
|
— **def [set\_compile\_failure\_tryjob\_result](/recipes/recipe_modules/tryserver/api.py#127)(self):**
|
|
|
|
|
— **def [set\_compile\_failure\_tryjob\_result](/recipes/recipe_modules/tryserver/api.py#87)(self):**
|
|
|
|
|
|
|
|
|
|
Mark the tryjob result as a compile failure.
|
|
|
|
|
|
|
|
|
|
  **@contextlib.contextmanager**<br>— **def [set\_failure\_hash](/recipes/recipe_modules/tryserver/api.py#157)(self):**
|
|
|
|
|
  **@contextlib.contextmanager**<br>— **def [set\_failure\_hash](/recipes/recipe_modules/tryserver/api.py#117)(self):**
|
|
|
|
|
|
|
|
|
|
Context manager that sets a failure_hash build property on StepFailure.
|
|
|
|
|
|
|
|
|
@ -735,7 +727,7 @@ for the same reason. For example, if a patch is bad (breaks something),
|
|
|
|
|
we'd expect it to always break in the same way. Different failures
|
|
|
|
|
for the same patch are usually a sign of flakiness.
|
|
|
|
|
|
|
|
|
|
— **def [set\_invalid\_test\_results\_tryjob\_result](/recipes/recipe_modules/tryserver/api.py#139)(self):**
|
|
|
|
|
— **def [set\_invalid\_test\_results\_tryjob\_result](/recipes/recipe_modules/tryserver/api.py#99)(self):**
|
|
|
|
|
|
|
|
|
|
Mark the tryjob result as having invalid test results.
|
|
|
|
|
|
|
|
|
@ -743,18 +735,18 @@ This means we run some tests, but the results were not valid
|
|
|
|
|
(e.g. no list of specific test cases that failed, or too many
|
|
|
|
|
tests failing, etc).
|
|
|
|
|
|
|
|
|
|
— **def [set\_patch\_failure\_tryjob\_result](/recipes/recipe_modules/tryserver/api.py#123)(self):**
|
|
|
|
|
— **def [set\_patch\_failure\_tryjob\_result](/recipes/recipe_modules/tryserver/api.py#83)(self):**
|
|
|
|
|
|
|
|
|
|
Mark the tryjob result as failure to apply the patch.
|
|
|
|
|
|
|
|
|
|
— **def [set\_subproject\_tag](/recipes/recipe_modules/tryserver/api.py#105)(self, subproject_tag):**
|
|
|
|
|
— **def [set\_subproject\_tag](/recipes/recipe_modules/tryserver/api.py#65)(self, subproject_tag):**
|
|
|
|
|
|
|
|
|
|
Adds a subproject tag to the build.
|
|
|
|
|
|
|
|
|
|
This can be used to distinguish between builds that execute different steps
|
|
|
|
|
depending on what was patched, e.g. blink vs. pure chromium patches.
|
|
|
|
|
|
|
|
|
|
— **def [set\_test\_failure\_tryjob\_result](/recipes/recipe_modules/tryserver/api.py#131)(self):**
|
|
|
|
|
— **def [set\_test\_failure\_tryjob\_result](/recipes/recipe_modules/tryserver/api.py#91)(self):**
|
|
|
|
|
|
|
|
|
|
Mark the tryjob result as a test failure.
|
|
|
|
|
|
|
|
|
|