From 3caf4a3e5cd316be9f1f1264b97b85ad37da8cfd Mon Sep 17 00:00:00 2001 From: Aleksandr Chebotov <47745270+al-cheb@users.noreply.github.com> Date: Tue, 10 May 2022 10:23:19 +0200 Subject: [PATCH] [Windows] Add docker-compose v2 (#5504) --- images/win/scripts/Installers/Install-Docker.ps1 | 6 +++++- .../SoftwareReport/SoftwareReport.Generator.ps1 | 1 + .../scripts/SoftwareReport/SoftwareReport.Tools.psm1 | 10 +++++++--- images/win/scripts/Tests/Docker.Tests.ps1 | 4 ++++ 4 files changed, 17 insertions(+), 4 deletions(-) diff --git a/images/win/scripts/Installers/Install-Docker.ps1 b/images/win/scripts/Installers/Install-Docker.ps1 index fa0dcaf63..e1ddf9c9c 100644 --- a/images/win/scripts/Installers/Install-Docker.ps1 +++ b/images/win/scripts/Installers/Install-Docker.ps1 @@ -11,9 +11,13 @@ Write-Host "Install-Package Docker" Install-Package -Name docker -ProviderName DockerMsftProvider -RequiredVersion 20.10.7 -Force Start-Service docker -Write-Host "Install-Package Docker-Compose" +Write-Host "Install-Package Docker-Compose v1" Choco-Install -PackageName docker-compose +Write-Host "Install-Package Docker-Compose v2" +$dockerComposev2Url = "https://github.com/docker/compose/releases/latest/download/docker-compose-windows-x86_64.exe" +Start-DownloadWithRetry -Url $dockerComposev2Url -Name docker-compose.exe -DownloadPath "C:\Program Files\Docker\cli-plugins" + Write-Host "Install docker-wincred" $dockerCredLatestRelease = Invoke-RestMethod -Uri "https://api.github.com/repos/docker/docker-credential-helpers/releases/latest" $dockerCredDownloadUrl = $dockerCredLatestRelease.assets.browser_download_url -match "docker-credential-wincred-.+\.zip" | Select-Object -First 1 diff --git a/images/win/scripts/SoftwareReport/SoftwareReport.Generator.ps1 b/images/win/scripts/SoftwareReport/SoftwareReport.Generator.ps1 index cdff2962a..3af3f431e 100644 --- a/images/win/scripts/SoftwareReport/SoftwareReport.Generator.ps1 +++ b/images/win/scripts/SoftwareReport/SoftwareReport.Generator.ps1 @@ -94,6 +94,7 @@ $toolsList = @( (Get-CodeQLBundleVersion), (Get-DockerVersion), (Get-DockerComposeVersion), + (Get-DockerComposeVersionV2), (Get-DockerWincredVersion), (Get-GHCVersion), (Get-GitVersion), diff --git a/images/win/scripts/SoftwareReport/SoftwareReport.Tools.psm1 b/images/win/scripts/SoftwareReport/SoftwareReport.Tools.psm1 index d14a9adc0..175ff9c4c 100644 --- a/images/win/scripts/SoftwareReport/SoftwareReport.Tools.psm1 +++ b/images/win/scripts/SoftwareReport/SoftwareReport.Tools.psm1 @@ -56,9 +56,13 @@ function Get-DockerVersion { } function Get-DockerComposeVersion { - $(docker-compose --version) -match "docker-compose version (?\d+\.\d+\.\d+)" | Out-Null - $dockerComposeVersion = $Matches.Version - return "Docker-compose $dockerComposeVersion" + $dockerComposeVersion = docker-compose version --short + return "Docker Compose v1 $dockerComposeVersion" +} + +function Get-DockerComposeVersionV2 { + $dockerComposeVersion = docker compose version --short + return "Docker Compose v2 $dockerComposeVersion" } function Get-DockerWincredVersion { diff --git a/images/win/scripts/Tests/Docker.Tests.ps1 b/images/win/scripts/Tests/Docker.Tests.ps1 index 1a87c924f..4e6a27cde 100644 --- a/images/win/scripts/Tests/Docker.Tests.ps1 +++ b/images/win/scripts/Tests/Docker.Tests.ps1 @@ -10,6 +10,10 @@ Describe "Docker" { "docker-credential-wincred version" | Should -ReturnZeroExitCode } + It "docker compose v2" { + "docker compose version" | Should -ReturnZeroExitCode + } + It "docker service is up" { "docker images" | Should -ReturnZeroExitCode }