aboutsummaryrefslogtreecommitdiff
path: root/scripts/test-install.sh
Commit message (Collapse)AuthorAgeFilesLines
* fix: bump INSTALL_TIMEOUT from 600 to 1800 for kernel 6.18+ DKMS buildsCraig Jennings8 days1-1/+4
| | | | | | | | | | | ZFS DKMS compile + depmod against kernel 6.18.22 in a 4-CPU VM under host load exceeds 10 minutes. With INSTALL_TIMEOUT=600, all 6 ZFS test configs timed out during the DKMS install step after pacstrap. The one ZFS config that passed ('custom-locale', first ZFS config alphabetically) squeaked in just under the deadline. Bumped to 1800s (30 min). Session notes from 2026-02-12 mention this bump but the change never made it into git.
* feat: add ZFS encrypted volume tests (single disk + mirror)Craig Jennings2026-02-241-10/+77
| | | | | | | Add automated tests for ZFS native encryption, matching existing Btrfs LUKS test coverage. ZFS encrypted boot requires two passphrase entries (ZFSBootMenu + mkinitcpio zfs hook), both sent via QEMU monitor sendkey with timed delays since ZFSBootMenu renders to VGA, not serial.
* refactor: rename custom/ to installer/ for clarityCraig Jennings2026-02-231-2/+2
| | | | | | | | The custom/ directory name was an archiso implementation detail. Renamed to installer/ which clearly communicates that this directory contains the installer scripts and utilities that ship on the ISO. Updated all references in build.sh, Makefile, test-install.sh, and README.
* feat: add LUKS passphrase automation to VM test frameworkCraig Jennings2026-02-231-1/+117
| | | | | | | | | | - Add monitor_sendkeys() to type strings into QEMU via monitor socket - Add send_luks_passphrase() that detects GRUB passphrase prompt in serial log and sends passphrase via sendkey, supporting multi-disk LUKS (one passphrase per encrypted disk) - Add QEMU monitor socket to start_vm_from_disk() for LUKS configs - Auto-detect LUKS configs and handle passphrase entry during reboot test - Add socat dependency check
* fix: resolve remaining SC2155 warnings across all scriptsCraig Jennings2026-02-231-1/+2
| | | | | | Declare and assign local variables separately in custom/archangel, scripts/full-test.sh, scripts/test-install.sh, and remove unused variable in custom/lib/zfs.sh.
* chore: make OVMF firmware paths configurable via environmentCraig Jennings2026-02-231-3/+3
| | | | | | Allow OVMF_CODE and OVMF_VARS_ORIG to be overridden via environment variables for portability across distros (Fedora, Ubuntu, etc. use different paths for UEFI firmware).
* chore: add set -euo pipefail to scripts for safetyCraig Jennings2026-02-231-1/+1
| | | | | | Enable undefined variable checking (set -u) and pipefail across standalone scripts. Guard SUDO_USER references with ${SUDO_USER:-} for set -u compatibility.
* chore: standardize shebangs, fix lint target, add .editorconfigCraig Jennings2026-02-231-1/+1
| | | | | | | - Change all script shebangs to #!/usr/bin/env bash for portability (heredocs writing to installed systems keep #!/bin/bash) - Remove || true from Makefile lint target so shellcheck errors fail the build - Add .editorconfig for consistent formatting across editors
* fix: support no-ssh test by adding console boot verificationCraig Jennings2026-02-231-30/+73
| | | | | | | | The no-ssh test failed because reboot verification unconditionally used wait_for_ssh, which timed out on systems without SSH. Add wait_for_boot_console() that checks serial log for ZFSBootMenu boot markers, and branch run_test() on ENABLE_SSH to use the appropriate verification path.
* refactor: rename archzfs to archangel, simplify build-releaseCraig Jennings2026-01-311-4/+4
| | | | | | | | - Standardize naming: VM names, hostname, passwords, ISO naming - Remove USB, Ventoy, and local deployment from build-release - Add snapper package and Btrfs validation tests to sanity-test - Update README for dual ZFS/Btrfs architecture - Delete obsolete SESSION-CONTEXT.md and download-archzfs-iso.sh
* Add reboot survival and rollback verification testsCraig Jennings2026-01-251-6/+223
| | | | | | | | | - Add start_vm_from_disk() to boot installed system without ISO - Add stop_vm keep_vars parameter to preserve EFI boot entries - Add verify_reboot_survival() to check system boots from disk - Add verify_rollback() to test snapshot/rollback functionality - Support different SSH passwords for live ISO vs installed system - Integrate reboot/rollback checks into test flow
* Fix btrfs bugs from VM testingCraig Jennings2026-01-231-24/+42
| | | | | | | | | | | - Fix GRUB config path (remove GRUB_BTRFS_GRUB_DIRNAME, use default) - Create snapper config manually (D-Bus not available in chroot) - Create genesis snapshot with btrfs command (not snapper) - Add btrfs-single.conf test config - Update test-install.sh to copy lib/ directory - Update test-install.sh to handle btrfs verification VM test now passes for btrfs single-disk installation.
* Add Avahi mDNS validation to test scriptsCraig Jennings2026-01-201-0/+14
| | | | | | | | | | sanity-test.sh (live ISO): - Check avahi-daemon is enabled - Check avahi-daemon is running test-install.sh (installed system): - Check avahi and nss-mdns packages installed - Check avahi-daemon service enabled
* Include timestamp in install-archzfs log filenameCraig Jennings2026-01-181-2/+2
|
* Make ZFS encryption optional with interactive promptCraig Jennings2026-01-181-2/+2
| | | | | | | | | Add get_encryption_choice() to ask user whether to enable encryption during interactive install. Remove --no-encrypt CLI flag in favor of config file NO_ENCRYPT option for unattended installs. Update tests to rely on config file setting instead of flag. Also: fix ISO label to ARCHZFS for stable GRUB entries, add TODO items.
* Add CI/CD test infrastructureCraig Jennings2026-01-181-0/+459
- Add Makefile with targets: all, test, test-unit, test-install, build, release, clean, lint - Add test-install.sh for automated VM installation testing - Add test configs: single-disk, mirror, raidz1, no-ssh, custom-locale - Add test-logs/ to .gitignore - Uses sshpass for SSH authentication to live ISO - Copies latest install-archzfs to VM before testing (allows testing without rebuild) - Supports --list to show available configs