Commit Graph

12 Commits (e6f40ea0341552c3e78fb107fe9f37b87d95f321)

Author SHA1 Message Date
Gavin Mak a5f17dd7b3 Revert "Drop py2 support in recipe modules"
This reverts commit 5819c303f0.

Reason for revert: breaking dart builds

Original change's description:
> Drop py2 support in recipe modules
>
> python3 is the only supported version of python in depot_tools.
>
> Bug: 1475402
> Change-Id: I479de09a0c34b438aced35e4ced58a5972108132
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/4808518
> Reviewed-by: Josip Sokcevic <sokcevic@chromium.org>
> Commit-Queue: Gavin Mak <gavinmak@google.com>

Bug: 1475402
Change-Id: I0fef7581835bb25ea7e4f22303eef11e72df9536
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/4811596
Commit-Queue: Gavin Mak <gavinmak@google.com>
Reviewed-by: Josip Sokcevic <sokcevic@chromium.org>
2 years ago
Gavin Mak 5819c303f0 Drop py2 support in recipe modules
python3 is the only supported version of python in depot_tools.

Bug: 1475402
Change-Id: I479de09a0c34b438aced35e4ced58a5972108132
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/4808518
Reviewed-by: Josip Sokcevic <sokcevic@chromium.org>
Commit-Queue: Gavin Mak <gavinmak@google.com>
2 years ago
Greg Edelston 02349da2cb recipe_modules/gsutil: Add `dry_run` kwarg
This kwarg will display the command that would have been run, without
actually running it. I plan to use this kwarg on some ChromeOS staging
builders.

BUG=b:270142110
TEST=./recipes.py test train

Change-Id: I20194152e305dc6bae71a58b94de71d414839643
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/4382316
Reviewed-by: Gavin Mak <gavinmak@google.com>
Auto-Submit: Greg Edelston <gredelston@google.com>
Commit-Queue: Greg Edelston <gredelston@google.com>
Reviewed-by: Aravind Vasudevan <aravindvasudev@google.com>
2 years ago
Ben Pastene 8d2d507a49 Add a method to gsutil recipe_module to disable multiprocessing on mac
In https://crbug.com/1327371, we started encountering hanging gsutil
calls. These were triggered under very specific circumstances, but
were essentially due to a multi-processing bug in python on MacOS:
https://bugs.python.org/issue33725

When running gsutil on mac, it explicitly suggests disabling
multi-processing for this reason:
https://source.chromium.org/chromium/chromium/src/+/main:third_party/catapult/third_party/gsutil/gslib/command.py;drc=3a12d6ccdec28da8bda09d9ff826aae1f9504e59;l=1331

So this CL simply puts that suggestion into practice. There are two
options for doing so: adding a line to an active Boto file, or adding
a "-o" arg to every gsutil invocation. Since chromium has multiple
copies of gsutil and multiple different locations where `gsutil` is
invoked, the latter option is considered intractable.

Instead, we choose the Boto file option by adding a context manager
to the gsutil recipe module that will insert a custom Boto file into
the environment that only disables multi-threading. Due to the fact
that the BOTO_PATH env var takes multiple paths, we can safely
incorporate both our custom Boto along with LUCI's per-build Boto file
in the same gsutil invocation. And when the context manager exits, the
environment should revert back to its original state.

Chromium incorporates this method in crrev.com/c/3662023. See it take
effect during the "gclient runhooks" step in this led build:
https://ci.chromium.org/swarming/task/5b0c5174e70cb010?server=chromium-swarm.appspot.com

Bug: 1327371
Change-Id: I75cfdf16d0ec023bf81ea57991dde996694a46c6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/3661949
Reviewed-by: Josip Sokcevic <sokcevic@google.com>
Commit-Queue: Ben Pastene <bpastene@chromium.org>
3 years ago
Aravind Vasudevan e210b54290 Use py3 in gsutil receipe module
Manual Recipe Change: https://crrev.com/c/3460620

Recipe-Manual-Change: build
Recipe-Nontrivial-Roll: build_limited
Recipe-Nontrivial-Roll: chrome_release
Recipe-Nontrivial-Roll: chromiumos
Recipe-Nontrivial-Roll: infra
Bug: 1289280
Change-Id: Ibdadf1eee3d2d5f385f520340a4f4bd8844f7bbd
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/3440919
Reviewed-by: Josip Sokcevic <sokcevic@google.com>
Reviewed-by: Gavin Mak <gavinmak@google.com>
Commit-Queue: Aravind Vasudevan <aravindvasudev@google.com>
3 years ago
Gavin Mak 7d10c80e89 Add PYTHON_VERSION_COMPATIBILITY to gsutil recipe module
Bug: 1227140
Change-Id: I81ae117146980f7dca60653f88500289d130c022
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/3120084
Commit-Queue: Gavin Mak <gavinmak@google.com>
Reviewed-by: Anthony Polito <apolito@google.com>
4 years ago
Alex Drexler 28be1ff854 Use console url for recursive gsutil operations.
The storage.* links do not work unless an individual object is
specified. This isn't the case for recursive upload/copy operations.

When uploading multiple objects recursively, we should use the console
link instead.

Bug: None
Test: Updated recipe expectations.
Recipe-Nontrivial-Roll: build
Change-Id: I511f04f367f6c20c538b3c2093a40807323d7b75
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2118421
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
Commit-Queue: Alex Drexler <adrexler@google.com>
5 years ago
George Engelbrecht 30f9664b48 Add 'stat' to gsutil module.
In support of the signing rework we're going to want to have
the signers keep track of the calculated hash to ensure that
we don't have a TOCTOU type issue. This commit adds the stat
command to the gsutil module so that we can ask gs a files hash.

Change-Id: Ib35d1541292a18fbfc26fab50f594c682ba4109d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/1754262
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
Commit-Queue: George Engelbrecht <engeg@google.com>
6 years ago
recipe-roller b712f77706 Roll recipe dependencies (nontrivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


Please review the expectation changes, and LGTM+CQ.


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
recipe_engine:
  https://crrev.com/b5922385482112ce31df891af71854c81662d69e Remove jsonResult defaulting to null (martiniss@google.com)


R=recipe-roller@chromium.org, tandrii@chromium.org

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I9791f5b80afe6529a6321eccbd4ae7d1a3f18a81
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/1638960
Reviewed-by: Stephen Martinis <martiniss@chromium.org>
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
6 years ago
Robert Iannucci efc7e91fa7 [recipes] Manual roll.
Update "import DEPS" syntax and package_repo_resource.

recipe_engine:
  https://crrev.com/a42dce4e0b0db8bd6b7688030e723197919306db [engine] Rewrite/simplify loading infrastructure. (iannucci@chromium.org)

R=jchinlee@chromium.org, martiniss@chromium.org, tandrii@chromium.org

Recipe-Manual-Change: skia
Recipe-Manual-Change: skiabuildbot
Recipe-Manual-Change: build
Recipe-Manual-Change: build_limited_scripts_slave
Recipe-Manual-Change: infra
Recipe-Manual-Change: release_scripts
Bug: 914992
Change-Id: Ie3a3be9124e1ca4abd5e79af2f8c946b3ce906ff
Reviewed-on: https://chromium-review.googlesource.com/c/1464761
Commit-Queue: Robbie Iannucci <iannucci@chromium.org>
Reviewed-by: Stephen Martinis <martiniss@chromium.org>
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
6 years ago
Stephen Martinis 9afc6490c1 Manual roll for new run logic
Manual roll for https://crrev.com/c/1239574/

TBR=iannucci

Recipe-Manual-Change: build
Recipe-Manual-Change: infra
Recipe-Manual-Change: build_limited_scripts_slave
Recipe-Manual-Change: release_scripts
Recipe-Manual-Change: skiabuildbot
Recipe-Manual-Change: skia
Bug: 646142
Change-Id: I56f156c05a695cfb00b9e0a7f335d516153a70c7
Reviewed-on: https://chromium-review.googlesource.com/c/1305041
Commit-Queue: Stephen Martinis <martiniss@chromium.org>
Reviewed-by: Stephen Martinis <martiniss@chromium.org>
7 years ago
Robert Iannucci 56038f517d rename example.py -> examples/full.py for all modules
R=dnj@chromium.org, nodir@chromium.org, phajdan.jr@chromium.org

Bug:
Change-Id: I47d8f9311b6ee71583fb989888a1e4d28b5495df
Reviewed-on: https://chromium-review.googlesource.com/520731
Commit-Queue: Robbie Iannucci <iannucci@chromium.org>
Reviewed-by: Nodir Turakulov <nodir@chromium.org>
8 years ago