aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-02-24 07:57:34 -0600
committerCraig Jennings <c@cjennings.net>2026-02-24 07:57:34 -0600
commit5143437376e6ada7dce3fad37093769c43e4b8a5 (patch)
treebce7e5f45ef8411ee44f9a2a7f9e4365d9bea5ec /Makefile
parentc5759dd61684c15f4ca460d4f8a166825e1bf3d8 (diff)
downloadarchangel-5143437376e6ada7dce3fad37093769c43e4b8a5.tar.gz
archangel-5143437376e6ada7dce3fad37093769c43e4b8a5.zip
feat: add Makefile targets for manual VM testing
Add vm, vm-multi, vm-multi3, vm-boot, and vm-clean targets. Update README to reference make targets instead of raw script invocations.
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile47
1 files changed, 40 insertions, 7 deletions
diff --git a/Makefile b/Makefile
index a870255..bc77a4d 100644
--- a/Makefile
+++ b/Makefile
@@ -1,16 +1,25 @@
# Makefile for archangel ISO build and testing
#
# Usage:
-# make test - Run lint
-# make test-install - Run install tests in VM (slow)
-# make build - Build the ISO
-# make release - Full test + build + deploy
-# make clean - Clean build artifacts
-# make lint - Run shellcheck on all scripts
+# make build - Build the ISO
+# make lint - Run shellcheck on all scripts
+# make test - Run lint
+# make test-install - Run all automated install tests in VMs (slow)
+# make release - Full test + build + deploy
+#
+# Manual VM testing:
+# make vm - Boot ISO in a single-disk VM
+# make vm-multi - Boot ISO in a 2-disk VM (mirror/RAID)
+# make vm-multi3 - Boot ISO in a 3-disk VM (raidz1)
+# make vm-boot - Boot from installed disk (after install)
+# make vm-clean - Remove VM disks and OVMF vars
+#
+# make clean - Clean build artifacts
+# make distclean - Clean everything including releases
#
# Test configurations are in scripts/test-configs/
-.PHONY: test test-install build release clean lint
+.PHONY: test test-install build release clean distclean lint vm vm-multi vm-multi3 vm-boot vm-clean
# Lint all bash scripts
lint:
@@ -42,6 +51,30 @@ release: test test-install
@echo "==> Release complete:"
@ls -lh archangel-*.iso
+# --- Manual VM testing ---
+
+# Boot ISO in a single-disk VM
+vm:
+ ./scripts/test-vm.sh
+
+# Boot ISO in a 2-disk VM (for mirror/RAID testing)
+vm-multi:
+ ./scripts/test-vm.sh --multi-disk
+
+# Boot ISO in a 3-disk VM (for raidz1 testing)
+vm-multi3:
+ ./scripts/test-vm.sh --multi-disk=3
+
+# Boot from installed disk (after running install in VM)
+vm-boot:
+ ./scripts/test-vm.sh --boot-disk
+
+# Remove VM disks and start fresh
+vm-clean:
+ ./scripts/test-vm.sh --clean
+
+# --- Cleanup ---
+
# Clean build artifacts
clean:
@echo "==> Cleaning..."