Skip to content

fix(ci): make tests portable across homes and distros - #2

Merged
tom-sapletta-com merged 2 commits into
mainfrom
ci-home-portability
Aug 13, 2026
Merged

fix(ci): make tests portable across homes and distros#2
tom-sapletta-com merged 2 commits into
mainfrom
ci-home-portability

Conversation

@tom-sapletta-com

@tom-sapletta-com tom-sapletta-com commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

Prerequisite for governance adoption PR #1.

The test fixtures previously embedded /home/tom while production expands the current user home. The Docker workflow also reinstalled test dependencies at runtime and invoked the non-portable python alias.

Changes:

  • derive user-specific Chrome, Cursor, VS Code, npm, and Steam fixture paths from pathlib.Path.home()
  • use python3 -m pytest in every distro container
  • remove the redundant runtime pip install; each image already installs .[dev]
  • no application behavior, version, tag, release, or Docker network changes

Validation:

  • 50 focused tests passed
  • full suite via Goal: 460 passed, 5 skipped, 16 deselected
  • Ruff passed for both changed test files
  • Fedora, Ubuntu, and Debian images: 291/291 unit tests each
  • Docker builds used --network host; runs used --network none

Delivery head: 1440421905672a9874565d89d846dce1dc7d1ef2

Statistics: 2 files changed, 31 insertions, 16 deletions

Summary:
- Dirs: tests=2
- Exts: .py=2
- A/M/D: 0/2/0
- Symbols: class TestChromeSafetyClassification, _home_path, class TestChromeCleanup

Modified files:
- tests/unit/test_service_cleanup.py (+12/-5)
- tests/unit/test_service_scanner.py (+19/-11)

Changes (notes):
- tests/unit/test_service_cleanup.py (+12/-5): add functions: _home_path
- tests/unit/test_service_scanner.py (+19/-11): add functions: _home_path

Implementation notes (heuristics):
- Type inferred from file paths + diff keywords + add/delete ratio
- Scope prefers 'goal' when goal/* is touched; otherwise based on top-level dirs
- For <=6 files: generate short per-file notes from added lines (defs/classes/click options/headings)
- A/M/D derived from git name-status; per-file +X/-X from git numstat
stats:
  lines: "+5/-10 (net -5)"
  files: 1
  complexity: "Stable complexity"
@tom-sapletta-com tom-sapletta-com changed the title fix(tests): use runtime home paths fix(ci): make tests portable across homes and distros Aug 13, 2026

@ifuri-validator-agent ifuri-validator-agent Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Deterministic Validator approval for exact head 1440421905672a9874565d89d846dce1dc7d1ef2.

Ticket: ticket-001
Correlation ID: fixos-pr-2-ticket-001
Model: openrouter/z-ai/glm-5.2
Reviewed diff chunks: 1
Advisory LLM verdict: APPROVE
Advisory summary: Reviewed all 1 diff chunk(s). Test fixture paths are made portable by deriving home directories from pathlib.Path.home(), and the CI workflow switches to python3 -m pytest while removing redundant runtime pip installs. All reported checks pass and no security issues are present.
Advisory findings: none
The LLM output above is advisory and was not used as the approval trust root.
Merge will be attempted after this approval when explicitly authorized.

Decision record (recomputable)

DECISION D-001-8717
TICKET ticket-001
HEAD_SHA 1440421905672a9874565d89d846dce1dc7d1ef2
CORRELATION_ID fixos-pr-2-ticket-001
ACTOR agent:ifuri-validator-agent[bot]
APPLIED_RULE P-CORE-015
INPUT author_login = "tom-sapletta-com"
INPUT observed_checks = ["test-summary=PASS","test-arch=PASS","test-debian=PASS","test-fedora=PASS","test-alpine=PASS","test-ubuntu=PASS","test (3.12)=PASS","test (3.10)=PASS","test (3.11)=PASS"]
INPUT required_checks = ["test (3.10)","test (3.11)","test (3.12)","test-summary"]
INPUT required_checks_source = "env/request"
INPUT reviewer_login = "ifuri-validator-agent[bot]"
VERDICT APPROVE AUTHORITY DETERMINISTIC
REJECTED REQUEST_CHANGES BECAUSE NO_UNSAFE_CHANGE_REASON_FOUND
ADVISORY llm_verdict = "APPROVE" MODEL "openrouter/z-ai/glm-5.2"
ASSERT VERDICT_AUTHORITY != "ADVISORY"

@tom-sapletta-com
tom-sapletta-com merged commit 9b3ab40 into main Aug 13, 2026
9 checks passed
@tom-sapletta-com
tom-sapletta-com deleted the ci-home-portability branch August 13, 2026 16:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant