New issue
Advanced search Search tips

Issue 854219 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 1
Type: Bug

Blocking:
issue 851596



Sign in to add a comment

gclient CIPD support on Windows is broken with environment variables

Project Member Reported by mar...@chromium.org, Jun 19 2018

Issue description

It's blocking mapping isolate tool in src.git.
 
More context:

CIPD wants '/'-separated paths for subdirs on all platforms. gclient currently uses an os.path-based implementation to create the subdir, resulting in it giving '\\'-separated paths as subdirs on Windows. This causes errors like: 


________ running 'cipd ensure -log-level error -root C:\b\swarming\w\ir\cache\builder -ensure-file c:\b\swarming\w\ir\tmp\tmpfsplfi.ensure' in '.'
Traceback (most recent call last):
  File "C:\b\swarming\w\ir\kitchen-checkout\depot_tools\recipes\recipe_modules\bot_update\resources\bot_update.py", line 1290, in <module>
    sys.exit(main())
  File "C:\b\swarming\w\ir\kitchen-checkout\depot_tools\recipes\recipe_modules\bot_update\resources\bot_update.py", line 1274, in main
    checkout(options, git_slns, specs, revisions, step_text, shallow)
  File "C:\b\swarming\w\ir\kitchen-checkout\depot_tools\recipes\recipe_modules\bot_update\resources\bot_update.py", line 1184, in checkout
    gclient_output = ensure_checkout(**checkout_parameters)
  File "C:\b\swarming\w\ir\kitchen-checkout\depot_tools\recipes\recipe_modules\bot_update\resources\bot_update.py", line 946, in ensure_checkout
Error: failed to parse desired state (line 1): bad subdir: backslashes not allowed (use "/"): "src\\tools\\luci-go".
Error: Command 'cipd ensure -log-level error -root C:\\b\\swarming\\w\\ir\\cache\\builder -ensure-file c:\\b\\swarming\\w\\ir\\tmp\\tmpfsplfi.ensure' returned non-zero exit status 1
===Failed in 1.3 mins of C:\b\swarming\w\ir\cache\vpython\15e091\Scripts\python.exe -u C:\b\swarming\w\ir\kitchen-checkout\depot_tools\gclient.py sync --verbose --reset --force --ignore_locks --output-json c:\b\swarming\w\ir\tmp\tmp0qlsob.json --nohooks --noprehooks --delete_unversioned_trees --break_repo_locks --revision src@unmanaged --patch-ref https://chromium.googlesource.com/chromium/src@refs/changes/23/1097623/5 ===
    apply_patch_on_gclient)
  File "C:\b\swarming\w\ir\kitchen-checkout\depot_tools\recipes\recipe_modules\bot_update\resources\bot_update.py", line 396, in gclient_sync
    raise GclientSyncFailed(e.message, e.code, e.output)
__main__.GclientSyncFailed: C:\b\swarming\w\ir\cache\vpython\15e091\Scripts\python.exe -u C:\b\swarming\w\ir\kitchen-checkout\depot_tools\gclient.py sync --verbose --reset --force --ignore_locks --output-json c:\b\swarming\w\ir\tmp\tmp0qlsob.json --nohooks --noprehooks --delete_unversioned_trees --break_repo_locks --revision src@unmanaged --patch-ref https://chromium.googlesource.com/chromium/src@refs/changes/23/1097623/5 failed with code 1 in C:\b\swarming\w\ir\cache\builder.
step returned non-zero exit code: 1


Blocked CL in question is https://chromium-review.googlesource.com/c/chromium/src/+/1097623

Fix on review in https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/1106698
Status: Started (was: Assigned)

Comment 3 by mar...@chromium.org, Jun 21 2018

Cc: tikuta@chromium.org
Project Member

Comment 4 by bugdroid1@chromium.org, Jun 21 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/tools/depot_tools/+/4099daa97b38b2ddb95e34d9fc3e2d37f58df069

commit 4099daa97b38b2ddb95e34d9fc3e2d37f58df069
Author: John Budorick <jbudorick@chromium.org>
Date: Thu Jun 21 19:22:10 2018

gclient: Use posixpath-style separators for cipd subdirs on all platforms.

Bug:  854219 
Change-Id: Ibd83135dcb96979f8ab989a248e3e2cf59b9dd43
Reviewed-on: https://chromium-review.googlesource.com/1106698
Commit-Queue: John Budorick <jbudorick@chromium.org>
Reviewed-by: Aaron Gable <agable@chromium.org>
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>

[modify] https://crrev.com/4099daa97b38b2ddb95e34d9fc3e2d37f58df069/tests/gclient_test.py
[modify] https://crrev.com/4099daa97b38b2ddb95e34d9fc3e2d37f58df069/tests/presubmit_unittest.py
[modify] https://crrev.com/4099daa97b38b2ddb95e34d9fc3e2d37f58df069/gclient.py

Status: Fixed (was: Started)
fix has rolled into chromium/tools/build.
Project Member

Comment 6 by bugdroid1@chromium.org, Jun 21 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0d8b450d4bc56687d084972868a5194222f17f6d

commit 0d8b450d4bc56687d084972868a5194222f17f6d
Author: depot-tools-chromium-autoroll <depot-tools-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Date: Thu Jun 21 23:23:20 2018

Roll src/third_party/depot_tools 04925ac3f7e5..4099daa97b38 (1 commits)

https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/04925ac3f7e5..4099daa97b38


git log 04925ac3f7e5..4099daa97b38 --date=short --no-merges --format='%ad %ae %s'
2018-06-21 jbudorick@chromium.org gclient: Use posixpath-style separators for cipd subdirs on all platforms.


Created with:
  gclient setdep -r src/third_party/depot_tools@4099daa97b38

The AutoRoll server is located here: https://depot-tools-chromium-roll.skia.org

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.



BUG= chromium:854219 
TBR=agable@chromium.org

Change-Id: Id415d42e688c6bf0351ca4f77eaeef4717cbbb78
Reviewed-on: https://chromium-review.googlesource.com/1110459
Reviewed-by: depot-tools-chromium-autoroll <depot-tools-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: depot-tools-chromium-autoroll <depot-tools-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#569444}
[modify] https://crrev.com/0d8b450d4bc56687d084972868a5194222f17f6d/DEPS

Sign in to add a comment