mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-07 19:32:17 +00:00
`shfmt.ensure()` returned as soon as any `shfmt` was on PATH and tried the distribution package before the release pinned in roles/sys-lint/meta/services.yml. The Debian dev container therefore formats with its packaged 3.8.0 (/usr/bin/shfmt), Fedora with its packaged 3.7.0, the CentOS one with the pinned v3.14.1 (/usr/local/bin/shfmt), and they disagree on scripts/tests/deploy/swarm/utils/unmount/nfs_mounts.sh: every gate in a CentOS stack moved the `then` of the heredoc `if` below the terminator. ensure() now follows ruff's installer: it reads `shfmt --version`, keeps the binary only when it reports the pinned release, and otherwise installs the release binary into /usr/local/bin. It fails when PATH still resolves another version afterwards instead of formatting with it. The system package path is gone. nfs_mounts.sh is committed in the pinned release's format (byte-identical to the v3.14.1 output from the CentOS container), so the first gate on any distro leaves the tree clean. The install-lint stamp now also depends on roles/sys-lint/meta/services.yml, the pin file of actionlint, hadolint and shfmt, so a bumped pin reaches environments whose stamp predates it; until now only pyproject.toml and scripts/install/lint.sh invalidated it. Fixes #1155 Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Test Utilities 🧪
This directory holds the operational side of testing in Infinito.Nexus.
These assets are meant to support confidence, not ceremony. They help the project validate real-world behavior across local development, CI environments, and deployment-oriented smoke tests. The emphasis is on practical feedback: when something breaks, the surrounding test tooling should make the failure easier to understand, easier to reproduce, and easier to clean up. 🚀
Good changes in this area usually make the test experience more:
- repeatable
- diagnosable
- environment-aware
- safe to rerun
The ideal outcome is boring reliability: contributors should be able to trust that a test run says something meaningful about the system, not just about the machine that happened to execute it. ✅