1. 22 Mar, 2019 1 commit
  2. 20 Jul, 2017 1 commit
    • Dan Jacques's avatar
      [win/bootstrap] Use "for" instead of "set". · 642dd84c
      Dan Jacques authored
      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: 's avatarRobbie Iannucci <iannucci@chromium.org>
      Reviewed-by: 's avatarsmut <smut@google.com>
      642dd84c
  3. 13 Jul, 2017 2 commits
    • Dan Jacques's avatar
      [bootstrap/win] Remove support for legacy installs · c4dd3e82
      Dan Jacques authored
      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: 's avatarRobbie Iannucci <iannucci@chromium.org>
      c4dd3e82
    • Dan Jacques's avatar
      [bootstrap/win] Remove legacy Git support. · 3a8717e1
      Dan Jacques authored
      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: 's avatarRobbie Iannucci <iannucci@chromium.org>
      3a8717e1
  4. 12 Jul, 2017 2 commits
    • Dan Jacques's avatar
      [win_tools] Use bundled Python CIPD packages (#2). · 3d9b5881
      Dan Jacques authored
      Re-land of bf144679.
      
      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/568524Reviewed-by: 's avatarRobbie Iannucci <iannucci@chromium.org>
      Commit-Queue: Robbie Iannucci <iannucci@chromium.org>
      3d9b5881
    • Andrii Shyshkalov's avatar
      Revert "[win_tools] Use bundled Python CIPD packages." · af5c20f5
      Andrii Shyshkalov authored
      This reverts commit bf144679.
      
      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/567009Reviewed-by: 's avatarAndrii Shyshkalov <tandrii@chromium.org>
      Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
      af5c20f5
  5. 11 Jul, 2017 1 commit
    • Dan Jacques's avatar
      [win_tools] Use bundled Python CIPD packages. · bf144679
      Dan Jacques authored
      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: 's avatarRobbie Iannucci <iannucci@chromium.org>
      bf144679