s6-rootfs/build/docker-bake.hcl

278 lines
7.9 KiB
HCL
Raw Normal View History

2022-01-14 21:54:59 +01:00
group "default" {
2024-05-15 00:49:58 +02:00
targets = [
"2_1_0_2", "2_2_0_0", "2_2_0_1",
"2_2_0_2", "2_2_0_3", "3_0_0_0",
"3_0_0_1", "3_0_0_2", "3_0_0_2-2",
"3_1_0_0", "3_1_0_1", "3_1_1_0",
"3_1_1_1", "3_1_1_2", "3_1_2_0",
"3_1_2_1", "3_1_3_0", "3_1_4_0",
"3_1_4_1", "3_1_4_2", "3_1_5_0",
2024-05-15 00:53:40 +02:00
"3_1_6_0", "3_1_6_1"
2024-05-15 00:49:58 +02:00
]
2022-01-14 21:54:59 +01:00
}
target "build-dockerfile" {
dockerfile = "Dockerfile"
}
target "build-dockerfile-legacy" {
dockerfile = "Dockerfile.legacy"
}
2022-01-14 21:54:59 +01:00
target "build-platforms" {
2023-06-15 09:58:06 +02:00
platforms = ["linux/amd64", "linux/aarch64"]
2022-01-14 21:54:59 +01:00
}
target "build-common" {
pull = true
}
variable "REGISTRY_CACHE" {
default = "docker.io/nlss/s6-rootfs-cache"
}
######################
# Define the functions
######################
# Get the arguments for the build
function "get-args" {
params = [version]
result = {
S6_OVERLAY_VERSION = version
2022-01-14 21:54:59 +01:00
}
}
# Get the arguments for the build
function "get-args-with-pak-ext" {
params = [version, pak_ext]
result = {
S6_OVERLAY_VERSION = version
S6_OVERLAY_PAK_EXT = pak_ext
2022-01-14 21:54:59 +01:00
}
}
# Get the cache-from configuration
function "get-cache-from" {
params = [version]
result = [
"type=gha,scope=${version}_${BAKE_LOCAL_PLATFORM}",
"type=registry,ref=${REGISTRY_CACHE}:${sha1("${version}-${BAKE_LOCAL_PLATFORM}")}"
]
}
# Get the cache-to configuration
function "get-cache-to" {
params = [version]
result = [
"type=gha,mode=max,scope=${version}_${BAKE_LOCAL_PLATFORM}",
"type=registry,mode=max,ref=${REGISTRY_CACHE}:${sha1("${version}-${BAKE_LOCAL_PLATFORM}")}"
]
}
# Get list of image tags and registries
# Takes a version and a list of extra versions to tag
# eg. get-tags("3.1.4.1", ["3.1", "latest"])
function "get-tags" {
params = [version, extra_versions]
result = concat(
[
2023-04-11 12:43:59 +02:00
"docker.io/nlss/s6-rootfs:${version}",
"ghcr.io/n0rthernl1ghts/s6-rootfs:${version}"
],
flatten([
for extra_version in extra_versions : [
2023-04-11 12:43:59 +02:00
"docker.io/nlss/s6-rootfs:${extra_version}",
"ghcr.io/n0rthernl1ghts/s6-rootfs:${extra_version}"
]
])
)
}
##########################
# Define the build targets
##########################
target "2_1_0_2" {
inherits = ["build-dockerfile-legacy", "build-platforms", "build-common"]
cache-from = get-cache-from("2.1.0.2")
cache-to = get-cache-to("2.1.0.2")
tags = get-tags("2.1.0.2", ["2.1"])
args = get-args("2.1.0.2")
}
target "2_2_0_0" {
inherits = ["build-dockerfile-legacy", "build-platforms", "build-common"]
cache-from = get-cache-from("2.2.0.0")
cache-to = get-cache-to("2.2.0.0")
tags = get-tags("2.2.0.0", [])
args = get-args("2.2.0.0")
}
target "2_2_0_1" {
inherits = ["build-dockerfile-legacy", "build-platforms", "build-common"]
cache-from = get-cache-from("2.2.0.1")
cache-to = get-cache-to("2.2.0.1")
tags = get-tags("2.2.0.1", [])
args = get-args("2.2.0.1")
2022-01-14 21:54:59 +01:00
}
target "2_2_0_2" {
inherits = ["build-dockerfile-legacy", "build-platforms", "build-common"]
cache-from = get-cache-from("2.2.0.2")
cache-to = get-cache-to("2.2.0.2")
tags = get-tags("2.2.0.2", [])
args = get-args("2.2.0.2")
2022-01-14 21:54:59 +01:00
}
target "2_2_0_3" {
inherits = ["build-dockerfile-legacy", "build-platforms", "build-common"]
cache-from = get-cache-from("2.2.0.3")
cache-to = get-cache-to("2.2.0.3")
tags = get-tags("2.2.0.3", ["2.2"])
args = get-args("2.2.0.3")
2022-01-14 21:54:59 +01:00
}
2022-01-26 13:15:33 +01:00
target "3_0_0_0" {
inherits = ["build-dockerfile", "build-platforms", "build-common"]
cache-from = get-cache-from("3.0.0.0-1")
cache-to = get-cache-to("3.0.0.0-1")
tags = get-tags("3.0.0.0", ["3.0.0.0-1"])
args = get-args-with-pak-ext("3.0.0.0-1", "-3.0.0.0-1.tar.xz")
2022-01-30 04:05:32 +01:00
}
target "3_0_0_1" {
inherits = ["build-dockerfile", "build-platforms", "build-common"]
cache-from = get-cache-from("3.0.0.1")
cache-to = get-cache-to("3.0.0.1")
tags = get-tags("3.0.0.1", [])
args = get-args-with-pak-ext("3.0.0.1", "-3.0.0.1.tar.xz")
2022-01-30 04:07:09 +01:00
}
target "3_0_0_2" {
inherits = ["build-dockerfile", "build-platforms", "build-common"]
cache-from = get-cache-from("3.0.0.2")
cache-to = get-cache-to("3.0.0.2")
tags = get-tags("3.0.0.2", [])
args = get-args-with-pak-ext("3.0.0.2", "-3.0.0.2.tar.xz")
2022-09-14 00:11:05 +02:00
}
target "3_0_0_2-2" {
inherits = ["build-dockerfile", "build-platforms", "build-common"]
cache-from = get-cache-from("3.0.0.2-2")
cache-to = get-cache-to("3.0.0.2-2")
tags = get-tags("3.0.0.2-2", ["3.0"])
args = get-args-with-pak-ext("3.0.0.2-2", "-3.0.0.2-2.tar.xz")
2022-09-14 00:11:05 +02:00
}
target "3_1_0_0" {
inherits = ["build-dockerfile", "build-platforms", "build-common"]
cache-from = get-cache-from("3.1.0.0")
cache-to = get-cache-to("3.1.0.0")
tags = get-tags("3.1.0.0", [])
args = get-args("3.1.0.0")
}
target "3_1_0_1" {
inherits = ["build-dockerfile", "build-platforms", "build-common"]
cache-from = get-cache-from("3.1.0.1")
cache-to = get-cache-to("3.1.0.1")
tags = get-tags("3.1.0.1", ["3.1.0"])
args = get-args("3.1.0.1")
}
target "3_1_1_0" {
inherits = ["build-dockerfile", "build-platforms", "build-common"]
cache-from = get-cache-from("3.1.1.0")
cache-to = get-cache-to("3.1.1.0")
tags = get-tags("3.1.1.0", [])
args = get-args("3.1.1.0")
}
target "3_1_1_1" {
inherits = ["build-dockerfile", "build-platforms", "build-common"]
cache-from = get-cache-from("3.1.1.1")
cache-to = get-cache-to("3.1.1.1")
tags = get-tags("3.1.1.1", [])
args = get-args("3.1.1.1")
}
target "3_1_1_2" {
inherits = ["build-dockerfile", "build-platforms", "build-common"]
cache-from = get-cache-from("3.1.1.2")
cache-to = get-cache-to("3.1.1.2")
tags = get-tags("3.1.1.2", ["3.1", "3.1.1"])
args = get-args("3.1.1.2")
}
target "3_1_2_0" {
inherits = ["build-dockerfile", "build-platforms", "build-common"]
cache-from = get-cache-from("3.1.2.0")
cache-to = get-cache-to("3.1.2.0")
tags = get-tags("3.1.2.0", [])
args = get-args("3.1.2.0")
}
target "3_1_2_1" {
inherits = ["build-dockerfile", "build-platforms", "build-common"]
cache-from = get-cache-from("3.1.2.1")
cache-to = get-cache-to("3.1.2.1")
tags = get-tags("3.1.2.1", ["3.1.2"])
args = get-args("3.1.2.1")
2023-03-17 17:10:14 +01:00
}
target "3_1_3_0" {
inherits = ["build-dockerfile", "build-platforms", "build-common"]
cache-from = get-cache-from("3.1.3.0")
cache-to = get-cache-to("3.1.3.0")
tags = get-tags("3.1.3.0", ["3.1.3"])
args = get-args("3.1.3.0")
2023-03-17 17:12:35 +01:00
}
target "3_1_4_0" {
inherits = ["build-dockerfile", "build-platforms", "build-common"]
cache-from = get-cache-from("3.1.4.0")
cache-to = get-cache-to("3.1.4.0")
tags = get-tags("3.1.4.0", [])
args = get-args("3.1.4.0")
2023-03-17 17:15:31 +01:00
}
target "3_1_4_1" {
inherits = ["build-dockerfile", "build-platforms", "build-common"]
cache-from = get-cache-from("3.1.4.1")
cache-to = get-cache-to("3.1.4.1")
2023-04-11 12:21:29 +02:00
tags = get-tags("3.1.4.1", [])
args = get-args("3.1.4.1")
2023-04-11 12:21:29 +02:00
}
target "3_1_4_2" {
inherits = ["build-dockerfile", "build-platforms", "build-common"]
cache-from = get-cache-from("3.1.4.2")
cache-to = get-cache-to("3.1.4.2")
2024-05-15 00:47:46 +02:00
tags = get-tags("3.1.4.2", ["3.1.4"])
2023-04-11 12:21:29 +02:00
args = get-args("3.1.4.2")
2023-06-15 09:58:06 +02:00
}
2024-05-15 00:47:46 +02:00
target "3_1_5_0" {
inherits = ["build-dockerfile", "build-platforms", "build-common"]
cache-from = get-cache-from("3.1.5.0")
cache-to = get-cache-to("3.1.5.0")
2024-05-15 00:49:58 +02:00
tags = get-tags("3.1.5.0", ["3.1.5"])
2024-05-15 00:47:46 +02:00
args = get-args("3.1.5.0")
2024-05-15 00:49:58 +02:00
}
target "3_1_6_0" {
inherits = ["build-dockerfile", "build-platforms", "build-common"]
cache-from = get-cache-from("3.1.6.0")
cache-to = get-cache-to("3.1.6.0")
2024-05-15 00:53:40 +02:00
tags = get-tags("3.1.6.0", [])
2024-05-15 00:49:58 +02:00
args = get-args("3.1.6.0")
2024-05-15 00:53:40 +02:00
}
target "3_1_6_1" {
inherits = ["build-dockerfile", "build-platforms", "build-common"]
cache-from = get-cache-from("3.1.6.1")
cache-to = get-cache-to("3.1.6.1")
tags = get-tags("3.1.6.1", ["3.1", "3.1.6", "latest"])
args = get-args("3.1.6.1")
2024-05-15 00:47:46 +02:00
}