blob: 09901502aaf7572387aeb0f0717c7c9547ecd29b [file] [log] [blame]
Tim Windelschmidt0974b222024-01-16 14:04:15 +01001load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library")
Serge Bazanski9104e382023-04-04 20:08:21 +02002
3go_library(
Tim Windelschmidt0974b222024-01-16 14:04:15 +01004 name = "selftest_lib",
Serge Bazanski9104e382023-04-04 20:08:21 +02005 srcs = ["main.go"],
6 importpath = "source.monogon.dev/metropolis/test/e2e/selftest",
7 visibility = ["//visibility:private"],
8)
9
Tim Windelschmidt0974b222024-01-16 14:04:15 +010010go_binary(
11 name = "selftest",
12 embed = [":selftest_lib"],
Serge Bazanski9104e382023-04-04 20:08:21 +020013 pure = "on",
Tim Windelschmidt0974b222024-01-16 14:04:15 +010014 visibility = ["//visibility:private"],
15)
16
17load("@aspect_bazel_lib//lib:transitions.bzl", "platform_transition_binary")
18
19platform_transition_binary(
20 name = "selftest_transitioned",
21 binary = ":selftest",
22 target_platform = "//build/platforms:linux_amd64_static",
23 visibility = ["//visibility:private"],
24)
25
26load("@rules_pkg//pkg:tar.bzl", "pkg_tar")
27
28pkg_tar(
29 name = "selftest_layer",
30 srcs = [":selftest_transitioned"],
31 visibility = ["//visibility:private"],
32)
33
34load("@rules_oci//oci:defs.bzl", "oci_image")
35
36oci_image(
37 name = "selftest_image",
38 base = "@distroless_base",
39 entrypoint = ["/selftest"],
40 tars = [":selftest_layer"],
Lorenz Brun150f24a2023-07-13 20:11:06 +020041 visibility = ["//metropolis/test/e2e:__pkg__"],
Tim Windelschmidt0974b222024-01-16 14:04:15 +010042 workdir = "/app",
Serge Bazanski9104e382023-04-04 20:08:21 +020043)