Skip to content

CASSANDRA-21315: Upgrade docs build stack to Antora 3.1 and Node.js 24 LTS#315

Open
pmcfadin wants to merge 1 commit intoapache:trunkfrom
pmcfadin:antora-3-upgrade
Open

CASSANDRA-21315: Upgrade docs build stack to Antora 3.1 and Node.js 24 LTS#315
pmcfadin wants to merge 1 commit intoapache:trunkfrom
pmcfadin:antora-3-upgrade

Conversation

@pmcfadin
Copy link
Copy Markdown
Contributor

CASSANDRA-21315

Upgrades the apache/cassandra-website docs build pipeline from Antora 2.3 to Antora 3.1.14 and Node.js 20 to Node.js 24 LTS. This is a prerequisite for Cassandra 6 documentation contributions, which were authored and validated against Antora 3.1.

Changes

site-content/Dockerfile

  • Node.js: v20.16.0v24.14.1 (current active LTS; SHA256 verified for linux/amd64 and linux/arm64)
  • Replace @antora/cli@2.3 and @antora/site-generator-default@2.3 with @antora/cli@3.1.14 and @antora/site-generator@3.1.14
  • Replace antora-lunr and antora-site-generator-lunr with @antora/lunr-extension

site-content/docker-entrypoint.sh

  • Remove --generator antora-site-generator-lunr flag from the Antora invocation
  • Remove DOCSEARCH_ENABLED, DOCSEARCH_ENGINE=lunr, NODE_PATH, and DOCSEARCH_INDEX_VERSION env exports (required only by the deprecated Antora 2 custom generator)

site-content/site.template.yaml

  • Add antora.extensions block registering @antora/lunr-extension (Antora 3 extension model for search)
  • asciidoc.extensions (tabs-block.js, @djencks/asciidoctor-openblock) left unchanged

What is NOT changed

  • Branch matrix (trunk, cassandra-5.0, cassandra-4.1, cassandra-4.0, cassandra-3.11)
  • stable / latest alias behavior
  • run.sh command surface
  • JDK selection logic for generated docs per branch
  • tabs-block.js and @djencks/asciidoctor-openblock AsciiDoc extensions

Validation

  • Docker image built clean with Antora 3.1.14 and Node 24.14.1
  • Single-branch build (trunk) succeeded; search-index.js present confirming @antora/lunr-extension functional
  • Multi-branch build (trunk, cassandra-5.0, cassandra-4.1) succeeded; version directories 4.1/, 5.0/, 6.0/, latest/, stable/ all present
  • stable/ and latest/ alias behavior confirmed unchanged
  • xref errors in build output are pre-existing in upstream trunk content, not regressions from this upgrade

AI Assistance

This PR was prepared with AI assistance (Claude, Anthropic). All changes were reviewed against the apache/cassandra-website source and validated with local builds.

- Pin Node.js to v24.14.1 (current active LTS) with verified SHA256 hashes
- Replace @antora/cli@2.3 / @antora/site-generator-default@2.3 with
  @antora/cli@3.1.14 / @antora/site-generator@3.1.14
- Replace antora-lunr / antora-site-generator-lunr with @antora/lunr-extension
- Remove --generator antora-site-generator-lunr from antora invocation
- Remove DOCSEARCH_ENGINE=lunr / NODE_PATH env wiring (Antora 2 generator deps)
- Register @antora/lunr-extension as an Antora extension in site.template.yaml
  (Antora 3 extension model; Asciidoctor extensions remain under asciidoc.extensions)

Branch matrix, alias behavior, tabs-block.js, and openblock extension unchanged.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@pmcfadin
Copy link
Copy Markdown
Contributor Author

Staged into https://cassandra.staged.apache.org/doc/latest/ and looks good

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant