2021-12-07 14:07:21 -05:00
|
|
|
variable "GO_VERSION" {
|
update golang to 1.18.1
go1.18.1 (released 2022-04-12) includes security fixes to the crypto/elliptic,
crypto/x509, and encoding/pem packages, as well as bug fixes to the compiler,
linker, runtime, the go command, vet, and the bytes, crypto/x509, and go/types
packages. See the Go 1.18.1 milestone on the issue tracker for details:
https://github.com/golang/go/issues?q=milestone%3AGo1.18.1+label%3ACherryPickApproved
Includes fixes for:
- CVE-2022-24675 (https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-24675)
- CVE-2022-27536 (https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-27536)
- CVE-2022-28327 (https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-28327)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-04-19 03:58:44 -04:00
|
|
|
default = "1.18.1"
|
2021-12-07 14:07:21 -05:00
|
|
|
}
|
2021-03-03 02:03:02 -05:00
|
|
|
variable "VERSION" {
|
|
|
|
default = ""
|
|
|
|
}
|
|
|
|
variable "USE_GLIBC" {
|
|
|
|
default = ""
|
|
|
|
}
|
|
|
|
variable "STRIP_TARGET" {
|
|
|
|
default = ""
|
|
|
|
}
|
2021-11-17 11:18:15 -05:00
|
|
|
variable "IMAGE_NAME" {
|
|
|
|
default = "docker-cli"
|
|
|
|
}
|
2021-03-03 02:03:02 -05:00
|
|
|
|
2021-10-11 10:54:09 -04:00
|
|
|
# Sets the name of the company that produced the windows binary.
|
2022-03-27 04:09:50 -04:00
|
|
|
variable "PACKAGER_NAME" {
|
2021-10-11 10:54:09 -04:00
|
|
|
default = ""
|
|
|
|
}
|
|
|
|
|
2021-12-07 14:07:21 -05:00
|
|
|
target "_common" {
|
|
|
|
args = {
|
|
|
|
GO_VERSION = GO_VERSION
|
|
|
|
BUILDKIT_CONTEXT_KEEP_GIT_DIR = 1
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2021-03-03 02:03:02 -05:00
|
|
|
group "default" {
|
|
|
|
targets = ["binary"]
|
|
|
|
}
|
|
|
|
|
|
|
|
target "binary" {
|
2021-12-07 14:07:21 -05:00
|
|
|
inherits = ["_common"]
|
2021-03-03 02:03:02 -05:00
|
|
|
target = "binary"
|
|
|
|
platforms = ["local"]
|
|
|
|
output = ["build"]
|
|
|
|
args = {
|
2021-12-09 11:16:50 -05:00
|
|
|
BASE_VARIANT = USE_GLIBC != "" ? "bullseye" : "alpine"
|
2021-03-03 02:03:02 -05:00
|
|
|
VERSION = VERSION
|
2022-03-27 04:09:50 -04:00
|
|
|
PACKAGER_NAME = PACKAGER_NAME
|
2021-03-03 02:03:02 -05:00
|
|
|
GO_STRIP = STRIP_TARGET
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
target "dynbinary" {
|
|
|
|
inherits = ["binary"]
|
|
|
|
args = {
|
|
|
|
GO_LINKMODE = "dynamic"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2021-11-17 11:18:15 -05:00
|
|
|
target "plugins" {
|
2021-12-07 14:07:21 -05:00
|
|
|
inherits = ["_common"]
|
2021-11-17 11:18:15 -05:00
|
|
|
target = "plugins"
|
|
|
|
platforms = ["local"]
|
|
|
|
output = ["build"]
|
|
|
|
args = {
|
2021-12-09 11:16:50 -05:00
|
|
|
BASE_VARIANT = USE_GLIBC != "" ? "bullseye" : "alpine"
|
2021-11-17 11:18:15 -05:00
|
|
|
VERSION = VERSION
|
|
|
|
GO_STRIP = STRIP_TARGET
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2021-09-26 12:01:38 -04:00
|
|
|
target "platforms" {
|
|
|
|
platforms = concat(["linux/amd64", "linux/386", "linux/arm64", "linux/arm", "linux/ppc64le", "linux/s390x", "darwin/amd64", "darwin/arm64", "windows/amd64", "windows/arm", "windows/386"], USE_GLIBC!=""?[]:["windows/arm64"])
|
2021-03-03 02:03:02 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
target "cross" {
|
2021-09-26 12:01:38 -04:00
|
|
|
inherits = ["binary", "platforms"]
|
2021-03-03 02:03:02 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
target "dynbinary-cross" {
|
2021-09-26 12:01:38 -04:00
|
|
|
inherits = ["dynbinary", "platforms"]
|
2021-03-03 02:03:02 -05:00
|
|
|
}
|
2021-08-05 02:44:16 -04:00
|
|
|
|
2021-11-17 11:18:15 -05:00
|
|
|
target "plugins-cross" {
|
|
|
|
inherits = ["plugins", "platforms"]
|
|
|
|
}
|
|
|
|
|
2021-08-05 02:44:16 -04:00
|
|
|
target "lint" {
|
2021-12-07 14:07:21 -05:00
|
|
|
inherits = ["_common"]
|
2021-08-05 02:44:16 -04:00
|
|
|
dockerfile = "./dockerfiles/Dockerfile.lint"
|
|
|
|
target = "lint"
|
|
|
|
output = ["type=cacheonly"]
|
|
|
|
}
|
|
|
|
|
|
|
|
target "shellcheck" {
|
2021-12-07 14:07:21 -05:00
|
|
|
inherits = ["_common"]
|
2021-08-05 02:44:16 -04:00
|
|
|
dockerfile = "./dockerfiles/Dockerfile.shellcheck"
|
|
|
|
target = "shellcheck"
|
|
|
|
output = ["type=cacheonly"]
|
|
|
|
}
|
2021-11-17 11:18:15 -05:00
|
|
|
|
2021-12-16 15:15:53 -05:00
|
|
|
target "validate-vendor" {
|
2021-12-07 14:46:43 -05:00
|
|
|
inherits = ["_common"]
|
2021-12-16 15:15:53 -05:00
|
|
|
dockerfile = "./dockerfiles/Dockerfile.vendor"
|
|
|
|
target = "validate"
|
|
|
|
output = ["type=cacheonly"]
|
|
|
|
}
|
|
|
|
|
|
|
|
target "update-vendor" {
|
2021-12-07 14:46:43 -05:00
|
|
|
inherits = ["_common"]
|
2021-12-16 15:15:53 -05:00
|
|
|
dockerfile = "./dockerfiles/Dockerfile.vendor"
|
|
|
|
target = "update"
|
|
|
|
output = ["."]
|
|
|
|
}
|
|
|
|
|
|
|
|
target "mod-outdated" {
|
2021-12-07 14:46:43 -05:00
|
|
|
inherits = ["_common"]
|
2021-12-16 15:15:53 -05:00
|
|
|
dockerfile = "./dockerfiles/Dockerfile.vendor"
|
|
|
|
target = "outdated"
|
|
|
|
args = {
|
2022-01-13 07:47:43 -05:00
|
|
|
// used to invalidate cache (more info https://github.com/moby/buildkit/issues/1213)
|
|
|
|
UUID = uuidv4()
|
2021-12-16 15:15:53 -05:00
|
|
|
}
|
|
|
|
output = ["type=cacheonly"]
|
|
|
|
}
|
|
|
|
|
2021-12-20 19:44:40 -05:00
|
|
|
target "validate-authors" {
|
|
|
|
inherits = ["_common"]
|
|
|
|
dockerfile = "./dockerfiles/Dockerfile.authors"
|
|
|
|
target = "validate"
|
|
|
|
output = ["type=cacheonly"]
|
|
|
|
}
|
|
|
|
|
|
|
|
target "update-authors" {
|
|
|
|
inherits = ["_common"]
|
|
|
|
dockerfile = "./dockerfiles/Dockerfile.authors"
|
|
|
|
target = "update"
|
|
|
|
output = ["."]
|
|
|
|
}
|
|
|
|
|
2021-12-07 08:50:16 -05:00
|
|
|
target "test" {
|
|
|
|
target = "test"
|
|
|
|
output = ["type=cacheonly"]
|
|
|
|
}
|
|
|
|
|
|
|
|
target "test-coverage" {
|
|
|
|
target = "test-coverage"
|
|
|
|
output = ["build/coverage"]
|
|
|
|
}
|
|
|
|
|
2021-11-17 11:18:15 -05:00
|
|
|
target "e2e-image" {
|
|
|
|
target = "e2e"
|
|
|
|
output = ["type=docker"]
|
|
|
|
tags = ["${IMAGE_NAME}"]
|
|
|
|
args = {
|
2021-12-09 11:16:50 -05:00
|
|
|
BASE_VARIANT = USE_GLIBC != "" ? "bullseye" : "alpine"
|
2021-11-17 11:18:15 -05:00
|
|
|
VERSION = VERSION
|
|
|
|
}
|
|
|
|
}
|