Skip to content

Make documented Python test commands use the same base-cli source as CI #1914

Closed

Description

@codeforester

Goal

Make the documented local Python test and lint commands reproduce the dependency topology used by CI and bin/base-test.

Evidence

  • docs/testing.md:65-69 instructs users to run PYTHONPATH=cli/python python -m pytest.
  • Base production code imports APIs from the standalone base-cli package, including ConfigurationError.
  • requirements-dev.txt installs the published base-cli==0.4.2, but the installed package in the current Base environment does not expose that source-level API.
  • Running PYTHONPATH=cli/python /Users/rameshhp/.base.d/base/.venv/bin/python -m pytest cli/python/base_setup/tests/test_remote_installers.py -q fails during collection with ImportError: cannot import name 'ConfigurationError' from 'base_cli'.
  • .github/workflows/tests.yml succeeds by prepending .dependencies/base-cli/lib/python:lib/python:cli/python, and bin/base-test resolves the sibling checkout or BASE_CLI_SOURCE_DIR.

Scope

  • Choose one canonical local command for the Python suite and coverage run.
  • Update docs/testing.md, contributor guidance, and any lint instructions to include the required base-cli source path or route through bin/base-test.
  • Keep the supported packaged-install path explicit if the published package is intentionally not source-compatible.
  • Add a documentation/contract test or smoke check that catches a missing base-cli source path when the docs are changed.

Acceptance criteria

  • A new contributor following the documented command reaches test collection without a base_cli import mismatch.
  • Local commands and CI use the same explicit source/dependency contract.
  • The full bin/base-test path remains green.
  • Documentation explains the standard sibling checkout and the BASE_CLI_SOURCE_DIR override.

Project Fields

  • Status: Ready
  • Priority: P2
  • Size: S
  • Area: CI
  • Initiative: Contract Hardening

Activity

  1. added this to the v1.8.0 milestone on Aug 10, 2026
  2. self-assigned this
    on Aug 10, 2026
  3. added
    ciContinuous integration, tests, automation, or release workflows
    documentationDocumentation improvements
    on Aug 10, 2026
  4. moved this to Ready in baseon Aug 10, 2026
  5. moved this from Ready to In Progress in baseon Aug 13, 2026
  6. moved this from In Progress to In Review in baseon Aug 13, 2026
  7. moved this from In Review to Done in baseon Aug 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

ciContinuous integration, tests, automation, or release workflows

Type

No type

Projects

  • Status
    Done

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions