Skip to content

The PATH has changed on Windows, and the Git shell tar is used instead of Windows tar #480

@eregon

Description

@eregon

Describe the bug

The PATH has changed on Windows in the last 24 hours.
ruby/setup-ruby#28 has all the details.

Basically, any tar command ran on Windows now uses
C:\Program Files\Git\usr\bin\tar.exe
instead of previously
C:\windows\system32\tar.exe.

That includes actions/tool-cache's extractTar().

The first tar.exe seems mostly broken with Windows-like paths, and gives

"C:\Program Files\Git\usr\bin\tar.exe" xz -C C:\Users\runneradmin\.rubies -f d:\a\_temp\faffe4a1-577f-4d8d-912c-b897e86696ba
tar (child): Cannot connect to d: resolve failed

We can see the PATH changed in
https://github.com/ruby/jruby-dev-builder/runs/470590213?check_suite_focus=true (working)
https://github.com/ruby/jruby-dev-builder/runs/473104647?check_suite_focus=true (failing)
Differences:

--- a/old
+++ b/new
@@ -8,10 +8,12 @@ C:\hostedtoolcache\windows\Boost\1.72.0
 C:\Program Files\dotnet
 C:\mysql-5.7.21-winx64\bin
 C:\Program Files\Java\zulu-8-azure-jdk_8.40.0.25-8.0.222-win_x64\bin
+C:\SeleniumWebDrivers\GeckoDriver
 C:\Program Files (x86)\sbt\bin
 C:\Rust\.cargo\bin
 C:\Go1.12.7\bin
 C:\Program Files\Git\bin
+C:\Program Files\Git\usr\bin
 C:\hostedtoolcache\windows\Python\3.7.6\x64\Scripts
 C:\hostedtoolcache\windows\Python\3.7.6\x64
 C:\npm\prefix
@@ -24,10 +26,10 @@ C:\windows\System32\OpenSSH\
 C:\ProgramData\Chocolatey\bin
 C:\Program Files\Docker
 C:\Program Files\PowerShell\6\
-C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\
 C:\Program Files\dotnet\
 C:\Program Files\Microsoft SQL Server\130\Tools\Binn\
 C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn\
+C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\
 C:\Program Files\Microsoft Service Fabric\bin\Fabric\Fabric.Code
 C:\Program Files\Microsoft SDKs\Service Fabric\Tools\ServiceFabricLocalClusterManager
 C:\Program Files\nodejs\
@@ -39,11 +41,11 @@ C:\Program Files (x86)\sbt\bin
 C:\Program Files (x86)\Subversion\bin
 C:\SeleniumWebDrivers\ChromeDriver\
 C:\SeleniumWebDrivers\EdgeDriver\
-C:\ProgramData\chocolatey\lib\maven\apache-maven-3.6.2\bin
+C:\ProgramData\chocolatey\lib\maven\apache-maven-3.6.3\bin
 C:\Program Files\CMake\bin
 C:\Strawberry\c\bin
 C:\Strawberry\perl\site\bin
 C:\Strawberry\perl\bin
 C:\Program Files\OpenSSL\bin
 C:\Users\runneradmin\.dotnet\tools
-C
+C:\Pro

Area for Triage:

Question, Bug, or Feature?:
Bug

Virtual environments affected

  • macOS 10.15
  • Ubuntu 16.04 LTS
  • Ubuntu 18.04 LTS
  • Windows Server 2016 R2
  • Windows Server 2019

Expected behavior

extractTar() and tar in the default shell should work on Windows with Windows paths (e.g., C:...).

Actual behavior

It breaks as shown above.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions