Add docs-only staging and production deployment

Merged
KA
2mo ago
+413-7

Docs changes currently require a library release to reach production. Add Deploy XY Docs Only, a manual workflow that accepts a branch, tag, or commit (default main) and deploys the site without publishing to PyPI or creating a release.

Resolve the source once and build both images under a docs-<sha12>-<run_id>-<run_attempt> tag. Reuse the existing Helm/infra path to stage those images, then promote the same pair after the existing production approval. Share the release docs deployment's concurrency group, with queue: max on both workflows to retain up to 100 pending deployments while preventing conflicting promotions. The library release workflow retains its PyPI publication check.

After merge, run it from Actions or:

gh workflow run deploy-docs-site.yml --ref main -f source_ref=main

Document the deployment and queue behavior in the release specification, and test source validation, full-rerun tags, approval dependencies, and separation from package publication.

Validation:

  • Focused deployment/release/workflow tests: 126 passed, 1 skipped (optional reflex-release import).
  • Full-worktree pre-commit hooks, Ruff lint/format, and generated release workflow consistency checks passed.
  • Actionlint passed with only its unsupported queue key diagnostic excluded (upstream issue); the setting was verified against GitHub documentation and is asserted for both workflows by the regression test.
  • make check-ci check-sdist check-wheel passed; the local wheel check used a build without the native core.

No deployment was dispatched during validation.

Summary by CodeRabbit

  • New Features

    • Added a manually triggered workflow for deploying documentation snapshots independently of library releases.
    • Supports selecting a branch, tag, or commit, then promotes documentation updates through staging and production.
    • Production deployment requires explicit approval, with queued deployments preventing overlapping promotions.
  • Documentation

    • Updated release-process guidance with instructions and workflow details for docs-only deployments.
  • Tests

    • Added coverage for source selection, image versioning, deployment safeguards, workflow coordination, and approval requirements.