Skip to content

refactor: unify documentation CLI configuration - #813

Closed
AlexanderLanin wants to merge 1 commit into
mainfrom
feat/unify-docs-cli-config
Closed

AlexanderLanin wants to merge 1 commit into
mainfrom
feat/unify-docs-cli-config

Conversation

@AlexanderLanin

Copy link
Copy Markdown
Member

What this achieves

Documentation Bazel wrappers and cli.py now share one versioned SCORE_DOCS_CONFIG JSON contract for target configuration. Runtime workspace, runfiles, and CI context remains in the process environment.

Why this is necessary

The previous split across individual environment variables and SPHINX_EXTRA_OPTS made configuration assembly difficult to validate and allowed path-resolution and duplicate-option bugs between interactive and sandboxed Needs builds. A single structured payload makes the contract explicit and versionable.

What changed

  • Build version-1 payloads for interactive binaries and Needs actions.
  • Resolve runfiles and execution-root paths from the action context.
  • Generate Sphinx defines, live-preview watches, and cache/output behavior from the payload.
  • Remove the legacy CLI configuration transport and preserve extension configuration through Sphinx defines.
  • Add payload validation, path-resolution, merged-Needs, mount-watching, malformed-version, and diagnostics coverage.
  • Document the payload contract.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Development

Successfully merging this pull request may close these issues.

1 participant