2023-01-01 16:53:01 +00:00
|
|
|
variable "APT_MIRROR" {
|
|
|
|
default = "cdn-fastly.deb.debian.org"
|
|
|
|
}
|
|
|
|
variable "DOCKER_DEBUG" {
|
|
|
|
default = ""
|
|
|
|
}
|
2022-12-04 01:32:45 +00:00
|
|
|
variable "DOCKER_STATIC" {
|
|
|
|
default = "1"
|
|
|
|
}
|
2023-01-01 16:53:01 +00:00
|
|
|
variable "DOCKER_LDFLAGS" {
|
|
|
|
default = ""
|
|
|
|
}
|
|
|
|
variable "DOCKER_BUILDTAGS" {
|
|
|
|
default = ""
|
|
|
|
}
|
|
|
|
variable "DOCKER_GITCOMMIT" {
|
|
|
|
default = "HEAD"
|
|
|
|
}
|
|
|
|
|
|
|
|
# Docker version such as 23.0.0-dev. Automatically generated through Git ref.
|
|
|
|
variable "VERSION" {
|
|
|
|
default = ""
|
|
|
|
}
|
|
|
|
|
|
|
|
# The platform name, such as "Docker Engine - Community".
|
|
|
|
variable "PLATFORM" {
|
|
|
|
default = ""
|
|
|
|
}
|
|
|
|
|
|
|
|
# The product name, used to set version.ProductName, which is used to set
|
|
|
|
# BuildKit's ExportedProduct variable in order to show useful error messages
|
|
|
|
# to users when a certain version of the product doesn't support a BuildKit feature.
|
|
|
|
variable "PRODUCT" {
|
|
|
|
default = ""
|
|
|
|
}
|
|
|
|
|
|
|
|
# Sets the version.DefaultProductLicense string, such as "Community Engine".
|
|
|
|
# This field can contain a summary of the product license of the daemon if a
|
|
|
|
# commercial license has been applied to the daemon.
|
|
|
|
variable "DEFAULT_PRODUCT_LICENSE" {
|
|
|
|
default = ""
|
|
|
|
}
|
|
|
|
|
|
|
|
# The name of the packager (e.g. "Docker, Inc."). This used to set CompanyName
|
|
|
|
# in the manifest.
|
|
|
|
variable "PACKAGER_NAME" {
|
|
|
|
default = ""
|
|
|
|
}
|
2022-03-14 05:33:50 +00:00
|
|
|
|
2022-12-26 17:46:26 +00:00
|
|
|
# GITHUB_REF is the actual ref that triggers the workflow and used as version
|
|
|
|
# when tag is pushed: https://docs.github.com/en/actions/learn-github-actions/environment-variables#default-environment-variables
|
|
|
|
variable "GITHUB_REF" {
|
|
|
|
default = ""
|
|
|
|
}
|
|
|
|
|
|
|
|
# GITHUB_SHA is the commit SHA that triggered the workflow and used as commit.
|
|
|
|
# https://docs.github.com/en/actions/learn-github-actions/environment-variables#default-environment-variables
|
|
|
|
variable "GITHUB_SHA" {
|
|
|
|
default = ""
|
|
|
|
}
|
|
|
|
|
2022-12-26 16:45:50 +00:00
|
|
|
# Defines the output folder
|
|
|
|
variable "DESTDIR" {
|
|
|
|
default = ""
|
|
|
|
}
|
|
|
|
function "bindir" {
|
|
|
|
params = [defaultdir]
|
|
|
|
result = DESTDIR != "" ? DESTDIR : "./bundles/${defaultdir}"
|
|
|
|
}
|
|
|
|
|
2022-03-14 05:33:50 +00:00
|
|
|
target "_common" {
|
|
|
|
args = {
|
|
|
|
BUILDKIT_CONTEXT_KEEP_GIT_DIR = 1
|
2023-01-01 16:53:01 +00:00
|
|
|
APT_MIRROR = APT_MIRROR
|
|
|
|
DOCKER_DEBUG = DOCKER_DEBUG
|
2022-12-04 01:32:45 +00:00
|
|
|
DOCKER_STATIC = DOCKER_STATIC
|
2023-01-01 16:53:01 +00:00
|
|
|
DOCKER_LDFLAGS = DOCKER_LDFLAGS
|
|
|
|
DOCKER_BUILDTAGS = DOCKER_BUILDTAGS
|
2022-12-26 17:46:26 +00:00
|
|
|
DOCKER_GITCOMMIT = DOCKER_GITCOMMIT != "" ? DOCKER_GITCOMMIT : GITHUB_SHA
|
|
|
|
VERSION = VERSION != "" ? VERSION : GITHUB_REF
|
2023-01-01 16:53:01 +00:00
|
|
|
PLATFORM = PLATFORM
|
|
|
|
PRODUCT = PRODUCT
|
|
|
|
DEFAULT_PRODUCT_LICENSE = DEFAULT_PRODUCT_LICENSE
|
|
|
|
PACKAGER_NAME = PACKAGER_NAME
|
2022-03-14 05:33:50 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
group "default" {
|
|
|
|
targets = ["binary"]
|
|
|
|
}
|
|
|
|
|
2023-01-01 16:47:17 +00:00
|
|
|
target "_platforms" {
|
|
|
|
platforms = [
|
|
|
|
"linux/amd64",
|
|
|
|
"linux/arm/v5",
|
|
|
|
"linux/arm/v6",
|
|
|
|
"linux/arm/v7",
|
|
|
|
"linux/arm64",
|
|
|
|
"linux/ppc64le",
|
|
|
|
"linux/s390x",
|
|
|
|
"windows/amd64"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
|
|
|
|
#
|
|
|
|
# build dockerd and docker-proxy
|
|
|
|
#
|
|
|
|
|
2022-03-14 05:33:50 +00:00
|
|
|
target "binary" {
|
|
|
|
inherits = ["_common"]
|
|
|
|
target = "binary"
|
2022-12-26 16:45:50 +00:00
|
|
|
output = [bindir(DOCKER_STATIC == "1" ? "binary" : "dynbinary")]
|
2022-03-14 05:33:50 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
target "dynbinary" {
|
2022-04-10 19:03:54 +00:00
|
|
|
inherits = ["binary"]
|
2022-12-26 16:45:50 +00:00
|
|
|
output = [bindir("dynbinary")]
|
2022-04-10 19:03:54 +00:00
|
|
|
args = {
|
2023-01-01 16:47:17 +00:00
|
|
|
DOCKER_STATIC = "0"
|
2022-04-10 19:03:54 +00:00
|
|
|
}
|
2023-01-01 16:47:17 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
target "binary-cross" {
|
|
|
|
inherits = ["binary", "_platforms"]
|
2022-04-10 19:03:54 +00:00
|
|
|
}
|
2022-08-27 13:05:22 +00:00
|
|
|
|
|
|
|
#
|
|
|
|
# dev
|
|
|
|
#
|
|
|
|
|
|
|
|
variable "DEV_IMAGE" {
|
|
|
|
default = "docker-dev"
|
|
|
|
}
|
|
|
|
variable "SYSTEMD" {
|
|
|
|
default = "false"
|
|
|
|
}
|
|
|
|
|
|
|
|
target "dev" {
|
|
|
|
inherits = ["_common"]
|
|
|
|
target = "final"
|
|
|
|
args = {
|
|
|
|
SYSTEMD = SYSTEMD
|
|
|
|
}
|
|
|
|
tags = [DEV_IMAGE]
|
|
|
|
output = ["type=docker"]
|
|
|
|
}
|