-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-bake.hcl
More file actions
54 lines (49 loc) · 1.88 KB
/
docker-bake.hcl
File metadata and controls
54 lines (49 loc) · 1.88 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
// docker-bake.hcl
variable "IMAGE_NAME" {
default = "ghcr.io/getdevopspro/jetson-linux-builder"
}
variable "JETSON_VERSION_PAIRS" {
# IMPORTANT: latest always be the first element in the list
default = ["36.4.3,jammy", "35.6.1,focal"]
}
function "jetson_version" {
params = [jetson_version_pair]
result = split(",", jetson_version_pair)[0]
}
function "jetson_ubuntu_release" {
params = [jetson_version_pair]
result = split(",", jetson_version_pair)[1]
}
target "docker-metadata-action" {}
target "build" {
inherits = ["docker-metadata-action"]
context = "./"
dockerfile = "Dockerfile"
name = "${replace(sanitize(IMAGE_NAME), "_", "-")}-${replace(sanitize(jetson_version(jetson_version_pair)), "_", "-")}"
platforms = [
"linux/amd64",
]
matrix = {
jetson_version_pair = JETSON_VERSION_PAIRS
}
args = {
JETSON_VERSION = jetson_version(jetson_version_pair),
JETSON_VERSION_MAJOR = split(".", jetson_version(jetson_version_pair))[0],
JETSON_VERSION_MINOR = split(".", jetson_version(jetson_version_pair))[1],
JETSON_VERSION_PATCH = split(".", jetson_version(jetson_version_pair))[2],
ARG_IMAGE_FROM = "docker.io/ubuntu:${jetson_ubuntu_release(jetson_version_pair)}",
}
tags = concat(
jetson_version_pair == JETSON_VERSION_PAIRS[0] ? ["${IMAGE_NAME}:latest"] : [],
[
"${IMAGE_NAME}:${split(".", jetson_version(jetson_version_pair))[0]}",
"${IMAGE_NAME}:${split(".", jetson_version(jetson_version_pair))[0]}.${split(".", jetson_version(jetson_version_pair))[1]}",
"${IMAGE_NAME}:${jetson_version(jetson_version_pair)}",
"${IMAGE_NAME}:${jetson_version(jetson_version_pair)}-${formatdate("YYYYMMDDhhmm", timestamp())}",
]
)
labels = {
"manifest:org.opencontainers.image.version" : jetson_version(jetson_version_pair)
"org.opencontainers.image.version" = jetson_version(jetson_version_pair)
}
}