...
1variable "GO_VERSION" {
2 default = "1.20.6"
3}
4
5# Defines the output folder
6variable "DESTDIR" {
7 default = ""
8}
9function "bindir" {
10 params = [defaultdir]
11 result = DESTDIR != "" ? DESTDIR : "./bin/${defaultdir}"
12}
13
14target "_common" {
15 args = {
16 GO_VERSION = GO_VERSION
17 }
18}
19
20group "default" {
21 targets = ["binaries"]
22}
23
24group "validate" {
25 targets = ["lint", "vendor-validate"]
26}
27
28target "lint" {
29 inherits = ["_common"]
30 target = "lint"
31 output = ["type=cacheonly"]
32}
33
34target "vendor-validate" {
35 inherits = ["_common"]
36 target = "vendor-validate"
37 output = ["type=cacheonly"]
38}
39
40target "vendor" {
41 inherits = ["_common"]
42 target = "vendor-update"
43 output = ["."]
44}
45
46target "test" {
47 inherits = ["_common"]
48 target = "test-coverage"
49 output = [bindir("coverage")]
50}
51
52target "binaries" {
53 inherits = ["_common"]
54 target = "binaries"
55 output = [bindir("build")]
56 platforms = [
57 "darwin/amd64",
58 "darwin/arm64",
59 "linux/amd64",
60 "linux/arm64",
61 "linux/arm/v7",
62 "linux/arm/v6",
63 "linux/ppc64le",
64 "linux/s390x",
65 "windows/amd64",
66 "windows/arm64"
67 ]
68}
69
70target "release" {
71 inherits = ["binaries"]
72 target = "release"
73 output = [bindir("release")]
74}
View as plain text