third_party/linux: build using unhermetic rule
This replaces ad-hoc genrules (for the node Linux image and the ktest
image) with a real Bazel rule with an attached transition which ensures
we end up with the same-ish configurations for all builds of an image.
This reduces rebuilds of the ktest Linux kernel, from three down to one.
Before: https://drive.google.com/file/d/1c6VmY2bqx9Pgs61TOUfgMi8Sn0WQeobu/view
After: https://drive.google.com/file/d/13eO1rLhoBCMMRUKrmJz8QnhdAR3ctIGb/view
We also drive-by fix the Kubernetes CTS test suite to run on a single-node
Cluster (instead of failing early due to that being currently reworked).
Test Plan: Build system refactor, following existing test.
X-Origin-Diff: phab/D761
GitOrigin-RevId: b5545ac5fd402fbf0340d941a90b9ea6ea0b6d43
diff --git a/metropolis/node/BUILD.bazel b/metropolis/node/BUILD.bazel
index b5ed532..ee86523 100644
--- a/metropolis/node/BUILD.bazel
+++ b/metropolis/node/BUILD.bazel
@@ -88,7 +88,7 @@
genrule(
name = "image",
srcs = [
- "//third_party/linux:bzImage",
+ "//third_party/linux",
":rootfs",
],
outs = [
@@ -96,7 +96,7 @@
],
cmd = """
$(location //metropolis/node/build/mkimage) \
- -efi $(location //third_party/linux:bzImage) \
+ -efi $(location //third_party/linux) \
-system $(location :rootfs) \
-out $@
""",