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 {
|
||||
yamllint --version
|
||||
}
|
||||
|
||||
function Get-PipxVersion {
|
||||
$pipxVersion = pipx --version
|
||||
return "Pipx $pipxVersion"
|
||||
}
|
||||
|
||||
@@ -59,7 +59,8 @@ $markdown += New-MDList -Style Unordered -Lines @(
|
||||
(Get-RubyGemsVersion),
|
||||
(Get-HelmVersion),
|
||||
(Get-ComposerVersion),
|
||||
(Get-NugetVersion)
|
||||
(Get-NugetVersion),
|
||||
(Get-PipxVersion)
|
||||
)
|
||||
|
||||
$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" {
|
||||
It "svn" {
|
||||
"svn --version --quiet" | Should -ReturnZeroExitCode
|
||||
@@ -269,3 +263,9 @@ Describe "Zstd" {
|
||||
"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",
|
||||
"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",
|
||||
"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-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-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/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