Commit Graph

3 Commits (903ea73119a724b0c516412abb9cf8cb90b557f3)

Author SHA1 Message Date
Dan Jacques 7c2e05b430 [cipd] Fix CIPD bootstraps run concurrently.
It's currently possible for CIPD bootstraps that provision concurrently to:
1) On Linux, step on each other during download, and
2) On Windows, fail.

Fix these respective scripts so that bootstraps are safe to use
concurrently.

On Linux and Mac, we download to a temporary file and use "mv" (atomic)
to write it to the final destination. Concurrent initializations will
perform parallel downloads, execute the "mv", and copy their downloaded
file to the destination path.

On Windows, we use filesystem locking to lock the operation and ensure
that only one download can happen.

BUG=chromium:739195
TEST=local
  - Ran in parallel on Windows, Linux, and Max.

Change-Id: Ie050d37598da67389f21728e781bd58904ef9c17
Reviewed-on: https://chromium-review.googlesource.com/560521
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
Commit-Queue: Daniel Jacques <dnj@chromium.org>
8 years ago
Dan Jacques e82c0dec65 [cipd] Fail if setup has an error.
Make Linux/Mac CIPD wrapper fail if any step returns an error.

Include the "-f" curl flag, which will cause it to error on non-200
status.

BUG=chromium:739195
TEST=local
R=iannucci@chromium.org

Change-Id: I3efea3f38c1ee322cb9d63f29819472564107ddc
Reviewed-on: https://chromium-review.googlesource.com/560723
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
Commit-Queue: Daniel Jacques <dnj@chromium.org>
8 years ago
Robert Iannucci 2188fe944f Add cipd bootstrap scripts to depot_tools.
This takes advantage of powershell on windows for a cleanish duplicate of the
posix version.

R=dnj@chromium.org, vadimsh@chromium.org
BUG=663843

Change-Id: Ib23a044ff912e3239b58848a26143eb6575826d5
Reviewed-on: https://chromium-review.googlesource.com/414228
Commit-Queue: Robbie Iannucci <iannucci@chromium.org>
Reviewed-by: Vadim Shtayura <vadimsh@chromium.org>
8 years ago