mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-08 03:38:23 +00:00
Run the python suites through pytest-xdist when pytest is importable (id-level collection parity with unittest discover verified per suite; serial unittest stays the fallback), with -rP so warnings printed by passing tests, like the update annotations, still reach the log. run.sh self-provisions the dev extras through scripts/install/dev-extras.sh, which stamps inside the venv and skips read-only venvs; make onboard pre-warms the same path in the running container. Hoist per-test cache resets and roles scans to setUpClass in the lookup and resolvable suites (a per-test fingerprint-memo reset closes an id()-reuse cache-poisoning flake the hoist exposed), inject generation names into the nfs backup script test instead of sleeping, and narrow ansible-lint scope to real ansible content. ansible-lint additionally sits behind a content fingerprint gate that skips the run when nothing it walks has changed; without a usable git (container bind mounts) the gate disables itself and the full run remains. Drop the import-linter layer and ignore for the deleted deps module; the contract now locks compose -> common -> env. Measured on the host: unit 101s to 20s, integration 90s to 24s, lint tests 43s to 19s, repeated ansible-lint 53s to 0.4s. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Install Scripts
This directory contains scripts that install and bootstrap host-side tooling used by the project.
- 📦 Install Python, Ansible, and lint dependencies for supported environments
- 🐧 Install ad-hoc APT packages for CI and workflow jobs via
apt.sh - 📦 Build and install distro package metadata via
package.sh(Arch/Debian/Ubuntu/Fedora) - 🏖️ Install OS-level Claude Code sandbox dependencies (
bubblewrap,socat) viasandbox.sh, covering Debian, Ubuntu, Fedora, CentOS/RHEL/Rocky/Alma, and Arch; also exposed asmake install-agent - 🐍 Bootstrap virtual environments and editable project dependencies
- 🛠️ Keep host preparation separate from lint, build, and test execution
The scope of this folder is installation and bootstrap. Lint execution, build workflows, and test orchestration should stay in their dedicated script directories.