-
Notifications
You must be signed in to change notification settings - Fork 607
Expand file tree
/
Copy pathBUILD.bazel
More file actions
90 lines (81 loc) · 1.99 KB
/
BUILD.bazel
File metadata and controls
90 lines (81 loc) · 1.99 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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
load("@gazelle//:def.bzl", "gazelle")
load("@rules_go//go:def.bzl", "go_binary", "go_library", "nogo")
load("@rules_oci//oci:defs.bzl", "oci_image", "oci_load")
load("@rules_pkg//pkg:tar.bzl", "pkg_tar")
gazelle(name = "gazelle")
go_library(
name = "unkey_lib",
srcs = ["main.go"],
importpath = "github.com/unkeyed/unkey",
visibility = ["//visibility:private"],
deps = [
"//cmd/deploy",
"//cmd/dev",
"//cmd/frontline",
"//cmd/healthcheck",
"//cmd/run",
"//cmd/version",
"//pkg/cli",
"//pkg/version",
],
)
go_binary(
name = "unkey",
out = "bin/unkey",
embed = [":unkey_lib"],
pure = "on",
visibility = ["//visibility:public"],
)
go_binary(
name = "unkey_linux_amd64",
out = "bin/unkey",
embed = [":unkey_lib"],
goarch = "amd64",
goos = "linux",
pure = "on",
visibility = ["//visibility:private"],
)
go_binary(
name = "unkey_linux_arm64",
out = "bin/unkey",
embed = [":unkey_lib"],
goarch = "arm64",
goos = "linux",
pure = "on",
visibility = ["//visibility:private"],
)
pkg_tar(
name = "unkey_tar",
srcs = select({
"@platforms//cpu:arm64": [":unkey_linux_arm64"],
"@platforms//cpu:x86_64": [":unkey_linux_amd64"],
"//conditions:default": [":unkey_linux_amd64"],
}),
package_dir = "/",
strip_prefix = "bin",
)
oci_image(
name = "unkey_image",
base = "@distroless_static",
entrypoint = ["/unkey"],
tars = [":unkey_tar"],
)
oci_load(
name = "oci_load_unkey",
image = ":unkey_image",
repo_tags = ["unkey/unkey:latest"],
visibility = ["//visibility:public"],
)
nogo(
name = "my_nogo",
visibility = ["//visibility:public"],
deps = [
"//dev/linters/errcheck",
"//dev/linters/exhaustive",
"//dev/linters/exhaustruct",
"//dev/linters/govet",
"//dev/linters/ineffassign",
"//dev/linters/reassign",
"//dev/linters/unused",
],
)