Update images

- replace shell script with pwsh
- add more tools from actions/virtual-environments
- fixup pwsh modules installation
- install node 12 and 16 in base
- add node 14 in js-*
- build rust images
- restrict flavours to amd64 only for now
- add helper scripts from actions/virtual-environments
- overhaul build and dockerfile
This commit is contained in:
Ryan
2022-02-23 20:58:25 +01:00
committed by GitHub
parent 31d391457e
commit 2615f18d2a
21 changed files with 563 additions and 180 deletions
+56 -20
View File
@@ -1,30 +1,64 @@
param(
$slug = 'catthehacker/ubuntu',
$tag,
$node = '12',
$distro = 'ubuntu',
$type,
$image = 'ubuntu',
$platforms = 'linux/amd64',
$build_version = "master",
$build_tag,
$build_tag_version = "dev",
$build_ref = 'master',
$from_image,
$from_tag,
$runner
[Parameter(ValueFromPipeline)]
[string]$progress,
[Parameter(ValueFromPipeline)]
[string]$owner = "${env:IMAGE_LABEL_OWNER}",
[Parameter(ValueFromPipeline)]
[string]$repository = "${env:IMAGE_LABEL_REPO}",
[Parameter(ValueFromPipeline)]
[string]$slug = 'catthehacker/ubuntu',
[Parameter(ValueFromPipeline)]
[string[]]$tags,
[Parameter(ValueFromPipeline)]
[string]$tag,
[Parameter(ValueFromPipeline)]
[string]$node = "${env:NODE}",
[Parameter(ValueFromPipeline)]
[string]$distro = 'ubuntu',
[Parameter(ValueFromPipeline)]
[string]$type = "${env:TYPE}",
[Parameter(ValueFromPipeline)]
[string]$runner = "${env:RUNNER}",
[Parameter(ValueFromPipeline)]
[string]$image = 'ubuntu',
[Parameter(ValueFromPipeline)]
[string]$platforms = "${env:PLATFORMS}",
[Parameter(ValueFromPipeline)]
[string]$build_tag = "${env:BUILD_TAG}",
[Parameter(ValueFromPipeline)]
[string]$build_tag_version = "${env:BUILD_TAG_VERSION}",
[Parameter(ValueFromPipeline)]
[string]$build_ref = "${env:BUILD_REF}",
[Parameter(ValueFromPipeline)]
[string]$from_image = "${env:FROM_IMAGE}",
[Parameter(ValueFromPipeline)]
[string]$from_tag = "${env:FROM_TAG}",
[Parameter(ValueFromPipeline)]
[switch]$push
)
& (Get-Command 'docker').source @(
$arguments = @(
'buildx',
'build',
'--progress=plain',
"--tag=ghcr.io/${slug}:${tag}",
"--tag=quay.io/${slug}:${tag}",
"--tag=docker.io/${slug}:${tag}",
'build'
)
$arguments += $push -eq $True ? @("--push") : @()
$arguments += $progress -ne 'plain' ? @("--progress=$progress") : @("--progress=plain")
$tags.Count -ne 0 ? ($tags | ForEach-Object { $arguments += @("--tag=$_") }) : ""
$arguments += $tag -ne '' ? @("--tag=$tag") : @()
$arguments += @(
"--build-arg=NODE_VERSION=${node}",
"--build-arg=DISTRO=${distro}",
"--build-arg=TYPE=${type}",
"--build-arg=RUNNER=${runner}",
"--build-arg=BUILD_DATE=$((Get-Date).ToString('u'))",
"--build-arg=BUILD_OWNER=${owner}",
"--build-arg=BUILD_OWNER_MAIL=${owner}",
"--build-arg=BUILD_REPO=${repository}",
"--build-arg=BUILD_TAG=${build_tag}",
"--build-arg=BUILD_TAG_VERSION=${build_tag_version}",
"--build-arg=BUILD_REF=${build_ref}",
@@ -34,3 +68,5 @@ param(
"--platform=${platforms}",
'.'
)
& (Get-Command 'docker').source $arguments