From 3f6123acc774db49bc0e8989cd60be6c451caa0c Mon Sep 17 00:00:00 2001 From: Aaron Parker Date: Thu, 11 Apr 2024 09:10:51 +1000 Subject: [PATCH] Update Get-DockerDesktop.ps1 Fix an issue with multiple versions deployed, return both MSI and EXE installers --- Evergreen/Apps/Get-DockerDesktop.ps1 | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/Evergreen/Apps/Get-DockerDesktop.ps1 b/Evergreen/Apps/Get-DockerDesktop.ps1 index a156a407..bee4c9d5 100644 --- a/Evergreen/Apps/Get-DockerDesktop.ps1 +++ b/Evergreen/Apps/Get-DockerDesktop.ps1 @@ -1,4 +1,4 @@ -Function Get-DockerDesktop { +function Get-DockerDesktop { <# .SYNOPSIS Returns the available Docker Desktop versions. @@ -16,19 +16,23 @@ Function Get-DockerDesktop { $res = (Get-FunctionResource -AppName ("$($MyInvocation.MyCommand)".Split("-"))[1]) ) + # Get the releases data $Updates = Invoke-EvergreenRestMethod -Uri $res.Get.Update.Uri - foreach ($Update in $Updates) { - if ($Null -ne $Update) { - $PSObject = [PSCustomObject] @{ - Version = $Update.enclosure.shortVersionString - Build = $Update.enclosure.version - Size = $Update.enclosure.length - Type = Get-FileType -File $($Update.enclosure.url | Where-Object { $_ -match "\.exe$" } | Select-Object -First 1) - URI = $Update.enclosure.url | Where-Object { $_ -match "\.exe$" } | Select-Object -First 1 - } - Write-Output -InputObject $PSObject + # Select the latest version + $Latest = $Updates | ` + Sort-Object -Property @{ Expression = { [System.Version]$_.enclosure.shortVersionString }; Descending = $true } | ` + Select-Object -First 1 + + # Output the latest version + foreach ($Item in $Latest.enclosure.url) { + $PSObject = [PSCustomObject] @{ + Version = $Latest.enclosure.shortVersionString + Build = $Latest.enclosure.version + Size = $Latest.enclosure.length + Type = Get-FileType -File $Item + URI = $Item } + Write-Output -InputObject $PSObject } - }