mirror of
https://github.com/actions/runner-images.git
synced 2025-12-12 12:06:59 +00:00
114 lines
3.5 KiB
PowerShell
114 lines
3.5 KiB
PowerShell
function Build-BrowserSection {
|
|
|
|
$nodes = @()
|
|
$os = Get-OSVersion
|
|
|
|
$nodes += @(
|
|
[ToolVersionNode]::new("Safari", $(Get-SafariVersion))
|
|
[ToolVersionNode]::new("SafariDriver", $(Get-SafariDriverVersion))
|
|
[ToolVersionNode]::new("Google Chrome", $(Get-ChromeVersion))
|
|
[ToolVersionNode]::new("Google Chrome for Testing", $(Get-ChromeForTestingVersion))
|
|
[ToolVersionNode]::new("ChromeDriver", $(Get-ChromeDriverVersion))
|
|
[ToolVersionNode]::new("Microsoft Edge", $(Get-EdgeVersion))
|
|
[ToolVersionNode]::new("Microsoft Edge WebDriver", $(Get-EdgeDriverVersion))
|
|
)
|
|
}
|
|
|
|
$nodes += @(
|
|
[ToolVersionNode]::new("Mozilla Firefox", $(Get-FirefoxVersion))
|
|
[ToolVersionNode]::new("geckodriver", $(Get-GeckodriverVersion))
|
|
[ToolVersionNode]::new("Selenium server", $(Get-SeleniumVersion))
|
|
)
|
|
|
|
return $nodes
|
|
}
|
|
|
|
function Get-SafariVersion {
|
|
$version = Run-Command "defaults read /Applications/Safari.app/Contents/Info CFBundleShortVersionString"
|
|
$build = Run-Command "defaults read /Applications/Safari.app/Contents/Info CFBundleVersion"
|
|
return "$version ($build)"
|
|
}
|
|
|
|
function Get-SafariDriverVersion {
|
|
$version = Run-Command "safaridriver --version" | Take-Part -Part 3, 4
|
|
return $version
|
|
}
|
|
|
|
function Get-ChromeVersion {
|
|
$chromePath = "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"
|
|
$version = Run-Command "'${chromePath}' --version"
|
|
return ($version -replace ("^Google Chrome")).Trim()
|
|
}
|
|
|
|
function Get-ChromeForTestingVersion {
|
|
$chromePath = "/Applications/Google Chrome for Testing.app/Contents/MacOS/Google Chrome for Testing"
|
|
$version = Run-Command "'${chromePath}' --version"
|
|
return ($version -replace ("^Google Chrome for Testing")).Trim()
|
|
}
|
|
|
|
function Get-ChromeDriverVersion {
|
|
$rawOutput = Run-Command "chromedriver --version"
|
|
$version = $rawOutput | Take-Part -Part 1
|
|
return $version
|
|
}
|
|
|
|
function Get-EdgeVersion {
|
|
$edgePath = "/Applications/Microsoft Edge.app/Contents/MacOS/Microsoft Edge"
|
|
$version = Run-Command "'${edgePath}' --version"
|
|
return ($version -replace ("^Microsoft Edge")).Trim()
|
|
}
|
|
|
|
function Get-EdgeDriverVersion {
|
|
return Run-Command "msedgedriver --version" | Take-Part -Part 3
|
|
}
|
|
|
|
function Get-FirefoxVersion {
|
|
$firefoxPath = "/Applications/Firefox.app/Contents/MacOS/firefox"
|
|
$version = Run-Command "'${firefoxPath}' --version"
|
|
return ($version -replace "^Mozilla Firefox").Trim()
|
|
}
|
|
|
|
function Get-GeckodriverVersion {
|
|
$version = Run-Command "geckodriver --version" | Select-Object -First 1
|
|
return ($version -replace "^geckodriver").Trim()
|
|
}
|
|
|
|
function Get-SeleniumVersion {
|
|
$os = Get-OSVersion
|
|
if ($os.IsVenturaArm64 -or $os.IsSonomaArm64 -or $os.IsSequoiaArm64) {
|
|
$cellarPath = "/opt/homebrew/Cellar"
|
|
} else {
|
|
$cellarPath = "/usr/local/Cellar"
|
|
}
|
|
$seleniumVersion = (Get-ChildItem -Path "$cellarPath/selenium-server*/*").Name
|
|
return $seleniumVersion
|
|
}
|
|
|
|
function Build-BrowserWebdriversEnvironmentTable {
|
|
$node = [HeaderNode]::new("Environment variables")
|
|
|
|
$table = @(
|
|
@{
|
|
"Name" = "CHROMEWEBDRIVER"
|
|
"Value" = $env:CHROMEWEBDRIVER
|
|
},
|
|
@{
|
|
"Name" = "EDGEWEBDRIVER"
|
|
"Value" = $env:EDGEWEBDRIVER
|
|
},
|
|
@{
|
|
"Name" = "GECKOWEBDRIVER"
|
|
"Value" = $env:GECKOWEBDRIVER
|
|
}
|
|
) | ForEach-Object {
|
|
[PSCustomObject] @{
|
|
"Name" = $_.Name
|
|
"Value" = $_.Value
|
|
}
|
|
}
|
|
|
|
$node.AddTable($table)
|
|
|
|
return $node
|
|
}
|