blob: d594e58d4ffa1a2004a335b0f627d7bee0d73460 [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(
Lorenz Brund13c1c62022-03-30 19:58:58 +02007 name = "smoketest_lib",
Lorenz Brun30167f52021-03-17 17:49:01 +01008 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 ],
Lorenz Brund13c1c62022-03-30 19:58:58 +020027 embed = [":smoketest_lib"],
Lorenz Brun30167f52021-03-17 17:49:01 +010028 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)