-
Notifications
You must be signed in to change notification settings - Fork 86
/
BUILD
61 lines (56 loc) · 1.77 KB
/
BUILD
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
load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library")
load("@io_bazel_rules_docker//container:container.bzl", "container_image")
load("@io_bazel_rules_docker//go:image.bzl", "go_image")
# Use the go_binary rule to create an executable from our main file. Depend on
# the static_content we created above so they are included.
go_binary(
name = "buildbuddy",
args = [
"--config_file=config/buildbuddy.local.yaml",
"--max_shutdown_duration=3s",
"--static_directory=/static",
"--app_directory=/app",
],
data = [
"//:config_files",
"//app:app_bundle",
"//app:sha",
"//app:style.css",
"//static",
],
embed = [":buildbuddy_lib"],
visibility = ["//visibility:public"],
)
# Build a docker image similar to the go_binary above, but use the "go_image"
# rule from @io_bazel_rules_docker instead, which creates a docker image.
container_image(
name = "base_image",
base = "@buildbuddy_go_image_base//image",
symlinks = {
"config.yaml": "app/server/cmd/buildbuddy/buildbuddy.runfiles/buildbuddy/config/buildbuddy.release.yaml",
},
tags = ["no-cache"],
visibility = ["//visibility:public"],
)
go_image(
name = "buildbuddy_image",
base = ":base_image",
binary = ":buildbuddy",
visibility = ["//visibility:public"],
)
go_library(
name = "buildbuddy_lib",
srcs = ["main.go"],
importpath = "github.com/buildbuddy-io/buildbuddy/server/cmd/buildbuddy",
visibility = [":__subpackages__"],
deps = [
"//server/config",
"//server/janitor",
"//server/libmain",
"//server/telemetry",
"//server/util/flagutil/yaml",
"//server/util/healthcheck",
"//server/util/log",
"//server/version",
],
)