-
Notifications
You must be signed in to change notification settings - Fork 19
Simplify Release Management with Static YAML Configuration #109
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
jjasghar
merged 13 commits into
llm-d:main
from
petecheslock:feat/refactor-release-sync
Oct 16, 2025
Merged
Simplify Release Management with Static YAML Configuration #109
jjasghar
merged 13 commits into
llm-d:main
from
petecheslock:feat/refactor-release-sync
Oct 16, 2025
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
… information fetching in components generator. Update deploy workflow to include GITHUB_TOKEN for authenticated requests. Signed-off-by: Pete Cheslock <[email protected]>
- Introduced `components-data.yaml` to serve as a single source of truth for component configurations and release information. - Updated `component-configs.js` to load component data from the new YAML file, eliminating the need for dynamic GitHub API calls. - Refactored the components generator to utilize static data from the YAML file, simplifying the documentation generation process. - Removed the `github-api-utils.js` file as its functionality is no longer needed. This change enhances maintainability and reduces complexity in managing component data. Signed-off-by: Pete Cheslock <[email protected]>
- Updated the README.md to include detailed instructions for updating to a new release, including an automated sync script. - Modified components-data.yaml to reflect the latest release version and date, ensuring accurate documentation. - Improved the guide generator to fetch content from the specific release version instead of the main branch, aligning documentation with released versions. - Enhanced source callouts in documentation to differentiate between release versions and main branch content. Signed-off-by: Pete Cheslock <[email protected]>
- Removed the GITHUB_TOKEN environment variable from the deployment workflow to streamline the build process. - Revised the README.md to clarify steps for cutting a new release, including detailed instructions for updating the YAML file and committing changes. - Improved clarity on the manual operations required for syncing and deploying documentation updates. Signed-off-by: Pete Cheslock <[email protected]>
…lify documentation path generation. The function was previously intended for future Docusaurus versioning but is currently unused, allowing for a more straightforward approach to path handling. Signed-off-by: Pete Cheslock <[email protected]>
Signed-off-by: Pete Cheslock <[email protected]>
✅ Deploy Preview for elaborate-kangaroo-25e1ee ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
- Updated README.md to clarify the synchronization process for components, guides, and community docs, including handling of special tag formats. - Refactored component configuration management in component-configs.js to streamline loading of component and release information from YAML. - Improved components-data.yaml to include version tags for components, ensuring accurate versioning in documentation. - Enhanced sync-release.mjs to transform version tags for specific repositories and update components with the latest release information. Signed-off-by: Pete Cheslock <[email protected]>
- Updated the createStandardTransform function to use 'ref' (version or branch) instead of just 'branch' when transforming content. This change enhances the flexibility of repository configurations by allowing for more accurate versioning in the transformation process. Signed-off-by: Pete Cheslock <[email protected]>
Signed-off-by: Pete Cheslock <[email protected]>
74db722 to
93787d9
Compare
- Revised CONTRIBUTING.md to reflect changes in component configuration file from `component-configs.js` to `components-data.yaml`. - Enhanced README.md to clarify the remote content system, including detailed instructions for syncing and managing components, guides, and community documentation. - Removed the outdated remote-content/README.md file to streamline documentation. - Updated repo-transforms.js with a TODO comment regarding future link fixes after the next llm-d release. Signed-off-by: Pete Cheslock <[email protected]>
- Updated the createSourceCallout function to accept an optional mainReleaseVersion parameter, allowing for more informative documentation callouts based on version tags. - Added scenarios to differentiate between documentation for version tags with and without the main release version, improving clarity for users. - Modified the generateComponentRemoteSource function to pass the mainReleaseVersion from components data, ensuring accurate versioning in generated content. Signed-off-by: Pete Cheslock <[email protected]>
…se versions - Changed the output filename for transformed documentation from `00_architecture.mdx` to `architecture.mdx`. - Implemented synchronization with the specific release version defined in `components-data.yaml`, ensuring that documentation aligns with the released version rather than the main branch. - Updated URL generation to utilize the release version for fetching content, enhancing the accuracy of the documentation transformation process. Signed-off-by: Pete Cheslock <[email protected]>
4c593e7 to
f11409c
Compare
Signed-off-by: Pete Cheslock <[email protected]>
jjasghar
approved these changes
Oct 16, 2025
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Problem
The previous system queried the GitHub API during builds to fetch release information, which added complexity, required tokens to avoid rate limits, and slowed down builds. The release workflow was unclear and builds had external dependencies that could fail.
Solution
Replace API-based syncing with a simple static YAML file that gets updated manually (via a script) when cutting a release. The build process now just reads from this committed file—no API calls, no tokens, no external dependencies during builds.
Changes
Release Management
components-data.yamlas the single source of truth for:sync-release.mjs- a one-time script that queries the GitHub API to update the YAML file when cutting a releaserelease-info.jsonand the oldgithub-api-utils.js(no longer needed)GITHUB_TOKENfrom CI workflow since builds no longer make API callscomponent-configs.jsto load from YAML instead of hardcoded arraysjs-yamldependency for YAML parsingGuide Versioning
guide-generator.jsto fetch guides from release tags (e.g.,v0.3.0) instead ofmainbranchSource Attribution
mainbranchDocumentation
docs/community/events.md- removed past events (Oct 2025 IBM TechXchange, All Things Open)Release Workflow
When a new llm-d release is published, the process is now crystal clear:
Key distinction: The script queries the API → commits a static file → the build reads that file. No API calls during builds.
Content Synchronization Strategy
The documentation now uses three distinct synchronization strategies based on content type:
1. Components (
/docs/architecture/Components/)Sync from individual component release tags
llm-d-inference-scheduler→v0.3.2llm-d-routing-sidecar→v0.3.0llm-d-modelservice→llm-d-modelservice-v0.2.10(special format)2. Guides (
/docs/guide/)Sync from llm-d/llm-d release tag (e.g.,
v0.3.0)3. Community (
/docs/community/)Always sync from
mainbranch