Skip to content

docs: add full-site version snapshots - #24792

Draft
yiaany wants to merge 2 commits into
apache:mainfrom
yiaany:docs/versioned-docs-17071
Draft

docs: add full-site version snapshots#24792
yiaany wants to merge 2 commits into
apache:mainfrom
yiaany:docs/versioned-docs-17071

Conversation

@yiaany

@yiaany yiaany commented Aug 30, 2026

Copy link
Copy Markdown

Which issue does this PR close?

Rationale for this change

The documentation published at https://datafusion.apache.org/ currently follows
main, so it can describe behavior that differs from released DataFusion
versions.

This PR introduces a complete immutable documentation snapshot for DataFusion
55.0.0, while keeping the root site on the latest main documentation. The
approach follows the model discussed in #17071: build the complete tagged site
into one version directory and use the PyData Sphinx Theme version switcher.

What changes are included in this PR?

  • Adds a site-wide version picker for Development and 55.0.0.
  • Builds the exact 55.0.0 tag into /versions/55.0.0/.
  • Verifies that tag 55.0.0 resolves to commit
    d5552342012888b7d1a3ab88d92e3d292fc0cde0.
  • Preserves tagged documentation content, including the existing
    "has not been released yet" sentence.
  • Pins release links that would otherwise point to mutable main or latest
    content.
  • Preserves all existing immutable version directories during normal
    documentation deployment.
  • Deletes stale current-site output without deleting archived releases.
  • Uses serialized, non-force deployment pushes.
  • Adds generated-site validation and regression tests.
  • Documents manual snapshot publication and the initial bootstrap sequence.
  • Excludes Sphinx build caches and environment-specific metadata from the
    published snapshot.
  • Refuses to replace an existing assembly output directory.

This PR does not publish generated documentation, modify asf-site, backfill
older releases, add latest or stable aliases, or automate future release
publication.

Are these changes tested?

Yes. I ran:

  • git diff --check
  • ./ci/scripts/doc_prettier_check.sh
  • bash ci/scripts/markdown_link_check.sh
  • ./ci/scripts/typos_check.sh
  • ./ci/scripts/license_header.sh
  • cargo fmt --all -- --check
  • cargo clippy --all-targets --all-features -- -D warnings
  • ./dev/rust_lint.sh
  • 17 versioned-documentation unit and integration tests
  • current documentation build with warnings treated as errors
  • exact-tag 55.0.0 full-site snapshot build
  • final deployment assembly and generated-site validation
  • browser smoke tests over HTTP for version switching, missing-page fallback,
    mobile layout, and JavaScript-disabled release identification

The final snapshot contains no .doctrees, .buildinfo, temporary build paths,
or generated artifacts tracked in Git.

Are there any user-facing changes?

Yes.

The current documentation remains at the site root. Users can switch between:

The initial 55.0.0 snapshot must be published manually.

Bootstrap coordination

This PR intentionally remains a draft until maintainers choose the initial
publication sequence.

The current asf-site branch does not yet contain versions/55.0.0/, and
deployment validation intentionally fails closed until the snapshot exists.

Could a maintainer confirm which bootstrap procedure should be used?

  1. Merge a preliminary retention-only workflow change, then publish the
    snapshot manually.
  2. Use a coordinated window: verify that no old documentation deployment is
    running or queued, publish the snapshot, merge this PR, and verify that the
    new deployment retains it.

I have not modified or published anything to asf-site.

I reviewed the implementation end-to-end and can explain the exact-tag build,
publication boundary, archive retention, validator, and deployment sequence
during review.

@github-actions github-actions Bot added documentation Improvements or additions to documentation development-process Related to development process of DataFusion labels Aug 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

development-process Related to development process of DataFusion documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Versioned documentation

1 participant