Website: Implement Docusaurus versioning system with automated CI deployment and retroactive versioning #1459
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR implements a comprehensive documentation versioning system using Docusaurus's built-in versioning capabilities. The system allows users to access documentation for specific releases while maintaining the current development documentation at the root path.
Changes Made
Enhanced Docusaurus Configuration
docusaurus.config.ts
to properly support multiple documentation versionsonlyIncludeVersions
setting that was limiting version displayAdded Makefile Commands for Version Management
docs-version-create VERSION=x.y.z
- Creates a new documentation version snapshotdocs-version-list
- Lists all available documentation versionsdocs-version-clean
- Shows files that would be removed (safe preview)docs-version-clean-force
- Force removes all versioned documentationrelease-docs-version VERSION=x.y.z
- Integrated command for release workflowUpdated Release Process Integration
make release-*
commandsAutomated CI/CD Pipeline
.github/workflows/docs.yaml
to automatically deploy versioned documentation on release tagsComprehensive Documentation
/docs/appendix/documentation-versioning
How It Works
Manual Version Creation
When a new release is created, the team can run:
Automated CI Deployment
When a release tag is created (e.g.,
v1.2.3
), GitHub Actions automatically:Retroactive Versioning for Previous Releases
The documentation now includes comprehensive instructions for creating documentation versions for releases that were made before the versioning system was implemented. This process enables creating versions for historical releases like v0.17.0 by:
This creates a snapshot of the current documentation under
website/versioned_docs/version-1.2.3/
, making it accessible at/docs/1.2.3/
. Users can then switch between versions using the dropdown in the navigation bar.Version Behavior
The system preserves the exact state of documentation at release time, ensuring users can always access relevant docs for their specific version of the software. The automated CI pipeline ensures versioned documentation is immediately available when releases are published, and the retroactive versioning capability enables creating documentation for any previous release.
Fixes #1458.
💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click here to start the survey.