yiaany opened a new pull request, #24792:
URL: https://github.com/apache/datafusion/pull/24792

   ## Which issue does this PR close?
   
   - Closes #17071.
   
   ## 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:
   
   - `Development`: https://datafusion.apache.org/
   - `55.0.0`: https://datafusion.apache.org/versions/55.0.0/
   
   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.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to