mirror of
https://github.com/actions/runner-images.git
synced 2025-12-15 06:08:07 +00:00
[Windows] Add GVFS (Git Virtual File System) (#3766)
* Add GVFS (Git Virtual File System) * invoke all tests from git file
This commit is contained in:
committed by
GitHub
parent
9400af6b30
commit
05781ccad0
@@ -9,9 +9,20 @@ Choco-Install -PackageName git -ArgumentList '--installargs="/VERYSILENT /NOREST
|
|||||||
# Install hub
|
# Install hub
|
||||||
Choco-Install -PackageName hub
|
Choco-Install -PackageName hub
|
||||||
|
|
||||||
|
# Install GVFS
|
||||||
|
$url = "https://api.github.com/repos/microsoft/VFSForGit/releases/latest"
|
||||||
|
[System.String] $gvfsLatest = (Invoke-RestMethod -Uri $url).assets.browser_download_url -match "SetupGVFS.+\.exe$"
|
||||||
|
$gvfsInstallerPath = Start-DownloadWithRetry -Url $gvfsLatest -Name "SetupGVFS.exe"
|
||||||
|
|
||||||
|
# Start-Process waits on the entire process tree but Wait-Process only waits on the initiating process(GVFS.Service.UI.exe)
|
||||||
|
$env:GVFS_UNATTENDED = "1"
|
||||||
|
$argList = "/VERYSILENT", "/NORESTART", "/NOCANCEL", "/SP-", "/CLOSEAPPLICATIONS", "/RESTARTAPPLICATIONS", "/SUPPRESSMSGBOXES"
|
||||||
|
Start-Process $gvfsInstallerPath -ArgumentList $argList -PassThru | Wait-Process
|
||||||
|
|
||||||
# Disable GCM machine-wide
|
# Disable GCM machine-wide
|
||||||
[Environment]::SetEnvironmentVariable("GCM_INTERACTIVE", "Never", [System.EnvironmentVariableTarget]::Machine)
|
[Environment]::SetEnvironmentVariable("GCM_INTERACTIVE", "Never", [System.EnvironmentVariableTarget]::Machine)
|
||||||
|
|
||||||
|
# Add to PATH
|
||||||
Add-MachinePathItem "C:\Program Files\Git\bin"
|
Add-MachinePathItem "C:\Program Files\Git\bin"
|
||||||
|
|
||||||
if (Test-IsWin16) {
|
if (Test-IsWin16) {
|
||||||
@@ -22,5 +33,5 @@ if (Test-IsWin16) {
|
|||||||
ssh-keyscan -t rsa github.com >> "C:\Program Files\Git\etc\ssh\ssh_known_hosts"
|
ssh-keyscan -t rsa github.com >> "C:\Program Files\Git\etc\ssh\ssh_known_hosts"
|
||||||
ssh-keyscan -t rsa ssh.dev.azure.com >> "C:\Program Files\Git\etc\ssh\ssh_known_hosts"
|
ssh-keyscan -t rsa ssh.dev.azure.com >> "C:\Program Files\Git\etc\ssh\ssh_known_hosts"
|
||||||
|
|
||||||
Invoke-PesterTests -TestFile "Git" -TestName "Git"
|
Invoke-PesterTests -TestFile "Git"
|
||||||
Invoke-PesterTests -TestFile "CLI.Tools" -TestName "Hub CLI"
|
Invoke-PesterTests -TestFile "CLI.Tools" -TestName "Hub CLI"
|
||||||
|
|||||||
@@ -86,6 +86,7 @@ $markdown += New-MDList -Style Unordered -Lines (@(
|
|||||||
(Get-GHCVersion),
|
(Get-GHCVersion),
|
||||||
(Get-GitVersion),
|
(Get-GitVersion),
|
||||||
(Get-GitLFSVersion),
|
(Get-GitLFSVersion),
|
||||||
|
(Get-GVFSVersion),
|
||||||
(Get-GoogleCloudSDKVersion),
|
(Get-GoogleCloudSDKVersion),
|
||||||
(Get-InnoSetupVersion),
|
(Get-InnoSetupVersion),
|
||||||
(Get-JQVersion),
|
(Get-JQVersion),
|
||||||
|
|||||||
@@ -67,6 +67,11 @@ function Get-GitLFSVersion {
|
|||||||
return "Git LFS $gitLfsVersion"
|
return "Git LFS $gitLfsVersion"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function Get-GVFSVersion {
|
||||||
|
$gvfsVersion = (Get-Command gvfs).Version
|
||||||
|
return "GVFS $gvfsVersion"
|
||||||
|
}
|
||||||
|
|
||||||
function Get-InnoSetupVersion {
|
function Get-InnoSetupVersion {
|
||||||
return $(choco list --local-only innosetup) | Select-String -Pattern "InnoSetup"
|
return $(choco list --local-only innosetup) | Select-String -Pattern "InnoSetup"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,3 +23,9 @@ Describe "Git" {
|
|||||||
$env:GCM_INTERACTIVE | Should -BeExactly Never
|
$env:GCM_INTERACTIVE | Should -BeExactly Never
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Describe "GVFS" {
|
||||||
|
It "GVFS is installed" {
|
||||||
|
"gvfs --version" | Should -ReturnZeroExitCode
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user