mirror of
https://github.com/actions/runner-images.git
synced 2025-12-15 22:26:56 +00:00
* Apply code style rules to Windows scripts * Fix typo * Fix configure-toolset script * Fix parameters in Msys2 installation script * Improve log readability * Remove broken exit code validation
40 lines
1.4 KiB
PowerShell
40 lines
1.4 KiB
PowerShell
################################################################################
|
|
## File: Install-Pipx.ps1
|
|
## Desc: Install pipx and pipx packages
|
|
################################################################################
|
|
|
|
Write-Host "Installing pipx..."
|
|
$env:PIPX_BIN_DIR = "${env:ProgramFiles(x86)}\pipx_bin"
|
|
$env:PIPX_HOME = "${env:ProgramFiles(x86)}\pipx"
|
|
|
|
pip install pipx
|
|
if ($LASTEXITCODE -ne 0) {
|
|
throw "pipx installation failed with exit code $LASTEXITCODE"
|
|
}
|
|
|
|
Add-MachinePathItem "${env:PIPX_BIN_DIR}"
|
|
[Environment]::SetEnvironmentVariable("PIPX_BIN_DIR", $env:PIPX_BIN_DIR, "Machine")
|
|
[Environment]::SetEnvironmentVariable("PIPX_HOME", $env:PIPX_HOME, "Machine")
|
|
|
|
Invoke-PesterTests -TestFile "Tools" -TestName "Pipx"
|
|
|
|
Write-Host "Installing pipx packages..."
|
|
|
|
$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
|
|
}
|
|
|
|
if ($LASTEXITCODE -ne 0) {
|
|
throw "Package ${tool.package} installation failed with exit code $LASTEXITCODE"
|
|
}
|
|
}
|
|
|
|
Invoke-PesterTests -TestFile "PipxPackages"
|