blob: cd218615ab51b26da2d4aaa54fab3eb0bde496d7 [file] [log] [blame]
Mateusz Zalega43e21072021-10-08 18:05:29 +02001load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")
Mateusz Zalega098a8632021-12-08 15:51:24 +01002load("//metropolis/node/build:efi.bzl", "efi_unified_kernel_image")
Mateusz Zalega43e21072021-10-08 18:05:29 +02003
4go_test(
5 name = "installer",
Mateusz Zalega898125b2022-04-25 13:38:35 +02006 size = "medium",
Mateusz Zalega43e21072021-10-08 18:05:29 +02007 data = [
Mateusz Zalega098a8632021-12-08 15:51:24 +01008 ":kernel",
Mateusz Zalegaedffbb52022-01-11 15:27:22 +01009 "//metropolis/installer/test/testos:testos_bundle",
Mateusz Zalega43e21072021-10-08 18:05:29 +020010 "//third_party/edk2:firmware",
11 "@qemu//:qemu-x86_64-softmmu",
12 ],
Lorenz Brund13c1c62022-03-30 19:58:58 +020013 embed = [":test"],
Mateusz Zalega43e21072021-10-08 18:05:29 +020014 rundir = ".",
15)
16
17go_library(
Lorenz Brund13c1c62022-03-30 19:58:58 +020018 name = "test",
Mateusz Zalega43e21072021-10-08 18:05:29 +020019 srcs = ["main.go"],
Mateusz Zalegaedffbb52022-01-11 15:27:22 +010020 importpath = "source.monogon.dev/metropolis/installer/test",
Mateusz Zalega43e21072021-10-08 18:05:29 +020021 visibility = ["//visibility:private"],
22 deps = [
Lorenz Brund13c1c62022-03-30 19:58:58 +020023 "//metropolis/cli/metroctl/core",
24 "//metropolis/cli/pkg/datafile",
25 "//metropolis/node/build/mkimage/osimage",
Mateusz Zalegaf1234a92022-06-22 13:57:38 +020026 "//metropolis/pkg/cmd",
Lorenz Brund13c1c62022-03-30 19:58:58 +020027 "//metropolis/proto/api",
28 "@com_github_diskfs_go_diskfs//:go-diskfs",
29 "@com_github_diskfs_go_diskfs//disk",
30 "@com_github_diskfs_go_diskfs//partition/gpt",
Mateusz Zalega43e21072021-10-08 18:05:29 +020031 ],
32)
Mateusz Zalega098a8632021-12-08 15:51:24 +010033
34efi_unified_kernel_image(
35 name = "kernel",
36 cmdline = "loglevel=0 console=ttyS0",
Lorenz Brun304d42c2022-02-24 17:53:08 +010037 initrd = ["//metropolis/installer:initramfs"],
Mateusz Zalega098a8632021-12-08 15:51:24 +010038 kernel = "//third_party/linux",
39 visibility = ["//visibility:private"],
40)