mirror of
https://github.com/actions/runner-images-sangeeth.git
synced 2025-12-20 06:29:50 +00:00
Merge pull request #1769 from nikita-bykov/pipx-windows
[Windows] Add pipx and install yamllint through it
This commit is contained in:
14
images/win/scripts/Installers/Install-Pipx.ps1
Normal file
14
images/win/scripts/Installers/Install-Pipx.ps1
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
# Set custom directorys for pipx
|
||||||
|
$env:PIPX_BIN_DIR = "${env:ProgramFiles(x86)}\pipx_bin"
|
||||||
|
$env:PIPX_HOME = "${env:ProgramFiles(x86)}\pipx"
|
||||||
|
|
||||||
|
# Install pipx
|
||||||
|
pip install pipx
|
||||||
|
|
||||||
|
# Set environment variables
|
||||||
|
Add-MachinePathItem "${env:PIPX_BIN_DIR}"
|
||||||
|
Set-SystemVariable -SystemVariable PIPX_BIN_DIR -Value $env:PIPX_BIN_DIR
|
||||||
|
Set-SystemVariable -SystemVariable PIPX_HOME -Value $env:PIPX_HOME
|
||||||
|
|
||||||
|
# Test pipx
|
||||||
|
Invoke-PesterTests -TestFile "Tools" -TestName "Pipx"
|
||||||
12
images/win/scripts/Installers/Install-PipxPackages.ps1
Normal file
12
images/win/scripts/Installers/Install-PipxPackages.ps1
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
$pipxToolset = (Get-ToolsetContent).pipx
|
||||||
|
foreach($tool in $pipxToolset) {
|
||||||
|
if ($tool.python) {
|
||||||
|
$pythonPath = (Get-Item -Path "${env:AGENT_TOOLSDIRECTORY}\Python\${tool.python}.*\x64\python-${tool.python}*").FullName
|
||||||
|
Write-Host "Install ${tool.package} into python ${tool.python}"
|
||||||
|
pipx install $tool.package --python $pythonPath
|
||||||
|
} else {
|
||||||
|
Write-Host "Install ${tool.package} into default python"
|
||||||
|
pipx install $tool.package
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Invoke-PesterTests -TestFile "PipxPackages"
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
pip install yamllint
|
|
||||||
|
|
||||||
Invoke-PesterTests -TestFile "Tools" -TestName "yamllint"
|
|
||||||
@@ -292,3 +292,8 @@ function Get-ShellTarget {
|
|||||||
function Get-YAMLLintVersion {
|
function Get-YAMLLintVersion {
|
||||||
yamllint --version
|
yamllint --version
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function Get-PipxVersion {
|
||||||
|
$pipxVersion = pipx --version
|
||||||
|
return "Pipx $pipxVersion"
|
||||||
|
}
|
||||||
|
|||||||
@@ -59,7 +59,8 @@ $markdown += New-MDList -Style Unordered -Lines @(
|
|||||||
(Get-RubyGemsVersion),
|
(Get-RubyGemsVersion),
|
||||||
(Get-HelmVersion),
|
(Get-HelmVersion),
|
||||||
(Get-ComposerVersion),
|
(Get-ComposerVersion),
|
||||||
(Get-NugetVersion)
|
(Get-NugetVersion),
|
||||||
|
(Get-PipxVersion)
|
||||||
)
|
)
|
||||||
|
|
||||||
$markdown += New-MDHeader "Project Management" -Level 3
|
$markdown += New-MDHeader "Project Management" -Level 3
|
||||||
|
|||||||
7
images/win/scripts/Tests/PipxPackages.Tests.ps1
Normal file
7
images/win/scripts/Tests/PipxPackages.Tests.ps1
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
Describe "PipxPackages" {
|
||||||
|
$pipxToolset = (Get-ToolsetContent).pipx
|
||||||
|
$testCases = $pipxToolset | ForEach-Object { @{package = $_.package; cmd = $_.cmd} }
|
||||||
|
It "<package>" -TestCases $testCases {
|
||||||
|
"$cmd" | Should -ReturnZeroExitCode
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -214,12 +214,6 @@ Describe "ServiceFabricSDK" {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "yamllint" {
|
|
||||||
It "yamllint" {
|
|
||||||
"yamllint --version" | Should -ReturnZeroExitCode
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Describe "Svn" {
|
Describe "Svn" {
|
||||||
It "svn" {
|
It "svn" {
|
||||||
"svn --version --quiet" | Should -ReturnZeroExitCode
|
"svn --version --quiet" | Should -ReturnZeroExitCode
|
||||||
@@ -269,3 +263,9 @@ Describe "Zstd" {
|
|||||||
"zstd -V" | Should -ReturnZeroExitCode
|
"zstd -V" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Describe "Pipx" {
|
||||||
|
It "Pipx" {
|
||||||
|
"pipx --version" | Should -ReturnZeroExitCode
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -237,5 +237,11 @@
|
|||||||
"mcr.microsoft.com/dotnet/framework/runtime:4.8-windowsservercore-ltsc2016",
|
"mcr.microsoft.com/dotnet/framework/runtime:4.8-windowsservercore-ltsc2016",
|
||||||
"microsoft/aspnetcore-build:1.0-2.0"
|
"microsoft/aspnetcore-build:1.0-2.0"
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
"pipx": [
|
||||||
|
{
|
||||||
|
"package": "yamllint",
|
||||||
|
"cmd": "yamllint --version"
|
||||||
}
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -280,5 +280,11 @@
|
|||||||
"mcr.microsoft.com/dotnet/framework/runtime:4.8-windowsservercore-ltsc2019",
|
"mcr.microsoft.com/dotnet/framework/runtime:4.8-windowsservercore-ltsc2019",
|
||||||
"microsoft/aspnetcore-build:1.0-2.0"
|
"microsoft/aspnetcore-build:1.0-2.0"
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
"pipx": [
|
||||||
|
{
|
||||||
|
"package": "yamllint",
|
||||||
|
"cmd": "yamllint --version"
|
||||||
}
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -235,8 +235,9 @@
|
|||||||
"{{ template_dir }}/scripts/Installers/Install-PyPy.ps1",
|
"{{ template_dir }}/scripts/Installers/Install-PyPy.ps1",
|
||||||
"{{ template_dir }}/scripts/Installers/Install-Toolset.ps1",
|
"{{ template_dir }}/scripts/Installers/Install-Toolset.ps1",
|
||||||
"{{ template_dir }}/scripts/Installers/Configure-Toolset.ps1",
|
"{{ template_dir }}/scripts/Installers/Configure-Toolset.ps1",
|
||||||
"{{ template_dir }}/scripts/Installers/Install-YAMLLint.ps1",
|
"{{ template_dir }}/scripts/Installers/Update-AndroidSDK.ps1",
|
||||||
"{{ template_dir }}/scripts/Installers/Update-AndroidSDK.ps1"
|
"{{ template_dir }}/scripts/Installers/Install-Pipx.ps1",
|
||||||
|
"{{ template_dir }}/scripts/Installers/Install-PipxPackages.ps1"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -249,9 +249,10 @@
|
|||||||
"{{ template_dir }}/scripts/Installers/Install-PyPy.ps1",
|
"{{ template_dir }}/scripts/Installers/Install-PyPy.ps1",
|
||||||
"{{ template_dir }}/scripts/Installers/Install-Toolset.ps1",
|
"{{ template_dir }}/scripts/Installers/Install-Toolset.ps1",
|
||||||
"{{ template_dir }}/scripts/Installers/Configure-Toolset.ps1",
|
"{{ template_dir }}/scripts/Installers/Configure-Toolset.ps1",
|
||||||
"{{ template_dir }}/scripts/Installers/Install-YAMLLint.ps1",
|
|
||||||
"{{ template_dir }}/scripts/Installers/Update-AndroidSDK.ps1",
|
"{{ template_dir }}/scripts/Installers/Update-AndroidSDK.ps1",
|
||||||
"{{ template_dir }}/scripts/Installers/Install-AzureModules.ps1"
|
"{{ template_dir }}/scripts/Installers/Install-AzureModules.ps1",
|
||||||
|
"{{ template_dir }}/scripts/Installers/Install-Pipx.ps1",
|
||||||
|
"{{ template_dir }}/scripts/Installers/Install-PipxPackages.ps1"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user