lucasfang opened a new pull request, #492:
URL: https://github.com/apache/paimon-cpp/pull/492

   ### Purpose
   
   Linked issue: close #491
   
   Add a version dropdown and a development-version warning banner to the 
documentation, and make the release tooling maintain the version list they 
read. `docs/source/_static/versions.json` switches from a single stale `0.4.0` 
entry to the dev/stable layout: `main (development)` at `docs/cpp/main/` and 
the preferred `0.3 (stable)` at `docs/cpp/`, with archived `X.Y` series to 
follow under `docs/cpp/X.Y/`. `docs/source/conf.py` selects the channel with 
`PAIMON_DOCS_VERSION` (unset or `main` for development docs, `stable` for the 
latest release, `X.Y` for an archived series), wires the theme's version 
switcher to `versions.json`, and gives main-channel builds a `.dev` release 
suffix so the theme shows the "unstable development version" banner with a 
switch-to-stable link; stable builds match the preferred entry and show no 
banner. `scripts/releasing/bump_version.py` now owns the version list: 
`--check` validates the full dev/stable/archived layout alongside the CMake and 
docs versions
 , and a version bump that opens a new major.minor series rotates the stable 
entry and archives the previous series, while a patch cycle leaves the list 
untouched. `.github/workflows/build_docs.yaml` adds a `pull_request` trigger so 
`apidoc/`, `docs/` and `include/` changes are build-validated before merge — 
the gh-pages deployment is unchanged and still runs only on push to main — and 
`release_candidate.yaml` lists the workflow in its PR path filter. Publishing 
the versioned layout on paimon.apache.org is a separate change on 
apache/paimon-website, which will read the version list from this repository.
   
   ### Tests
   
   `python3 -m unittest scripts.releasing.tests.test_release_tools` passes, 16 
tests, covering the new series-rotation, patch-cycle and validation behavior of 
`bump_version.py`. The documentation was built locally for all three channels: 
`make html` with the channel unset (main) and with `PAIMON_DOCS_VERSION=stable` 
and `=0.3`, each build succeeding, and the rendered output verified in a 
browser through a local static server: the dropdown lists `main (development)` 
and `0.3 (stable)` with the right active entry per channel, the warning banner 
appears only on the main channel, and the sub-pages render the same. Two 
pre-existing Sphinx warnings about short title underlines in 
`user_guide/catalog.rst` and `api/file_index.rst` were found during the local 
build and fixed, so the docs build is warning-free now. Note for local preview: 
the switcher JSON URL can be overridden with `PAIMON_DOCS_VERSIONS_URL` and 
must be an absolute URL reachable from the browser, not a relative path or a 
`fil
 e://` URL.
   
   ### API and Format
   
   No. No C++ declaration, symbol or behavior changes, and no storage format or 
protocol changes. The two environment variables (`PAIMON_DOCS_VERSION`, 
`PAIMON_DOCS_VERSIONS_URL`) are documentation-build-time inputs consumed by 
`conf.py`; they affect nothing outside the Sphinx build.
   
   ### Documentation
   
   This change is the documentation work; it introduces no new feature in the 
library. Files: `docs/source/_static/versions.json` (version list layout), 
`docs/source/conf.py` (channel selection, switcher wiring, warning banner), 
`scripts/releasing/bump_version.py` with 
`scripts/releasing/tests/test_release_tools.py` (release tooling for the list), 
`.github/workflows/build_docs.yaml` and 
`.github/workflows/release_candidate.yaml` (PR build validation), plus the two 
title-underline fixes in `docs/source/user_guide/catalog.rst` and 
`docs/source/api/file_index.rst`. The `main/` and `docs/cpp/X.Y/` entries in 
`versions.json` resolve only once the paimon-website pipeline publishes those 
directories; until then the switcher on the live site still works from the 
current single-build pages.
   
   ### Generative AI tooling
   
   Generated-by: Qoder
   


-- 
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]

Reply via email to