mirror of
https://github.com/actions/runner-images.git
synced 2025-12-10 19:16:48 +00:00
* [macOS] Refactor Common.Helpers * Update readme file * Remove unnecessary double quotes --------- Co-authored-by: Alexey Ayupov <“alexey.ayupov@akvelon.com”>
45 lines
1.6 KiB
PowerShell
45 lines
1.6 KiB
PowerShell
################################################################################
|
|
## File: Configure-Toolset.ps1
|
|
## Team: CI-Build
|
|
## Desc: Configure toolset
|
|
################################################################################
|
|
|
|
Import-Module "~/image-generation/helpers/Common.Helpers.psm1"
|
|
|
|
function Get-ToolsetToolFullPath {
|
|
param
|
|
(
|
|
[Parameter(Mandatory)] [string] $ToolName,
|
|
[Parameter(Mandatory)] [string] $ToolVersion,
|
|
[Parameter(Mandatory)] [string] $ToolArchitecture
|
|
)
|
|
|
|
$toolPath = Join-Path -Path $env:AGENT_TOOLSDIRECTORY -ChildPath $toolName
|
|
$toolPathVersion = Join-Path -Path $toolPath -ChildPath $toolVersion
|
|
$foundVersion = Get-Item $toolPathVersion | Sort-Object -Property {[version]$_.name} -Descending | Select-Object -First 1
|
|
$installationDir = Join-Path -Path $foundVersion -ChildPath $toolArchitecture
|
|
return $installationDir
|
|
}
|
|
|
|
$arch = Get-Architecture
|
|
$toolcache = (Get-ToolsetContent).toolcache
|
|
|
|
foreach ($tool in $toolcache) {
|
|
$toolName = $tool.name
|
|
$toolEnvironment = $tool.arch.$arch.variable_template
|
|
|
|
if (-not $toolEnvironment) {
|
|
continue
|
|
}
|
|
|
|
foreach ($toolVersion in $tool.arch.$arch.versions) {
|
|
Write-Host "Set $toolName $toolVersion environment variable..."
|
|
$toolPath = Get-ToolsetToolFullPath -ToolName $toolName -ToolVersion $toolVersion -ToolArchitecture $arch
|
|
$envName = $toolEnvironment -f $toolVersion.split(".")
|
|
|
|
# Add environment variable name=value
|
|
$envVar = "export {0}={1}" -f $envName, $toolPath
|
|
Add-Content -Path "${env:HOME}/.bashrc" -Value $envVar
|
|
}
|
|
}
|