libv8 6.2.414.42.1 → 6.3.292.48.0beta1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/lib/libv8/version.rb +1 -1
- data/vendor/depot_tools/PRESUBMIT.py +38 -0
- data/vendor/depot_tools/bootstrap/win/manifest.txt +3 -1
- data/vendor/depot_tools/bootstrap/win/manifest_bleeding_edge.txt +2 -0
- data/vendor/depot_tools/checkout.py +1 -1
- data/vendor/depot_tools/cipd_manifest.txt +1 -1
- data/vendor/depot_tools/gclient_scm.py +23 -14
- data/vendor/depot_tools/gerrit_util.py +15 -10
- data/vendor/depot_tools/git_cl.py +23 -11
- data/vendor/depot_tools/git_drover.py +2 -1
- data/vendor/depot_tools/git_upstream_diff.py +2 -1
- data/vendor/depot_tools/gsutil.py +1 -1
- data/vendor/depot_tools/infra/config/recipes.cfg +1 -1
- data/vendor/depot_tools/presubmit_canned_checks.py +8 -1
- data/vendor/depot_tools/presubmit_support.py +2 -1
- data/vendor/depot_tools/recipes/README.recipes.md +56 -43
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/__init__.py +1 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/api.py +1 -4
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/basic_luci.json +105 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.py +5 -0
- data/vendor/depot_tools/recipes/recipe_modules/depot_tools/__init__.py +6 -0
- data/vendor/depot_tools/recipes/recipe_modules/depot_tools/api.py +25 -0
- data/vendor/depot_tools/recipes/recipe_modules/depot_tools/examples/full.expected/basic.json +12 -0
- data/vendor/depot_tools/recipes/recipe_modules/depot_tools/examples/full.expected/basic_luci.json +75 -0
- data/vendor/depot_tools/recipes/recipe_modules/depot_tools/examples/full.expected/win.json +12 -0
- data/vendor/depot_tools/recipes/recipe_modules/depot_tools/examples/full.py +10 -1
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/api.py +13 -11
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_git_patch.json +2 -0
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_git_patch_luci.json +2 -0
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_rietveld_patch.json +2 -0
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_rietveld_patch_new.json +2 -0
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_wrong_patch.json +2 -0
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_wrong_patch_new.json +2 -0
- data/vendor/depot_tools/recipes/trigger_recipe_roller.txt +1 -0
- data/vendor/depot_tools/roll_dep.py +116 -78
- data/vendor/depot_tools/scm.py +6 -4
- data/vendor/depot_tools/split_cl.py +45 -18
- metadata +7 -5
- data/patches/0005-avoid-constructor-inheritance-due-to-compilation-iss.patch +0 -81
@@ -1038,7 +1038,8 @@ class GitChange(Change):
|
|
1038
1038
|
"""List all files under source control in the repo."""
|
1039
1039
|
root = root or self.RepositoryRoot()
|
1040
1040
|
return subprocess.check_output(
|
1041
|
-
['git', 'ls-files', '--', '.'],
|
1041
|
+
['git', '-c', 'core.quotePath=false', 'ls-files', '--', '.'],
|
1042
|
+
cwd=root).splitlines()
|
1042
1043
|
|
1043
1044
|
|
1044
1045
|
def ListRelevantPresubmitFiles(files, root):
|
@@ -5,7 +5,7 @@
|
|
5
5
|
**[Recipe Modules](#Recipe-Modules)**
|
6
6
|
* [bot_update](#recipe_modules-bot_update) — Recipe module to ensure a checkout is consistent on a bot.
|
7
7
|
* [cipd](#recipe_modules-cipd)
|
8
|
-
* [depot_tools](#recipe_modules-depot_tools)
|
8
|
+
* [depot_tools](#recipe_modules-depot_tools) — The `depot_tools` module provides safe functions to access paths within the depot_tools repo.
|
9
9
|
* [gclient](#recipe_modules-gclient)
|
10
10
|
* [gerrit](#recipe_modules-gerrit)
|
11
11
|
* [git](#recipe_modules-git)
|
@@ -38,7 +38,7 @@
|
|
38
38
|
|
39
39
|
### *recipe_modules* / [bot\_update](/recipes/recipe_modules/bot_update)
|
40
40
|
|
41
|
-
[DEPS](/recipes/recipe_modules/bot_update/__init__.py#1): [depot\_tools](#recipe_modules-depot_tools), [gclient](#recipe_modules-gclient), [gerrit](#recipe_modules-gerrit), [rietveld](#recipe_modules-rietveld), [tryserver](#recipe_modules-tryserver), [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/source\_manifest][recipe_engine/recipe_modules/source_manifest], [recipe\_engine/step][recipe_engine/recipe_modules/step]
|
41
|
+
[DEPS](/recipes/recipe_modules/bot_update/__init__.py#1): [depot\_tools](#recipe_modules-depot_tools), [gclient](#recipe_modules-gclient), [gerrit](#recipe_modules-gerrit), [rietveld](#recipe_modules-rietveld), [tryserver](#recipe_modules-tryserver), [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/runtime][recipe_engine/recipe_modules/runtime], [recipe\_engine/source\_manifest][recipe_engine/recipe_modules/source_manifest], [recipe\_engine/step][recipe_engine/recipe_modules/step]
|
42
42
|
|
43
43
|
Recipe module to ensure a checkout is consistent on a bot.
|
44
44
|
|
@@ -48,14 +48,14 @@ Recipe module to ensure a checkout is consistent on a bot.
|
|
48
48
|
|
49
49
|
Wrapper for easy calling of bot_update.
|
50
50
|
|
51
|
-
— **def [apply\_gerrit\_ref](/recipes/recipe_modules/bot_update/api.py#
|
51
|
+
— **def [apply\_gerrit\_ref](/recipes/recipe_modules/bot_update/api.py#46)(self, root, gerrit_no_reset=False, gerrit_no_rebase_patch_ref=False, gerrit_repo=None, gerrit_ref=None, step_name='apply_gerrit', \*\*kwargs):**
|
52
52
|
|
53
|
-
— **def [deapply\_patch](/recipes/recipe_modules/bot_update/api.py#
|
53
|
+
— **def [deapply\_patch](/recipes/recipe_modules/bot_update/api.py#442)(self, bot_update_step):**
|
54
54
|
|
55
55
|
Deapplies a patch, taking care of DEPS and solution revisions properly.
|
56
56
|
|
57
57
|
|
58
|
-
— **def [ensure\_checkout](/recipes/recipe_modules/bot_update/api.py#
|
58
|
+
— **def [ensure\_checkout](/recipes/recipe_modules/bot_update/api.py#68)(self, gclient_config=None, suffix=None, patch=True, update_presentation=True, patch_root=None, no_shallow=False, with_branch_heads=False, with_tags=False, refs=None, patch_oauth2=False, oauth2_json=False, use_site_config_creds=True, clobber=False, root_solution_revision=None, rietveld=None, issue=None, patchset=None, gerrit_no_reset=False, gerrit_no_rebase_patch_ref=False, disable_syntax_validation=False, manifest_name=None, \*\*kwargs):**
|
59
59
|
|
60
60
|
Args:
|
61
61
|
use_site_config_creds: If the oauth2 credentials are in the buildbot
|
@@ -74,7 +74,7 @@ Args:
|
|
74
74
|
manifest_name: The name of the manifest to upload to LogDog. This must
|
75
75
|
be unique for the whole build.
|
76
76
|
|
77
|
-
— **def [get\_project\_revision\_properties](/recipes/recipe_modules/bot_update/api.py#
|
77
|
+
— **def [get\_project\_revision\_properties](/recipes/recipe_modules/bot_update/api.py#419)(self, project_name, gclient_config=None):**
|
78
78
|
|
79
79
|
Returns all property names used for storing the checked-out revision of
|
80
80
|
a given project.
|
@@ -88,7 +88,7 @@ Args:
|
|
88
88
|
Returns (list of str): All properties that'll hold the checked-out revision
|
89
89
|
of the given project. An empty list if no such properties exist.
|
90
90
|
|
91
|
-
  **@property**<br>— **def [last\_returned\_properties](/recipes/recipe_modules/bot_update/api.py#
|
91
|
+
  **@property**<br>— **def [last\_returned\_properties](/recipes/recipe_modules/bot_update/api.py#40)(self):**
|
92
92
|
### *recipe_modules* / [cipd](/recipes/recipe_modules/cipd)
|
93
93
|
|
94
94
|
[DEPS](/recipes/recipe_modules/cipd/__init__.py#1): [infra\_paths](#recipe_modules-infra_paths), [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]
|
@@ -193,27 +193,39 @@ parameters will be used.
|
|
193
193
|
— **def [set\_tag](/recipes/recipe_modules/cipd/api.py#366)(self, package_name, version, tags):**
|
194
194
|
### *recipe_modules* / [depot\_tools](/recipes/recipe_modules/depot_tools)
|
195
195
|
|
196
|
-
[DEPS](/recipes/recipe_modules/depot_tools/__init__.py#
|
196
|
+
[DEPS](/recipes/recipe_modules/depot_tools/__init__.py#5): [recipe\_engine/context][recipe_engine/recipe_modules/context], [recipe\_engine/platform][recipe_engine/recipe_modules/platform], [recipe\_engine/runtime][recipe_engine/recipe_modules/runtime]
|
197
197
|
|
198
|
-
|
198
|
+
The `depot_tools` module provides safe functions to access paths within
|
199
|
+
the depot_tools repo.
|
199
200
|
|
200
|
-
|
201
|
+
#### **class [DepotToolsApi](/recipes/recipe_modules/depot_tools/api.py#12)([RecipeApi][recipe_engine/wkt/RecipeApi]):**
|
201
202
|
|
202
|
-
  **@property**<br>— **def [
|
203
|
+
  **@property**<br>— **def [cros\_path](/recipes/recipe_modules/depot_tools/api.py#26)(self):**
|
203
204
|
|
204
|
-
  **@property**<br>— **def [
|
205
|
+
  **@property**<br>— **def [download\_from\_google\_storage\_path](/recipes/recipe_modules/depot_tools/api.py#13)(self):**
|
205
206
|
|
206
|
-
  **@property**<br>— **def [
|
207
|
+
  **@property**<br>— **def [gn\_py\_path](/recipes/recipe_modules/depot_tools/api.py#30)(self):**
|
207
208
|
|
208
|
-
  **@property**<br>— **def [
|
209
|
+
  **@property**<br>— **def [gsutil\_py\_path](/recipes/recipe_modules/depot_tools/api.py#36)(self):**
|
209
210
|
|
210
|
-
  **@property**<br>— **def [
|
211
|
+
  **@property**<br>— **def [ninja\_path](/recipes/recipe_modules/depot_tools/api.py#40)(self):**
|
211
212
|
|
212
|
-
  **@
|
213
|
+
  **@contextlib.contextmanager**<br>— **def [on\_path](/recipes/recipe_modules/depot_tools/api.py#49)(self):**
|
214
|
+
|
215
|
+
Use this context manager to put depot_tools on $PATH.
|
216
|
+
|
217
|
+
Example:
|
218
|
+
|
219
|
+
with api.depot_tools.on_path():
|
220
|
+
# run some steps
|
221
|
+
|
222
|
+
  **@property**<br>— **def [presubmit\_support\_py\_path](/recipes/recipe_modules/depot_tools/api.py#45)(self):**
|
223
|
+
|
224
|
+
  **@property**<br>— **def [root](/recipes/recipe_modules/depot_tools/api.py#21)(self):**
|
213
225
|
|
214
226
|
Returns (Path): The "depot_tools" root directory.
|
215
227
|
|
216
|
-
  **@property**<br>— **def [upload\_to\_google\_storage\_path](/recipes/recipe_modules/depot_tools/api.py#
|
228
|
+
  **@property**<br>— **def [upload\_to\_google\_storage\_path](/recipes/recipe_modules/depot_tools/api.py#17)(self):**
|
217
229
|
### *recipe_modules* / [gclient](/recipes/recipe_modules/gclient)
|
218
230
|
|
219
231
|
[DEPS](/recipes/recipe_modules/gclient/__init__.py#1): [infra\_paths](#recipe_modules-infra_paths), [tryserver](#recipe_modules-tryserver), [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/step][recipe_engine/recipe_modules/step]
|
@@ -663,7 +675,7 @@ Returns:
|
|
663
675
|
|
664
676
|
#### **class [TryserverApi](/recipes/recipe_modules/tryserver/api.py#12)([RecipeApi][recipe_engine/wkt/RecipeApi]):**
|
665
677
|
|
666
|
-
— **def [add\_failure\_reason](/recipes/recipe_modules/tryserver/api.py#
|
678
|
+
— **def [add\_failure\_reason](/recipes/recipe_modules/tryserver/api.py#148)(self, reason):**
|
667
679
|
|
668
680
|
Records a more detailed reason why build is failing.
|
669
681
|
|
@@ -687,11 +699,11 @@ TODO(tandrii): remove this doc.
|
|
687
699
|
Unless you use patch_root=None, in which case old behavior is used
|
688
700
|
which returns paths relative to checkout aka solution[0].name.
|
689
701
|
|
690
|
-
— **def [get\_footer](/recipes/recipe_modules/tryserver/api.py#
|
702
|
+
— **def [get\_footer](/recipes/recipe_modules/tryserver/api.py#211)(self, tag, patch_text=None):**
|
691
703
|
|
692
704
|
Gets a specific tag from a CL description
|
693
705
|
|
694
|
-
— **def [get\_footers](/recipes/recipe_modules/tryserver/api.py#
|
706
|
+
— **def [get\_footers](/recipes/recipe_modules/tryserver/api.py#184)(self, patch_text=None):**
|
695
707
|
|
696
708
|
Retrieves footers from the patch description.
|
697
709
|
|
@@ -708,13 +720,13 @@ Returns true iff the properties exist to match a Gerrit issue.
|
|
708
720
|
|
709
721
|
Returns true iff we can apply_issue or patch.
|
710
722
|
|
711
|
-
— **def [normalize\_footer\_name](/recipes/recipe_modules/tryserver/api.py#
|
723
|
+
— **def [normalize\_footer\_name](/recipes/recipe_modules/tryserver/api.py#215)(self, footer):**
|
712
724
|
|
713
|
-
— **def [set\_compile\_failure\_tryjob\_result](/recipes/recipe_modules/tryserver/api.py#
|
725
|
+
— **def [set\_compile\_failure\_tryjob\_result](/recipes/recipe_modules/tryserver/api.py#127)(self):**
|
714
726
|
|
715
727
|
Mark the tryjob result as a compile failure.
|
716
728
|
|
717
|
-
  **@contextlib.contextmanager**<br>— **def [set\_failure\_hash](/recipes/recipe_modules/tryserver/api.py#
|
729
|
+
  **@contextlib.contextmanager**<br>— **def [set\_failure\_hash](/recipes/recipe_modules/tryserver/api.py#157)(self):**
|
718
730
|
|
719
731
|
Context manager that sets a failure_hash build property on StepFailure.
|
720
732
|
|
@@ -723,7 +735,7 @@ for the same reason. For example, if a patch is bad (breaks something),
|
|
723
735
|
we'd expect it to always break in the same way. Different failures
|
724
736
|
for the same patch are usually a sign of flakiness.
|
725
737
|
|
726
|
-
— **def [set\_invalid\_test\_results\_tryjob\_result](/recipes/recipe_modules/tryserver/api.py#
|
738
|
+
— **def [set\_invalid\_test\_results\_tryjob\_result](/recipes/recipe_modules/tryserver/api.py#139)(self):**
|
727
739
|
|
728
740
|
Mark the tryjob result as having invalid test results.
|
729
741
|
|
@@ -731,18 +743,18 @@ This means we run some tests, but the results were not valid
|
|
731
743
|
(e.g. no list of specific test cases that failed, or too many
|
732
744
|
tests failing, etc).
|
733
745
|
|
734
|
-
— **def [set\_patch\_failure\_tryjob\_result](/recipes/recipe_modules/tryserver/api.py#
|
746
|
+
— **def [set\_patch\_failure\_tryjob\_result](/recipes/recipe_modules/tryserver/api.py#123)(self):**
|
735
747
|
|
736
748
|
Mark the tryjob result as failure to apply the patch.
|
737
749
|
|
738
|
-
— **def [set\_subproject\_tag](/recipes/recipe_modules/tryserver/api.py#
|
750
|
+
— **def [set\_subproject\_tag](/recipes/recipe_modules/tryserver/api.py#105)(self, subproject_tag):**
|
739
751
|
|
740
752
|
Adds a subproject tag to the build.
|
741
753
|
|
742
754
|
This can be used to distinguish between builds that execute different steps
|
743
755
|
depending on what was patched, e.g. blink vs. pure chromium patches.
|
744
756
|
|
745
|
-
— **def [set\_test\_failure\_tryjob\_result](/recipes/recipe_modules/tryserver/api.py#
|
757
|
+
— **def [set\_test\_failure\_tryjob\_result](/recipes/recipe_modules/tryserver/api.py#131)(self):**
|
746
758
|
|
747
759
|
Mark the tryjob result as a test failure.
|
748
760
|
|
@@ -752,9 +764,9 @@ like checkout or compile), and some of these tests have failed.
|
|
752
764
|
|
753
765
|
### *recipes* / [bot\_update:examples/full](/recipes/recipe_modules/bot_update/examples/full.py)
|
754
766
|
|
755
|
-
[DEPS](/recipes/recipe_modules/bot_update/examples/full.py#5): [bot\_update](#recipe_modules-bot_update), [gclient](#recipe_modules-gclient), [gerrit](#recipe_modules-gerrit), [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]
|
767
|
+
[DEPS](/recipes/recipe_modules/bot_update/examples/full.py#5): [bot\_update](#recipe_modules-bot_update), [gclient](#recipe_modules-gclient), [gerrit](#recipe_modules-gerrit), [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/runtime][recipe_engine/recipe_modules/runtime]
|
756
768
|
|
757
|
-
— **def [RunSteps](/recipes/recipe_modules/bot_update/examples/full.py#
|
769
|
+
— **def [RunSteps](/recipes/recipe_modules/bot_update/examples/full.py#16)(api):**
|
758
770
|
### *recipes* / [cipd:examples/full](/recipes/recipe_modules/cipd/examples/full.py)
|
759
771
|
|
760
772
|
[DEPS](/recipes/recipe_modules/cipd/examples/full.py#8): [cipd](#recipe_modules-cipd), [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/step][recipe_engine/recipe_modules/step]
|
@@ -767,9 +779,9 @@ like checkout or compile), and some of these tests have failed.
|
|
767
779
|
— **def [RunSteps](/recipes/recipe_modules/cipd/examples/platform_suffix.py#22)(api, arch_override, bits_override, expect_error):**
|
768
780
|
### *recipes* / [depot\_tools:examples/full](/recipes/recipe_modules/depot_tools/examples/full.py)
|
769
781
|
|
770
|
-
[DEPS](/recipes/recipe_modules/depot_tools/examples/full.py#5): [depot\_tools](#recipe_modules-depot_tools), [recipe\_engine/path][recipe_engine/recipe_modules/path], [recipe\_engine/platform][recipe_engine/recipe_modules/platform], [recipe\_engine/step][recipe_engine/recipe_modules/step]
|
782
|
+
[DEPS](/recipes/recipe_modules/depot_tools/examples/full.py#5): [depot\_tools](#recipe_modules-depot_tools), [recipe\_engine/path][recipe_engine/recipe_modules/path], [recipe\_engine/platform][recipe_engine/recipe_modules/platform], [recipe\_engine/runtime][recipe_engine/recipe_modules/runtime], [recipe\_engine/step][recipe_engine/recipe_modules/step]
|
771
783
|
|
772
|
-
— **def [RunSteps](/recipes/recipe_modules/depot_tools/examples/full.py#
|
784
|
+
— **def [RunSteps](/recipes/recipe_modules/depot_tools/examples/full.py#14)(api):**
|
773
785
|
### *recipes* / [fetch\_end\_to\_end\_test](/recipes/recipes/fetch_end_to_end_test.py)
|
774
786
|
|
775
787
|
[DEPS](/recipes/recipes/fetch_end_to_end_test.py#5): [bot\_update](#recipe_modules-bot_update), [gclient](#recipe_modules-gclient), [recipe\_engine/context][recipe_engine/recipe_modules/context], [recipe\_engine/file][recipe_engine/recipe_modules/file], [recipe\_engine/path][recipe_engine/recipe_modules/path], [recipe\_engine/python][recipe_engine/recipe_modules/python], [recipe\_engine/step][recipe_engine/recipe_modules/step]
|
@@ -833,15 +845,16 @@ Move things around in a loop!
|
|
833
845
|
|
834
846
|
— **def [RunSteps](/recipes/recipe_modules/tryserver/examples/full.py#17)(api):**
|
835
847
|
|
836
|
-
[recipe_engine/recipe_modules/context]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/
|
837
|
-
[recipe_engine/recipe_modules/file]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/
|
838
|
-
[recipe_engine/recipe_modules/json]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/
|
839
|
-
[recipe_engine/recipe_modules/path]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/
|
840
|
-
[recipe_engine/recipe_modules/platform]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/
|
841
|
-
[recipe_engine/recipe_modules/properties]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/
|
842
|
-
[recipe_engine/recipe_modules/python]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/
|
843
|
-
[recipe_engine/recipe_modules/raw_io]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/
|
844
|
-
[recipe_engine/recipe_modules/
|
845
|
-
[recipe_engine/recipe_modules/
|
846
|
-
[recipe_engine/recipe_modules/
|
847
|
-
[recipe_engine/
|
848
|
+
[recipe_engine/recipe_modules/context]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/32e6ba22dd1c75f8b3276bb86112d10542d5e32b/README.recipes.md#recipe_modules-context
|
849
|
+
[recipe_engine/recipe_modules/file]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/32e6ba22dd1c75f8b3276bb86112d10542d5e32b/README.recipes.md#recipe_modules-file
|
850
|
+
[recipe_engine/recipe_modules/json]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/32e6ba22dd1c75f8b3276bb86112d10542d5e32b/README.recipes.md#recipe_modules-json
|
851
|
+
[recipe_engine/recipe_modules/path]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/32e6ba22dd1c75f8b3276bb86112d10542d5e32b/README.recipes.md#recipe_modules-path
|
852
|
+
[recipe_engine/recipe_modules/platform]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/32e6ba22dd1c75f8b3276bb86112d10542d5e32b/README.recipes.md#recipe_modules-platform
|
853
|
+
[recipe_engine/recipe_modules/properties]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/32e6ba22dd1c75f8b3276bb86112d10542d5e32b/README.recipes.md#recipe_modules-properties
|
854
|
+
[recipe_engine/recipe_modules/python]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/32e6ba22dd1c75f8b3276bb86112d10542d5e32b/README.recipes.md#recipe_modules-python
|
855
|
+
[recipe_engine/recipe_modules/raw_io]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/32e6ba22dd1c75f8b3276bb86112d10542d5e32b/README.recipes.md#recipe_modules-raw_io
|
856
|
+
[recipe_engine/recipe_modules/runtime]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/32e6ba22dd1c75f8b3276bb86112d10542d5e32b/README.recipes.md#recipe_modules-runtime
|
857
|
+
[recipe_engine/recipe_modules/source_manifest]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/32e6ba22dd1c75f8b3276bb86112d10542d5e32b/README.recipes.md#recipe_modules-source_manifest
|
858
|
+
[recipe_engine/recipe_modules/step]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/32e6ba22dd1c75f8b3276bb86112d10542d5e32b/README.recipes.md#recipe_modules-step
|
859
|
+
[recipe_engine/recipe_modules/url]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/32e6ba22dd1c75f8b3276bb86112d10542d5e32b/README.recipes.md#recipe_modules-url
|
860
|
+
[recipe_engine/wkt/RecipeApi]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/32e6ba22dd1c75f8b3276bb86112d10542d5e32b/recipe_engine/recipe_api.py#997
|
@@ -34,10 +34,7 @@ class BotUpdateApi(recipe_api.RecipeApi):
|
|
34
34
|
bot_update_path = self.resource('bot_update.py')
|
35
35
|
kwargs.setdefault('infra_step', True)
|
36
36
|
|
37
|
-
|
38
|
-
'PATH': [self.m.depot_tools.root],
|
39
|
-
}
|
40
|
-
with self.m.context(env_prefixes=env_prefixes):
|
37
|
+
with self.m.depot_tools.on_path():
|
41
38
|
return self.m.python(name, bot_update_path, cmd, **kwargs)
|
42
39
|
|
43
40
|
@property
|
data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/basic_luci.json
ADDED
@@ -0,0 +1,105 @@
|
|
1
|
+
[
|
2
|
+
{
|
3
|
+
"cmd": [
|
4
|
+
"python",
|
5
|
+
"-u",
|
6
|
+
"RECIPE_MODULE[depot_tools::bot_update]/resources/bot_update.py",
|
7
|
+
"--spec-path",
|
8
|
+
"cache_dir = '[GIT_CACHE]'\nsolutions = [{'deps_file': '.DEPS.git', 'managed': True, 'name': 'src', 'url': 'https://chromium.googlesource.com/chromium/src.git'}]",
|
9
|
+
"--patch_root",
|
10
|
+
"src",
|
11
|
+
"--revision_mapping_file",
|
12
|
+
"{\"got_angle_revision\": \"src/third_party/angle\", \"got_cr_revision\": \"src\", \"got_revision\": \"src\", \"got_v8_revision\": \"src/v8\"}",
|
13
|
+
"--git-cache-dir",
|
14
|
+
"[GIT_CACHE]",
|
15
|
+
"--cleanup-dir",
|
16
|
+
"[CLEANUP]/bot_update",
|
17
|
+
"--output_json",
|
18
|
+
"/path/to/tmp/json",
|
19
|
+
"--revision",
|
20
|
+
"src@abc",
|
21
|
+
"--disable-syntax-validation"
|
22
|
+
],
|
23
|
+
"env_suffixes": {
|
24
|
+
"PATH": [
|
25
|
+
"RECIPE_PACKAGE_REPO[depot_tools]"
|
26
|
+
]
|
27
|
+
},
|
28
|
+
"infra_step": true,
|
29
|
+
"name": "bot_update (without patch)",
|
30
|
+
"~followup_annotations": [
|
31
|
+
"@@@STEP_TEXT@Some step text@@@",
|
32
|
+
"@@@STEP_LOG_LINE@json.output@{@@@",
|
33
|
+
"@@@STEP_LOG_LINE@json.output@ \"did_run\": true, @@@",
|
34
|
+
"@@@STEP_LOG_LINE@json.output@ \"fixed_revisions\": {@@@",
|
35
|
+
"@@@STEP_LOG_LINE@json.output@ \"src\": \"abc\"@@@",
|
36
|
+
"@@@STEP_LOG_LINE@json.output@ }, @@@",
|
37
|
+
"@@@STEP_LOG_LINE@json.output@ \"manifest\": {@@@",
|
38
|
+
"@@@STEP_LOG_LINE@json.output@ \"src\": {@@@",
|
39
|
+
"@@@STEP_LOG_LINE@json.output@ \"repository\": \"https://fake.org/src.git\", @@@",
|
40
|
+
"@@@STEP_LOG_LINE@json.output@ \"revision\": \"f27fede2220bcd326aee3e86ddfd4ebd0fe58cb9\"@@@",
|
41
|
+
"@@@STEP_LOG_LINE@json.output@ }, @@@",
|
42
|
+
"@@@STEP_LOG_LINE@json.output@ \"src/third_party/angle\": {@@@",
|
43
|
+
"@@@STEP_LOG_LINE@json.output@ \"repository\": \"https://fake.org/src/third_party/angle.git\", @@@",
|
44
|
+
"@@@STEP_LOG_LINE@json.output@ \"revision\": \"fac9503c46405f77757b9a728eb85b8d7bc6080c\"@@@",
|
45
|
+
"@@@STEP_LOG_LINE@json.output@ }, @@@",
|
46
|
+
"@@@STEP_LOG_LINE@json.output@ \"src/v8\": {@@@",
|
47
|
+
"@@@STEP_LOG_LINE@json.output@ \"repository\": \"https://fake.org/src/v8.git\", @@@",
|
48
|
+
"@@@STEP_LOG_LINE@json.output@ \"revision\": \"801ada225ddc271c132c3a35f03975671d43e399\"@@@",
|
49
|
+
"@@@STEP_LOG_LINE@json.output@ }@@@",
|
50
|
+
"@@@STEP_LOG_LINE@json.output@ }, @@@",
|
51
|
+
"@@@STEP_LOG_LINE@json.output@ \"patch_failure\": false, @@@",
|
52
|
+
"@@@STEP_LOG_LINE@json.output@ \"patch_root\": \"src\", @@@",
|
53
|
+
"@@@STEP_LOG_LINE@json.output@ \"properties\": {@@@",
|
54
|
+
"@@@STEP_LOG_LINE@json.output@ \"got_angle_revision\": \"fac9503c46405f77757b9a728eb85b8d7bc6080c\", @@@",
|
55
|
+
"@@@STEP_LOG_LINE@json.output@ \"got_angle_revision_cp\": \"refs/heads/master@{#297276}\", @@@",
|
56
|
+
"@@@STEP_LOG_LINE@json.output@ \"got_cr_revision\": \"f27fede2220bcd326aee3e86ddfd4ebd0fe58cb9\", @@@",
|
57
|
+
"@@@STEP_LOG_LINE@json.output@ \"got_cr_revision_cp\": \"refs/heads/master@{#170242}\", @@@",
|
58
|
+
"@@@STEP_LOG_LINE@json.output@ \"got_revision\": \"f27fede2220bcd326aee3e86ddfd4ebd0fe58cb9\", @@@",
|
59
|
+
"@@@STEP_LOG_LINE@json.output@ \"got_revision_cp\": \"refs/heads/master@{#170242}\", @@@",
|
60
|
+
"@@@STEP_LOG_LINE@json.output@ \"got_v8_revision\": \"801ada225ddc271c132c3a35f03975671d43e399\", @@@",
|
61
|
+
"@@@STEP_LOG_LINE@json.output@ \"got_v8_revision_cp\": \"refs/heads/master@{#43426}\"@@@",
|
62
|
+
"@@@STEP_LOG_LINE@json.output@ }, @@@",
|
63
|
+
"@@@STEP_LOG_LINE@json.output@ \"root\": \"src\", @@@",
|
64
|
+
"@@@STEP_LOG_LINE@json.output@ \"source_manifest\": {@@@",
|
65
|
+
"@@@STEP_LOG_LINE@json.output@ \"directories\": {@@@",
|
66
|
+
"@@@STEP_LOG_LINE@json.output@ \"src\": {@@@",
|
67
|
+
"@@@STEP_LOG_LINE@json.output@ \"git_checkout\": {@@@",
|
68
|
+
"@@@STEP_LOG_LINE@json.output@ \"repo_url\": \"https://fake.org/src.git\", @@@",
|
69
|
+
"@@@STEP_LOG_LINE@json.output@ \"revision\": \"f27fede2220bcd326aee3e86ddfd4ebd0fe58cb9\"@@@",
|
70
|
+
"@@@STEP_LOG_LINE@json.output@ }@@@",
|
71
|
+
"@@@STEP_LOG_LINE@json.output@ }, @@@",
|
72
|
+
"@@@STEP_LOG_LINE@json.output@ \"src/third_party/angle\": {@@@",
|
73
|
+
"@@@STEP_LOG_LINE@json.output@ \"git_checkout\": {@@@",
|
74
|
+
"@@@STEP_LOG_LINE@json.output@ \"repo_url\": \"https://fake.org/src/third_party/angle.git\", @@@",
|
75
|
+
"@@@STEP_LOG_LINE@json.output@ \"revision\": \"fac9503c46405f77757b9a728eb85b8d7bc6080c\"@@@",
|
76
|
+
"@@@STEP_LOG_LINE@json.output@ }@@@",
|
77
|
+
"@@@STEP_LOG_LINE@json.output@ }, @@@",
|
78
|
+
"@@@STEP_LOG_LINE@json.output@ \"src/v8\": {@@@",
|
79
|
+
"@@@STEP_LOG_LINE@json.output@ \"git_checkout\": {@@@",
|
80
|
+
"@@@STEP_LOG_LINE@json.output@ \"repo_url\": \"https://fake.org/src/v8.git\", @@@",
|
81
|
+
"@@@STEP_LOG_LINE@json.output@ \"revision\": \"801ada225ddc271c132c3a35f03975671d43e399\"@@@",
|
82
|
+
"@@@STEP_LOG_LINE@json.output@ }@@@",
|
83
|
+
"@@@STEP_LOG_LINE@json.output@ }@@@",
|
84
|
+
"@@@STEP_LOG_LINE@json.output@ }, @@@",
|
85
|
+
"@@@STEP_LOG_LINE@json.output@ \"version\": 0@@@",
|
86
|
+
"@@@STEP_LOG_LINE@json.output@ }, @@@",
|
87
|
+
"@@@STEP_LOG_LINE@json.output@ \"step_text\": \"Some step text\"@@@",
|
88
|
+
"@@@STEP_LOG_LINE@json.output@}@@@",
|
89
|
+
"@@@STEP_LOG_END@json.output@@@",
|
90
|
+
"@@@SET_BUILD_PROPERTY@got_angle_revision@\"fac9503c46405f77757b9a728eb85b8d7bc6080c\"@@@",
|
91
|
+
"@@@SET_BUILD_PROPERTY@got_angle_revision_cp@\"refs/heads/master@{#297276}\"@@@",
|
92
|
+
"@@@SET_BUILD_PROPERTY@got_cr_revision@\"f27fede2220bcd326aee3e86ddfd4ebd0fe58cb9\"@@@",
|
93
|
+
"@@@SET_BUILD_PROPERTY@got_cr_revision_cp@\"refs/heads/master@{#170242}\"@@@",
|
94
|
+
"@@@SET_BUILD_PROPERTY@got_revision@\"f27fede2220bcd326aee3e86ddfd4ebd0fe58cb9\"@@@",
|
95
|
+
"@@@SET_BUILD_PROPERTY@got_revision_cp@\"refs/heads/master@{#170242}\"@@@",
|
96
|
+
"@@@SET_BUILD_PROPERTY@got_v8_revision@\"801ada225ddc271c132c3a35f03975671d43e399\"@@@",
|
97
|
+
"@@@SET_BUILD_PROPERTY@got_v8_revision_cp@\"refs/heads/master@{#43426}\"@@@"
|
98
|
+
]
|
99
|
+
},
|
100
|
+
{
|
101
|
+
"name": "$result",
|
102
|
+
"recipe_result": null,
|
103
|
+
"status_code": 0
|
104
|
+
}
|
105
|
+
]
|
@@ -10,6 +10,7 @@ DEPS = [
|
|
10
10
|
'recipe_engine/path',
|
11
11
|
'recipe_engine/platform',
|
12
12
|
'recipe_engine/properties',
|
13
|
+
'recipe_engine/runtime',
|
13
14
|
]
|
14
15
|
|
15
16
|
def RunSteps(api):
|
@@ -92,6 +93,10 @@ def GenTests(api):
|
|
92
93
|
patch=False,
|
93
94
|
revision='abc'
|
94
95
|
)
|
96
|
+
yield api.test('basic_luci') + api.properties(
|
97
|
+
patch=False,
|
98
|
+
revision='abc'
|
99
|
+
) + api.runtime(is_experimental=False, is_luci=True)
|
95
100
|
yield api.test('with_manifest_name_no_patch') + api.properties(
|
96
101
|
manifest_name='checkout',
|
97
102
|
patch=False
|
@@ -1,3 +1,9 @@
|
|
1
|
+
# Copyright 2017 The Chromium Authors. All rights reserved.
|
2
|
+
# Use of this source code is governed by a BSD-style license that can be
|
3
|
+
# found in the LICENSE file.
|
4
|
+
|
1
5
|
DEPS = [
|
6
|
+
'recipe_engine/context',
|
2
7
|
'recipe_engine/platform',
|
8
|
+
'recipe_engine/runtime',
|
3
9
|
]
|
@@ -2,6 +2,11 @@
|
|
2
2
|
# Use of this source code is governed by a BSD-style license that can be
|
3
3
|
# found in the LICENSE file.
|
4
4
|
|
5
|
+
"""The `depot_tools` module provides safe functions to access paths within
|
6
|
+
the depot_tools repo."""
|
7
|
+
|
8
|
+
import contextlib
|
9
|
+
|
5
10
|
from recipe_engine import recipe_api
|
6
11
|
|
7
12
|
class DepotToolsApi(recipe_api.RecipeApi):
|
@@ -40,3 +45,23 @@ class DepotToolsApi(recipe_api.RecipeApi):
|
|
40
45
|
@property
|
41
46
|
def presubmit_support_py_path(self):
|
42
47
|
return self.package_repo_resource('presubmit_support.py')
|
48
|
+
|
49
|
+
@contextlib.contextmanager
|
50
|
+
def on_path(self):
|
51
|
+
"""Use this context manager to put depot_tools on $PATH.
|
52
|
+
|
53
|
+
Example:
|
54
|
+
|
55
|
+
with api.depot_tools.on_path():
|
56
|
+
# run some steps
|
57
|
+
"""
|
58
|
+
# On buildbot we have to put this on the FRONT of path, to combat the
|
59
|
+
# 'automatic' depot_tools. However, on LUCI, there is no automatic
|
60
|
+
# depot_tools, so it's safer to put it at the END of path, where it won't
|
61
|
+
# accidentally override e.g. python, vpython, etc.
|
62
|
+
key = 'env_prefixes'
|
63
|
+
if self.m.runtime.is_luci:
|
64
|
+
key = 'env_suffixes'
|
65
|
+
|
66
|
+
with self.m.context(**{key: {'PATH': [self.root]}}):
|
67
|
+
yield
|
data/vendor/depot_tools/recipes/recipe_modules/depot_tools/examples/full.expected/basic.json
CHANGED
@@ -55,6 +55,18 @@
|
|
55
55
|
],
|
56
56
|
"name": "presubmit_support_py_path"
|
57
57
|
},
|
58
|
+
{
|
59
|
+
"cmd": [
|
60
|
+
"echo",
|
61
|
+
"$PATH"
|
62
|
+
],
|
63
|
+
"env_prefixes": {
|
64
|
+
"PATH": [
|
65
|
+
"RECIPE_PACKAGE_REPO[depot_tools]"
|
66
|
+
]
|
67
|
+
},
|
68
|
+
"name": "on_path"
|
69
|
+
},
|
58
70
|
{
|
59
71
|
"name": "$result",
|
60
72
|
"recipe_result": null,
|
data/vendor/depot_tools/recipes/recipe_modules/depot_tools/examples/full.expected/basic_luci.json
ADDED
@@ -0,0 +1,75 @@
|
|
1
|
+
[
|
2
|
+
{
|
3
|
+
"cmd": [
|
4
|
+
"ls",
|
5
|
+
"RECIPE_PACKAGE_REPO[depot_tools]"
|
6
|
+
],
|
7
|
+
"name": "root"
|
8
|
+
},
|
9
|
+
{
|
10
|
+
"cmd": [
|
11
|
+
"ls",
|
12
|
+
"RECIPE_PACKAGE_REPO[depot_tools]/download_from_google_storage.py"
|
13
|
+
],
|
14
|
+
"name": "download_from_google_storage"
|
15
|
+
},
|
16
|
+
{
|
17
|
+
"cmd": [
|
18
|
+
"ls",
|
19
|
+
"RECIPE_PACKAGE_REPO[depot_tools]/upload_to_google_storage.py"
|
20
|
+
],
|
21
|
+
"name": "upload_to_google_storage"
|
22
|
+
},
|
23
|
+
{
|
24
|
+
"cmd": [
|
25
|
+
"ls",
|
26
|
+
"RECIPE_PACKAGE_REPO[depot_tools]/cros"
|
27
|
+
],
|
28
|
+
"name": "cros"
|
29
|
+
},
|
30
|
+
{
|
31
|
+
"cmd": [
|
32
|
+
"ls",
|
33
|
+
"RECIPE_PACKAGE_REPO[depot_tools]/gn.py"
|
34
|
+
],
|
35
|
+
"name": "gn_py_path"
|
36
|
+
},
|
37
|
+
{
|
38
|
+
"cmd": [
|
39
|
+
"ls",
|
40
|
+
"RECIPE_PACKAGE_REPO[depot_tools]/gsutil.py"
|
41
|
+
],
|
42
|
+
"name": "gsutil_py_path"
|
43
|
+
},
|
44
|
+
{
|
45
|
+
"cmd": [
|
46
|
+
"ls",
|
47
|
+
"RECIPE_PACKAGE_REPO[depot_tools]/ninja"
|
48
|
+
],
|
49
|
+
"name": "ninja_path"
|
50
|
+
},
|
51
|
+
{
|
52
|
+
"cmd": [
|
53
|
+
"ls",
|
54
|
+
"RECIPE_PACKAGE_REPO[depot_tools]/presubmit_support.py"
|
55
|
+
],
|
56
|
+
"name": "presubmit_support_py_path"
|
57
|
+
},
|
58
|
+
{
|
59
|
+
"cmd": [
|
60
|
+
"echo",
|
61
|
+
"$PATH"
|
62
|
+
],
|
63
|
+
"env_suffixes": {
|
64
|
+
"PATH": [
|
65
|
+
"RECIPE_PACKAGE_REPO[depot_tools]"
|
66
|
+
]
|
67
|
+
},
|
68
|
+
"name": "on_path"
|
69
|
+
},
|
70
|
+
{
|
71
|
+
"name": "$result",
|
72
|
+
"recipe_result": null,
|
73
|
+
"status_code": 0
|
74
|
+
}
|
75
|
+
]
|