Problem
tests/Dockerfile.integration copies the repo and runs setup-linux.sh, which installs dotf via scripts/install-dotf.sh — and that downloads the pinned release artifact rather than building from the PR's ./cli source. On top of that, dotf is not on the bats-time PATH (the verify-setup.bats ENTRYPOINT does not source the login profile).
Consequences:
Proposed fix
- Build
dotf from ./cli inside the integration image (or inject the CI-built binary) and put it on PATH before setup-linux.sh runs, so install-dotf.sh sees the current build and setup exercises the PR's code.
- Ensure
dotf is on the bats-time PATH so the verify-setup.bats guards actually run (drop the command -v dotf ... || skip fallbacks once guaranteed).
Evidence
BUG-029 (#696) PR #732: the two [#696] machine.json guards skip in the container; the seed logic is covered by Go unit tests + the dotf doctor repo-dir check instead. Related: CLI-031 golden characterization tests (#672).
Problem
tests/Dockerfile.integrationcopies the repo and runssetup-linux.sh, which installsdotfviascripts/install-dotf.sh— and that downloads the pinned release artifact rather than building from the PR's./clisource. On top of that,dotfis not on the bats-time PATH (theverify-setup.batsENTRYPOINT does not source the login profile).Consequences:
dotfsubcommand cannot be integration-tested until it ships in a release. Surfaced by BUG-029/BUG: no journey creates machine.json — phantom DOTFILES_REPO_DIR default breaks update/mem/doctor --fix #696: thedotf env setseed and its twoverify-setup.batsguards had to be made skip-until-released, because the container's released dotf predatesenv set.dotf env generateduring setup is likewise only exercised against the released binary, and the bats-timecommand -v dotfskips (see the existingenv pathguard).Proposed fix
dotffrom./cliinside the integration image (or inject the CI-built binary) and put it on PATH beforesetup-linux.shruns, soinstall-dotf.shsees the current build and setup exercises the PR's code.dotfis on the bats-time PATH so theverify-setup.batsguards actually run (drop thecommand -v dotf ... || skipfallbacks once guaranteed).Evidence
BUG-029 (#696) PR #732: the two
[#696]machine.json guards skip in the container; the seed logic is covered by Go unit tests + thedotf doctorrepo-dir check instead. Related: CLI-031 golden characterization tests (#672).