diff options
| author | Craig Jennings <c@cjennings.net> | 2026-01-19 13:16:33 -0600 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-01-19 13:16:33 -0600 |
| commit | 72abc70a42a505af365fc5a892009ebeeba524ec (patch) | |
| tree | 31708f3b5c9df6b34a591fdee62fbf804983c701 /scripts/build-release | |
| parent | d9bf5d2ffc471fc22c1bcc6ec80a881319ea1678 (diff) | |
| download | archangel-72abc70a42a505af365fc5a892009ebeeba524ec.tar.gz archangel-72abc70a42a505af365fc5a892009ebeeba524ec.zip | |
Add comprehensive installation tests and ZFS script deployment
- Add scripts/full-test.sh for automated install testing (single, mirror, raidz1)
- Add --full-test option to build-release workflow
- Install zfssnapshot and zfsrollback to target system during install
- Simplify .gitignore to exclude entire vm/ directory
Diffstat (limited to 'scripts/build-release')
| -rwxr-xr-x | scripts/build-release | 28 |
1 files changed, 23 insertions, 5 deletions
diff --git a/scripts/build-release b/scripts/build-release index 00f66ce..1c0ef48 100755 --- a/scripts/build-release +++ b/scripts/build-release @@ -2,9 +2,10 @@ # build-release - Build and distribute the archzfs ISO # # Usage: -# ./scripts/build-release # Full build, test, and distribute +# ./scripts/build-release # Full build, sanity test, and distribute +# ./scripts/build-release --full-test # Full build with comprehensive install tests # ./scripts/build-release --skip-build # Skip build, just distribute existing ISO -# ./scripts/build-release --skip-test # Skip sanity test +# ./scripts/build-release --skip-test # Skip all testing # # Distribution targets: # - ~/Downloads/isos (always) @@ -46,18 +47,21 @@ step() { echo -e "\n${CYAN}=== $1 ===${NC}\n"; } # Parse arguments SKIP_BUILD=false SKIP_TEST=false +FULL_TEST=false AUTO_CONFIRM=false while [[ $# -gt 0 ]]; do case $1 in --skip-build) SKIP_BUILD=true; shift ;; --skip-test) SKIP_TEST=true; shift ;; + --full-test) FULL_TEST=true; shift ;; --yes|-y) AUTO_CONFIRM=true; shift ;; -h|--help) - echo "Usage: $0 [--skip-build] [--skip-test] [--yes]" + echo "Usage: $0 [--skip-build] [--skip-test] [--full-test] [--yes]" echo "" echo "Options:" echo " --skip-build Skip ISO build, distribute existing ISO" echo " --skip-test Skip QEMU sanity test" + echo " --full-test Run comprehensive install tests (single, mirror, raidz1)" echo " --yes, -y Auto-confirm dd to ARCHZFS drive (no prompt)" exit 0 ;; @@ -106,6 +110,18 @@ sanity_test() { info "Sanity test passed!" } +# Run full installation tests (automated) +full_test() { + step "Full Installation Tests" + + if ! "$SCRIPT_DIR/full-test.sh"; then + error "Full installation test failed!" + exit 1 + fi + + info "All installation tests passed!" +} + # Find ARCHZFS labeled USB drive find_archzfs_drive() { ARCHZFS_DEV=$(blkid -L ARCHZFS 2>/dev/null | head -1) @@ -342,10 +358,12 @@ main() { build_iso fi - if ! $SKIP_TEST; then + if $FULL_TEST; then + full_test + elif ! $SKIP_TEST; then sanity_test else - step "Skipping Sanity Test" + step "Skipping Tests" fi distribute_local |
