blob: 7fe529da2a919eaee246a09d718a4ecbbe412a29 [file] [log] [blame]
Lorenz Brun30167f52021-03-17 17:49:01 +01001load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library")
2load("@io_bazel_rules_docker//container:container.bzl", "container_image")
3load("//metropolis/node/build:def.bzl", "node_initramfs")
4load("//build/static_binary_tarball:def.bzl", "static_binary_tarball")
5
6go_library(
7 name = "go_default_library",
8 srcs = ["main.go"],
9 importpath = "source.monogon.dev/metropolis/vm/smoketest",
10 visibility = ["//visibility:private"],
11)
12
13node_initramfs(
14 name = "initramfs",
15 files = {
16 "//metropolis/vm/smoketest/payload": "/init",
17 },
18)
19
20go_binary(
21 name = "smoketest",
22 data = [
23 ":initramfs",
24 "//metropolis/test/ktest:linux-testing",
25 "@qemu//:qemu-x86_64-softmmu",
26 ],
27 embed = [":go_default_library"],
28 visibility = ["//visibility:public"],
29)
30
31static_binary_tarball(
32 name = "smoketest_layer",
33 executable = ":smoketest",
34)
35
36container_image(
37 name = "smoketest_container",
38 base = "@go_image_base//image",
39 entrypoint = ["/app/metropolis/vm/smoketest/smoketest_/smoketest"],
40 tars = [":smoketest_layer"],
41 visibility = ["//visibility:public"],
42 workdir = "/app",
43)