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]
