Files
runner-images/images/windows/scripts/build/Install-DockerCompose.ps1

29 lines
1.7 KiB
PowerShell

################################################################################
## File: Install-Docker-Compose.ps1
## Desc: Install Docker Compose.
################################################################################
Write-Host "Install-Package Docker-Compose v1"
$dockerComposev1Url = "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-Windows-x86_64.exe"
$checksumsUrl = "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-Windows-x86_64.exe.sha256"
$dockerComposev1Dir = "C:\ProgramData\docker-compose"
New-Item -Path $dockerComposev1Dir -ItemType Directory
$externalHash = Get-ChecksumFromUrl -Type "SHA256" `
-Url $checksumsUrl `
-FileName (Split-Path $dockerComposev1Url -Leaf)
$dockerComposev1Path = Invoke-DownloadWithRetry -Url $dockerComposev1Url -Path "$dockerComposev1Dir\docker-compose.exe"
Test-FileChecksum $dockerComposev1Path -ExpectedSHA256Sum $externalHash
Add-MachinePathItem $dockerComposev1Dir
Update-Environment
Write-Host "Install-Package Docker-Compose v2"
# Temporaty pinned to v2.23.3 due https://github.com/actions/runner-images/issues/9172
$toolsetVersion = (Get-ToolsetContent).docker.components.compose
$composeVersion = (Get-GithubReleasesByVersion -Repo "docker/compose" -Version "${toolsetVersion}").version
$dockerComposev2Url = "https://github.com/docker/compose/releases/download/v${composeVersion}/docker-compose-windows-x86_64.exe"
$cliPluginsDir = "C:\ProgramData\docker\cli-plugins"
New-Item -Path $cliPluginsDir -ItemType Directory
Invoke-DownloadWithRetry -Url $dockerComposev2Url -Path "$cliPluginsDir\docker-compose.exe"
Invoke-PesterTests -TestFile "Docker" -TestName "DockerCompose"