Get back container tools on Ubuntu 18&20 (#5611)

This commit is contained in:
Mikhail Timofeev
2022-05-25 20:25:12 +04:00
committed by GitHub
parent 102af04076
commit 4393b58dce
6 changed files with 38 additions and 9 deletions

View File

@@ -120,6 +120,9 @@ $toolsList = @(
(Get-DockerComposeV2Version), (Get-DockerComposeV2Version),
(Get-DockerBuildxVersion), (Get-DockerBuildxVersion),
(Get-DockerAmazonECRCredHelperVersion), (Get-DockerAmazonECRCredHelperVersion),
(Get-BuildahVersion),
(Get-PodManVersion),
(Get-SkopeoVersion),
(Get-GitVersion), (Get-GitVersion),
(Get-GitLFSVersion), (Get-GitLFSVersion),
(Get-GitFTPVersion), (Get-GitFTPVersion),
@@ -155,13 +158,6 @@ if ((Test-IsUbuntu18) -or (Test-IsUbuntu20)) {
(Get-HHVMVersion) (Get-HHVMVersion)
) )
} }
if (Test-IsUbuntu22) {
$toolsList += @(
(Get-BuildahVersion),
(Get-PodManVersion),
(Get-SkopeoVersion)
)
}
if ((Test-IsUbuntu20) -or (Test-IsUbuntu22)) { if ((Test-IsUbuntu20) -or (Test-IsUbuntu22)) {
$toolsList += (Get-FastlaneVersion) $toolsList += (Get-FastlaneVersion)

View File

@@ -42,16 +42,28 @@ function Get-CodeQLBundleVersion {
function Get-PodManVersion { function Get-PodManVersion {
$podmanVersion = podman --version | Take-OutputPart -Part 2 $podmanVersion = podman --version | Take-OutputPart -Part 2
if ((Test-IsUbuntu18) -or (Test-IsUbuntu20)) {
$aptSourceRepo = Get-AptSourceRepository -PackageName "containers"
return "Podman $podmanVersion (apt source repository: $aptSourceRepo)"
}
return "Podman $podmanVersion" return "Podman $podmanVersion"
} }
function Get-BuildahVersion { function Get-BuildahVersion {
$buildahVersion = buildah --version | Take-OutputPart -Part 2 $buildahVersion = buildah --version | Take-OutputPart -Part 2
if ((Test-IsUbuntu18) -or (Test-IsUbuntu20)) {
$aptSourceRepo = Get-AptSourceRepository -PackageName "containers"
return "Buildah $buildahVersion (apt source repository: $aptSourceRepo)"
}
return "Buildah $buildahVersion" return "Buildah $buildahVersion"
} }
function Get-SkopeoVersion { function Get-SkopeoVersion {
$skopeoVersion = skopeo --version | Take-OutputPart -Part 2 $skopeoVersion = skopeo --version | Take-OutputPart -Part 2
if ((Test-IsUbuntu18) -or (Test-IsUbuntu20)) {
$aptSourceRepo = Get-AptSourceRepository -PackageName "containers"
return "Skopeo $skopeoVersion (apt source repository: $aptSourceRepo)"
}
return "Skopeo $skopeoVersion" return "Skopeo $skopeoVersion"
} }

View File

@@ -4,11 +4,30 @@
## Desc: Installs container tools: podman, buildah and skopeo onto the image ## Desc: Installs container tools: podman, buildah and skopeo onto the image
################################################################################ ################################################################################
source $HELPER_SCRIPTS/os.sh
install_packages=(podman buildah skopeo) install_packages=(podman buildah skopeo)
# Packages is available in the official Ubuntu upstream starting from Ubuntu 21
if isUbuntu18 || isUbuntu20; then
REPO_URL="https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable"
source /etc/os-release
sh -c "echo 'deb ${REPO_URL}/x${NAME}_${VERSION_ID}/ /' > /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list"
wget -qnv https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable/x${NAME}_${VERSION_ID}/Release.key -O Release.key
apt-key add Release.key
fi
# Install podman, buildah, scopeo container's tools # Install podman, buildah, scopeo container's tools
apt-get -qq -y install ${install_packages[@]} apt-get update
apt-get -y install ${install_packages[@]}
mkdir -p /etc/containers mkdir -p /etc/containers
echo -e "[registries.search]\nregistries = ['docker.io', 'quay.io']" | tee /etc/containers/registries.conf echo -e "[registries.search]\nregistries = ['docker.io', 'quay.io']" | tee /etc/containers/registries.conf
if isUbuntu18 || isUbuntu20; then
# Remove source repo
rm /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list
# Document source repo
echo "containers $REPO_URL" >> $HELPER_SCRIPTS/apt-sources.txt
fi
invoke_tests "Tools" "Containers" invoke_tests "Tools" "Containers"

View File

@@ -338,7 +338,7 @@ Describe "GraalVM" -Skip:(Test-IsUbuntu18) {
} }
} }
Describe "Containers" -Skip:(-not (Test-IsUbuntu22)) { Describe "Containers" {
$testCases = @("podman", "buildah", "skopeo") | ForEach-Object { @{ContainerCommand = $_} } $testCases = @("podman", "buildah", "skopeo") | ForEach-Object { @{ContainerCommand = $_} }
It "<ContainerCommand>" -TestCases $testCases { It "<ContainerCommand>" -TestCases $testCases {

View File

@@ -199,6 +199,7 @@
"{{template_dir}}/scripts/installers/swift.sh", "{{template_dir}}/scripts/installers/swift.sh",
"{{template_dir}}/scripts/installers/cmake.sh", "{{template_dir}}/scripts/installers/cmake.sh",
"{{template_dir}}/scripts/installers/codeql-bundle.sh", "{{template_dir}}/scripts/installers/codeql-bundle.sh",
"{{template_dir}}/scripts/installers/containers.sh",
"{{template_dir}}/scripts/installers/dotnetcore-sdk.sh", "{{template_dir}}/scripts/installers/dotnetcore-sdk.sh",
"{{template_dir}}/scripts/installers/erlang.sh", "{{template_dir}}/scripts/installers/erlang.sh",
"{{template_dir}}/scripts/installers/firefox.sh", "{{template_dir}}/scripts/installers/firefox.sh",

View File

@@ -200,6 +200,7 @@
"{{template_dir}}/scripts/installers/swift.sh", "{{template_dir}}/scripts/installers/swift.sh",
"{{template_dir}}/scripts/installers/cmake.sh", "{{template_dir}}/scripts/installers/cmake.sh",
"{{template_dir}}/scripts/installers/codeql-bundle.sh", "{{template_dir}}/scripts/installers/codeql-bundle.sh",
"{{template_dir}}/scripts/installers/containers.sh",
"{{template_dir}}/scripts/installers/dotnetcore-sdk.sh", "{{template_dir}}/scripts/installers/dotnetcore-sdk.sh",
"{{template_dir}}/scripts/installers/erlang.sh", "{{template_dir}}/scripts/installers/erlang.sh",
"{{template_dir}}/scripts/installers/firefox.sh", "{{template_dir}}/scripts/installers/firefox.sh",