mirror of
https://github.com/actions/runner-images-sangeeth.git
synced 2025-12-20 06:29:50 +00:00
[windows] Fixed version checking (#3219)
This commit is contained in:
@@ -4,15 +4,15 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
# Get 3 latest versions of GHC
|
# Get 3 latest versions of GHC
|
||||||
[Version[]] $ChocoVersionsOutput = & choco search ghc --allversions | Where-Object { $_.StartsWith("ghc ") -and $_ -match "Approved"} | ForEach-Object { [regex]::matches($_, "\d+(\.\d+){2,}").value }
|
[Version[]] $ChocoVersionsOutput = & choco search ghc --allversions | Where-Object { $_.StartsWith('ghc ') -and $_ -match 'Approved' } | ForEach-Object { [regex]::matches($_, '\d+(\.\d+){2,}').value }
|
||||||
$MajorMinorGroups = $ChocoVersionsOutput | Sort-Object -Descending | Group-Object { $_.ToString(2) } | Select-Object -First 3
|
$MajorMinorGroups = $ChocoVersionsOutput | Group-Object { $_.ToString(2) } | Sort-Object Name -Descending | Select-Object -First 3
|
||||||
$VersionsList = $MajorMinorGroups | ForEach-Object { $_.Group | Select-Object -First 1 } | Sort-Object
|
$VersionsList = $MajorMinorGroups | ForEach-Object { $_.Group | Select-Object -First 1 } | Sort-Object
|
||||||
|
|
||||||
# The latest version will be installed as a default
|
# The latest version will be installed as a default
|
||||||
ForEach ($version in $VersionsList)
|
ForEach ($version in $VersionsList)
|
||||||
{
|
{
|
||||||
Write-Host "Installing ghc $version..."
|
Write-Host "Installing ghc $version..."
|
||||||
Choco-Install -PackageName ghc -ArgumentList "--version", $version, "-m"
|
Choco-Install -PackageName ghc -ArgumentList '--version', $version, '-m'
|
||||||
}
|
}
|
||||||
|
|
||||||
# Add default version of GHC to path, because choco formula updates path on user level
|
# Add default version of GHC to path, because choco formula updates path on user level
|
||||||
@@ -20,14 +20,14 @@ $DefaultGhcVersion = $VersionsList | Select-Object -Last 1
|
|||||||
$DefaultGhcShortVersion = ([version]$DefaultGhcVersion).ToString(3)
|
$DefaultGhcShortVersion = ([version]$DefaultGhcVersion).ToString(3)
|
||||||
$DefaultGhcPath = Join-Path $env:ChocolateyInstall "lib\ghc.$DefaultGhcVersion\tools\ghc-$DefaultGhcShortVersion\bin"
|
$DefaultGhcPath = Join-Path $env:ChocolateyInstall "lib\ghc.$DefaultGhcVersion\tools\ghc-$DefaultGhcShortVersion\bin"
|
||||||
# Starting from version 9 haskell installation directory is $env:ChocolateyToolsLocation instead of $env:ChocolateyInstall\lib
|
# Starting from version 9 haskell installation directory is $env:ChocolateyToolsLocation instead of $env:ChocolateyInstall\lib
|
||||||
if ($ghcVersion -notmatch "^[0-8]\.\d+.*")
|
if ($DefaultGhcShortVersion -notmatch '^[0-8]\.\d+.*')
|
||||||
{
|
{
|
||||||
$DefaultGhcPath = Join-Path $env:ChocolateyToolsLocation "ghc-$DefaultGhcShortVersion\bin"
|
$DefaultGhcPath = Join-Path $env:ChocolateyToolsLocation "ghc-$DefaultGhcShortVersion\bin"
|
||||||
}
|
}
|
||||||
|
|
||||||
Add-MachinePathItem -PathItem $DefaultGhcPath
|
Add-MachinePathItem -PathItem $DefaultGhcPath
|
||||||
|
|
||||||
Write-Host "Installing cabal..."
|
Write-Host 'Installing cabal...'
|
||||||
Choco-Install -PackageName cabal
|
Choco-Install -PackageName cabal
|
||||||
|
|
||||||
Invoke-PesterTests -TestFile "Haskell"
|
Invoke-PesterTests -TestFile 'Haskell'
|
||||||
|
|||||||
Reference in New Issue
Block a user