blob: 66e0736703601b72afa0e6ff7d1810370da1281c [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 },
Serge Bazanskia3938142022-04-04 17:04:47 +020018 fsspecs = [
19 "//metropolis/node/build:earlydev.fsspec",
20 ],
Lorenz Brun30167f52021-03-17 17:49:01 +010021)
22
23go_binary(
24 name = "smoketest",
25 data = [
26 ":initramfs",
27 "//metropolis/test/ktest:linux-testing",
28 "@qemu//:qemu-x86_64-softmmu",
29 ],
Lorenz Brund13c1c62022-03-30 19:58:58 +020030 embed = [":smoketest_lib"],
Lorenz Brun30167f52021-03-17 17:49:01 +010031 visibility = ["//visibility:public"],
32)
33
34static_binary_tarball(
35 name = "smoketest_layer",
36 executable = ":smoketest",
37)
38
39container_image(
40 name = "smoketest_container",
41 base = "@go_image_base//image",
42 entrypoint = ["/app/metropolis/vm/smoketest/smoketest_/smoketest"],
43 tars = [":smoketest_layer"],
44 visibility = ["//visibility:public"],
45 workdir = "/app",
46)