Commit Graph

6 Commits (d8cfeaa8097900ae890da69206b3d73594cf542a)

Author SHA1 Message Date
Dan Jacques 642dd84c89 [win/bootstrap] Use "for" instead of "set".
Using "set /p" to read a file fails when STDOUT is not connected.
Replace it with a method of reading using "for".

In the Python batch file, we eat up some of our sled buffer in order to
accommodate currently-running Python scripts. They should now resume
past the end of the file without issue. The sled was oversized, so this
shouldn't affect upgrade paths.

BUG=chromium:746602
TEST=local
  - On Windows machine, tested upgrade from pre-rework and current
    bootstraps. This code works on both, and no running Python
    processes were disrupted on exit, suggesting the sled change is
    sound.
R=iannucci@chromium.org, smut@chromium.org

Change-Id: Ica51999d672dd4e448fdad797bffc06ec9e9febf
Reviewed-on: https://chromium-review.googlesource.com/578725
Commit-Queue: Daniel Jacques <dnj@chromium.org>
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
Reviewed-by: smut <smut@google.com>
8 years ago
Dan Jacques c4dd3e8264 [bootstrap/win] Remove support for legacy installs
Migrate CIPD bundle installations to stable and remove support in
Windows bootstrap code for legacy (non-Windows) bootstrap installations.

This includes removal of support for
- ZIP installation paths - everything through CIPD now.
- Python legacy code (though cleanup logic still exists).
- JavaScript downloads.
- Separate Git package versioning.

This is a push from "bleeding edge" to production.

BUG=chromium:740171
TEST=local, prod-exemplar
  - Tested cold and warm upgrade and downgrade.
  - Tested upgrade and downgrade step via "update_scripts".

Change-Id: I3dc4392ef2eaa2d7cf829d560128b74e4dbd2cba
Reviewed-on: https://chromium-review.googlesource.com/567767
Commit-Queue: Daniel Jacques <dnj@chromium.org>
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
8 years ago
Dan Jacques 3a8717e17f [bootstrap/win] Remove legacy Git support.
Remove non-CIPD Git installation code path. This changes the stable Git
version to use the Git package and removes legacy Git support.

Note that this is different from legacy (non-CIPD-managed) bootstrap.
This will be removed in a future patch.

This is effectively a roll of bleeding-edge into stable.

BUG=chromium:740171
TEST=local

Change-Id: Ia320efd7866f6c11e8aa18d6ce6157614b44fcab
Reviewed-on: https://chromium-review.googlesource.com/567764
Commit-Queue: Daniel Jacques <dnj@chromium.org>
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
8 years ago
Dan Jacques 3d9b58819b [win_tools] Use bundled Python CIPD packages (#2).
Re-land of bf1446791e.

Enable bundled Python CIPD packages in bleeding-edge mode. This
replaces the ZIP unpacking approach used before, and introduces
validation and management through the CIPD tool. The bleeding edge
version will only install if a sentinel file is present in the
"depot_tools" root; otherwise, default behavior will continue.

This method adds a upgrade and downgrade path to/from ZIP and
CIPD installations. This is done by rewriting the "win_tools.bat"
process:

1) Ensure that a bootstrap Python is present.
2) Use it to run "win_tools.py", which has the functionality of
    "git_bootstrap.py" plus Python installation.
3) Run "win_tools.py" with appropriate flags.

Some tricks were employed to handle cases where there is an
already-running Python instance that uses the current Python
installation and executable. This happens on bots because the
system uses the same "depot_tools" checkout at multiple launch
layers. To this end, we use the "python.bat" as the "current Python"
authority and refrain from cleaning up old Python directories if their
"python.exe" binaries are currently in use.

We change the Git bleeding edge file to share the same
sentinel file as Python, ".bleeding_edge".

The new Python should have the same facilities as the original Python
bundle.

BUG=chromium:740171
TEST=local

Change-Id: I51ba6415c60b95c2aaba94b6e21bd9b3fc82f35d
Reviewed-on: https://chromium-review.googlesource.com/568524
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
Commit-Queue: Robbie Iannucci <iannucci@chromium.org>
8 years ago
Andrii Shyshkalov af5c20f5a4 Revert "[win_tools] Use bundled Python CIPD packages."
This reverts commit bf1446791e.

Reason for revert: broke win bots http://o/410053

Original change's description:
> [win_tools] Use bundled Python CIPD packages.
> 
> Enable bundled Python CIPD packages in bleeding-edge mode. This
> replaces the ZIP unpacking approach used before, and introduces
> validation and management through the CIPD tool. The bleeding edge
> version will only install if a sentinel file is present in the
> "depot_tools" root; otherwise, default behavior will continue.
> 
> This method adds a upgrade and downgrade path to/from ZIP and
> CIPD installations. This is done by rewriting the "win_tools.bat"
> process:
> 
> 1) Ensure that a bootstrap Python is present.
> 2) Use it to run "win_tools.py", which has the functionality of
>     "git_bootstrap.py" plus Python installation.
> 3) Run "win_tools.py" with appropriate flags.
> 
> Some tricks were employed to handle cases where there is an
> already-running Python instance that uses the current Python
> installation and executable. This happens on bots because the
> system uses the same "depot_tools" checkout at multiple launch
> layers. To this end, we use the "python.bat" as the "current Python"
> authority and refrain from cleaning up old Python directories if their
> "python.exe" binaries are currently in use.
> 
> We change the Git bleeding edge file to share the same
> sentinel file as Python, ".bleeding_edge".
> 
> The new Python should have the same facilities as the original Python
> bundle.
> 
> BUG=chromium:740171
> TEST=local
> 
> Change-Id: I1b3b7d31d47d1a37a9dba9114d31681bec558736
> Reviewed-on: https://chromium-review.googlesource.com/563036
> Commit-Queue: Daniel Jacques <dnj@chromium.org>
> Reviewed-by: Robbie Iannucci <iannucci@chromium.org>

TBR=iannucci@chromium.org,dnj@chromium.org

Change-Id: I84574a01bbad6596912e4aaa34f019d24720b638
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:740171
Reviewed-on: https://chromium-review.googlesource.com/567009
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
8 years ago
Dan Jacques bf1446791e [win_tools] Use bundled Python CIPD packages.
Enable bundled Python CIPD packages in bleeding-edge mode. This
replaces the ZIP unpacking approach used before, and introduces
validation and management through the CIPD tool. The bleeding edge
version will only install if a sentinel file is present in the
"depot_tools" root; otherwise, default behavior will continue.

This method adds a upgrade and downgrade path to/from ZIP and
CIPD installations. This is done by rewriting the "win_tools.bat"
process:

1) Ensure that a bootstrap Python is present.
2) Use it to run "win_tools.py", which has the functionality of
    "git_bootstrap.py" plus Python installation.
3) Run "win_tools.py" with appropriate flags.

Some tricks were employed to handle cases where there is an
already-running Python instance that uses the current Python
installation and executable. This happens on bots because the
system uses the same "depot_tools" checkout at multiple launch
layers. To this end, we use the "python.bat" as the "current Python"
authority and refrain from cleaning up old Python directories if their
"python.exe" binaries are currently in use.

We change the Git bleeding edge file to share the same
sentinel file as Python, ".bleeding_edge".

The new Python should have the same facilities as the original Python
bundle.

BUG=chromium:740171
TEST=local

Change-Id: I1b3b7d31d47d1a37a9dba9114d31681bec558736
Reviewed-on: https://chromium-review.googlesource.com/563036
Commit-Queue: Daniel Jacques <dnj@chromium.org>
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
8 years ago