Skip to content

CI: self-hosted "install from scratch" dedicated hardware test runner #101

@banksean

Description

@banksean

Since macOS doesn't support nested virtualization, we can't run a full install-from-scratch test suite using github's runners.

The point of this test runner is to make sure someone can follow the installation instructions in the README.md and have it work as described there.

This runner should clean everything off before starting the tests so it's just macOS + git + mise.

Before running tests it needs to ensure the following:

  • no container system service running
  • no apple/container command installed
  • no ~/Library/Application\ Support/Sand dir
  • no Include /Users/$USERNAME/.config/sand/ssh_config line in ~/.ssh/config
  • no ~/.config/sand dir
  • no "brew install banksean/tap/sand" artifacts
  • no "go build" or "go install" artifacts

Something like:

# Pre-run cleanup script

brew uninstall sand || true
brew untap banksean/sand || true
rm $(which sand) || true
rm $(which sandd) || true

# clean up any tool state/config
rm -rf ~/.config/sand ~/.local/share/sand || true

# remove library files
rm -rf ~/Library/Application\ Support/Sand

# remove ~/.ssh/config Include line that may have been added by sand
sed -i '' '\|\Include /Users/[^/][^/]*/.config/sand/ssh_config|d' ~/.ssh/config

# if we ever install any launchd services:
launchctl bootout gui/$(id -u) com.banksean.sand 2>/dev/null || true

The's already a starter test script in ./scripts/dedicated-hardware-smoke-test.sh though it doesn't currently finish without hanging when I run it on my mac mini via ssh from my dev box.

Metadata

Metadata

Assignees

No one assigned

    Labels

    CIFeatures or enhancements to e.g. github workflows

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions