Volcano Website: Docusaurus migration POC with scheduler docs, versioning, CI, and UI revamp#479
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
11c858f to
081c6b3
Compare
Summary of ChangesHello @aaradhychinche-alt, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request marks a foundational step in enhancing the Volcano project's online presence and documentation infrastructure. By transitioning to Docusaurus, the project gains a more robust and feature-rich platform capable of supporting advanced documentation needs like versioning and component-driven content. The changes encompass a significant overhaul of the scheduler documentation, a fresh UI design, and the establishment of automated quality checks, all contributing to a more maintainable and user-friendly website. Highlights
🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console. Changelog
Ignored Files
Activity
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Code Review
This is an excellent proof-of-concept for migrating the Volcano website to Docusaurus. The new homepage is a significant improvement with its modern design and engaging animations. The documentation for the scheduler has been well-structured into plugins and actions, which will make it much easier for users to navigate. The use of versioning and CI for build validation are also great additions.
My review includes a few critical and medium-severity suggestions to improve the project's stability, maintainability, and correctness before the full migration. These include addressing a corrupted logo file, using stable dependencies, removing placeholder configurations, and improving code style by avoiding inline styles. Overall, this is a very strong start and a promising direction for the Volcano website.
| @@ -0,0 +1 @@ | |||
| <svg width="200" height="200" viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path fill="#FFF" d="M99 52h84v34H99z"/><path d="M23 163c-7.398 0-13.843-4.027-17.303-10A19.886 19.886 0 0 0 3 163c0 11.046 8.954 20 20 20h20v-20H23z" fill="#3ECC5F"/><path d="M112.98 57.376L183 53V43c0-11.046-8.954-20-20-20H73l-2.5-4.33c-1.112-1.925-3.889-1.925-5 0L63 23l-2.5-4.33c-1.111-1.925-3.889-1.925-5 0L53 23l-2.5-4.33c-1.111-1.925-3.889-1.925-5 0L43 23c-.022 0-.042.003-.065.003l-4.142-4.141c-1.57-1.571-4.252-.853-4.828 1.294l-1.369 5.104-5.192-1.392c-2.148-.575-4.111 1.389-3.535 3.536l1.39 5.193-5.102 1.367c-2.148.576-2.867 3.259-1.296 4.83l4.142 4.142c0 .021-.003.042-.003.064l-4.33 2.5c-1.925 1.111-1.925 3.889 0 5L23 53l-4.33 2.5c-1.925 1.111-1.925 3.889 0 5L23 63l-4.33 2.5c-1.925 1.111-1.925 3.889 0 5L23 73l-4.33 2.5c-1.925 1.111-1.925 3.889 0 5L23 83l-4.33 2.5c-1.925 1.111-1.925 3.889 0 5L23 93l-4.33 2.5c-1.925 1.111-1.925 3.889 0 5L23 103l-4.33 2.5c-1.925 1.111-1.925 3.889 0 5L23 113l-4.33 2.5c-1.925 1.111-1.925 3.889 0 5L23 123l-4.33 2.5c-1.925 1.111-1.925 3.889 0 5L23 133l-4.33 2.5c-1.925 1.111-1.925 3.889 0 5L23 143l-4.33 2.5c-1.925 1.111-1.925 3.889 0 5L23 153l-4.33 2.5c-1.925 1.111-1.925 3.889 0 5L23 163c0 11.046 8.954 20 20 20h120c11.046 0 20-8.954 20-20V83l-70.02-4.376A10.645 10.645 0 0 1 103 68c0-5.621 4.37-10.273 9.98-10.624" fill="#3ECC5F"/><path fill="#3ECC5F" d="M143 183h30v-40h-30z"/><path d="M193 158c-.219 0-.428.037-.639.064-.038-.15-.074-.301-.116-.451A5 5 0 0 0 190.32 148a4.96 4.96 0 0 0-3.016 1.036 26.531 26.531 0 0 0-.335-.336 4.955 4.955 0 0 0 1.011-2.987 5 5 0 0 0-9.599-1.959c-.148-.042-.297-.077-.445-.115.027-.211.064-.42.064-.639a5 5 0 0 0-5-5 5 5 0 0 0-5 5c0 .219.037.428.064.639-.148.038-.297.073-.445.115a4.998 4.998 0 0 0-9.599 1.959c0 1.125.384 2.151 1.011 2.987-3.717 3.632-6.031 8.693-6.031 14.3 0 11.046 8.954 20 20 20 9.339 0 17.16-6.41 19.361-15.064.211.027.42.064.639.064a5 5 0 0 0 5-5 5 5 0 0 0-5-5" fill="#44D860"/><path fill="#3ECC5F" d="M153 123h30v-20h-30z"/><path d="M193 115.5a2.5 2.5 0 1 0 0-5c-.109 0-.214.019-.319.032-.02-.075-.037-.15-.058-.225a2.501 2.501 0 0 0-.963-4.807c-.569 0-1.088.197-1.508.518a6.653 6.653 0 0 0-.168-.168c.314-.417.506-.931.506-1.494a2.5 2.5 0 0 0-4.8-.979A9.987 9.987 0 0 0 183 103c-5.522 0-10 4.478-10 10s4.478 10 10 10c.934 0 1.833-.138 2.69-.377a2.5 2.5 0 0 0 4.8-.979c0-.563-.192-1.077-.506-1.494.057-.055.113-.111.168-.168.42.321.939.518 1.508.518a2.5 2.5 0 0 0 .963-4.807c.021-.074.038-.15.058-.225.105.013.21.032.319.032" fill="#44D860"/><path d="M63 55.5a2.5 2.5 0 0 1-2.5-2.5c0-4.136-3.364-7.5-7.5-7.5s-7.5 3.364-7.5 7.5a2.5 2.5 0 1 1-5 0c0-6.893 5.607-12.5 12.5-12.5S65.5 46.107 65.5 53a2.5 2.5 0 0 1-2.5 2.5" fill="#000"/><path d="M103 183h60c11.046 0 20-8.954 20-20V93h-60c-11.046 0-20 8.954-20 20v70z" fill="#FFFF50"/><path d="M168.02 124h-50.04a1 1 0 1 1 0-2h50.04a1 1 0 1 1 0 2m0 20h-50.04a1 1 0 1 1 0-2h50.04a1 1 0 1 1 0 2m0 20h-50.04a1 1 0 1 1 0-2h50.04a1 1 0 1 1 0 2m0-49.814h-50.04a1 1 0 1 1 0-2h50.04a1 1 0 1 1 0 2m0 19.814h-50.04a1 1 0 1 1 0-2h50.04a1 1 0 1 1 0 2m0 20h-50.04a1 1 0 1 1 0-2h50.04a1 1 0 1 1 0 2M183 61.611c-.012 0-.022-.006-.034-.005-3.09.105-4.552 3.196-5.842 5.923-1.346 2.85-2.387 4.703-4.093 4.647-1.889-.068-2.969-2.202-4.113-4.46-1.314-2.594-2.814-5.536-5.963-5.426-3.046.104-4.513 2.794-5.807 5.167-1.377 2.528-2.314 4.065-4.121 3.994-1.927-.07-2.951-1.805-4.136-3.813-1.321-2.236-2.848-4.75-5.936-4.664-2.994.103-4.465 2.385-5.763 4.4-1.373 2.13-2.335 3.428-4.165 3.351-1.973-.07-2.992-1.51-4.171-3.177-1.324-1.873-2.816-3.993-5.895-3.89-2.928.1-4.399 1.97-5.696 3.618-1.232 1.564-2.194 2.802-4.229 2.724a1 1 0 0 0-.072 2c3.017.101 4.545-1.8 5.872-3.487 1.177-1.496 2.193-2.787 4.193-2.855 1.926-.082 2.829 1.115 4.195 3.045 1.297 1.834 2.769 3.914 5.731 4.021 3.103.104 4.596-2.215 5.918-4.267 1.182-1.834 2.202-3.417 4.15-3.484 1.793-.067 2.769 1.35 4.145 3.681 1.297 2.197 2.766 4.686 5.787 4.796 3.125.108 4.634-2.62 5.949-5.035 1.139-2.088 2.214-4.06 4.119-4.126 1.793-.042 2.728 1.595 4.111 4.33 1.292 2.553 2.757 5.445 5.825 5.556l.169.003c3.064 0 4.518-3.075 5.805-5.794 1.139-2.41 2.217-4.68 4.067-4.773v-2z" fill="#000"/><path fill="#3ECC5F" d="M83 183h40v-40H83z"/><path d="M143 158c-.219 0-.428.037-.639.064-.038-.15-.074-.301-.116-.451A5 5 0 0 0 140.32 148a4.96 4.96 0 0 0-3.016 1.036 26.531 26.531 0 0 0-.335-.336 4.955 4.955 0 0 0 1.011-2.987 5 5 0 0 0-9.599-1.959c-.148-.042-.297-.077-.445-.115.027-.211.064-.42.064-.639a5 5 0 0 0-5-5 5 5 0 0 0-5 5c0 .219.037.428.064.639-.148.038-.297.073-.445.115a4.998 4.998 0 0 0-9.599 1.959c0 1.125.384 2.151 1.011 2.987-3.717 3.632-6.031 8.693-6.031 14.3 0 11.046 8.954 20 20 20 9.339 0 17.16-6.41 19.361-15.064.211.027.42.064.639.064a5 5 0 0 0 5-5 5 5 0 0 0-5-5" fill="#44D860"/><path fill="#3ECC5F" d="M83 123h40v-20H83z"/><path d="M133 115.5a2.5 2.5 0 1 0 0-5c-.109 0-.214.019-.319.032-.02-.075-.037-.15-.058-.225a2.501 2.501 0 0 0-.963-4.807c-.569 0-1.088.197-1.508.518a6.653 6.653 0 0 0-.168-.168c.314-.417.506-.931.506-1.494a2.5 2.5 0 0 0-4.8-.979A9.987 9.987 0 0 0 123 103c-5.522 0-10 4.478-10 10s4.478 10 10 10c.934 0 1.833-.138 2.69-.377a2.5 2.5 0 0 0 4.8-.979c0-.563-.192-1.077-.506-1.494.057-.055.113-.111.168-.168.42.321.939.518 1.508.518a2.5 2.5 0 0 0 .963-4.807c.021-.074.038-.15.058-.225.105.013.21.032.319.032" fill="#44D860"/><path d="M143 41.75c-.16 0-.33-.02-.49-.05a2.52 2.52 0 0 1-.47-.14c-.15-.06-.29-.14-.431-.23-.13-.09-.259-.2-.38-.31-.109-.12-.219-.24-.309-.38s-.17-.28-.231-.43a2.619 2.619 0 0 1-.189-.96c0-.16.02-.33.05-.49.03-.16.08-.31.139-.47.061-.15.141-.29.231-.43.09-.13.2-.26.309-.38.121-.11.25-.22.38-.31.141-.09.281-.17.431-.23.149-.06.31-.11.47-.14.32-.07.65-.07.98 0 .159.03.32.08.47.14.149.06.29.14.43.23.13.09.259.2.38.31.11.12.22.25.31.38.09.14.17.28.23.43.06.16.11.31.14.47.029.16.05.33.05.49 0 .66-.271 1.31-.73 1.77-.121.11-.25.22-.38.31-.14.09-.281.17-.43.23a2.565 2.565 0 0 1-.96.19m20-1.25c-.66 0-1.3-.27-1.771-.73a3.802 3.802 0 0 1-.309-.38c-.09-.14-.17-.28-.231-.43a2.619 2.619 0 0 1-.189-.96c0-.66.27-1.3.729-1.77.121-.11.25-.22.38-.31.141-.09.281-.17.431-.23.149-.06.31-.11.47-.14.32-.07.66-.07.98 0 .159.03.32.08.47.14.149.06.29.14.43.23.13.09.259.2.38.31.459.47.73 1.11.73 1.77 0 .16-.021.33-.05.49-.03.16-.08.32-.14.47-.07.15-.14.29-.23.43-.09.13-.2.26-.31.38-.121.11-.25.22-.38.31-.14.09-.281.17-.43.23a2.565 2.565 0 0 1-.96.19" fill="#000"/></g></svg> No newline at end of file | |||
There was a problem hiding this comment.
The logo.svg file appears to be corrupted or incorrectly generated. It seems to contain elements of the Docusaurus "keytar" logo underneath a white rectangle. This should be corrected to use a clean version of the Volcano logo to ensure proper branding and avoid any potential licensing issues with embedded assets.
| "react": "^19.0.0", | ||
| "react-dom": "^19.0.0" |
There was a problem hiding this comment.
The project is configured to use React 19, which is currently in a release candidate stage. Using pre-release versions of core dependencies like React in a production project is risky and can lead to unexpected issues and breaking changes. It's recommended to use the latest stable version of React 18, which is officially supported by Docusaurus v3, to ensure stability.
| "react": "^19.0.0", | |
| "react-dom": "^19.0.0" | |
| "react": "^18.0.0", | |
| "react-dom": "^18.0.0" |
| }, | ||
|
|
||
| // Set the production url of your site here | ||
| url: 'https://your-docusaurus-site.example.com', |
There was a problem hiding this comment.
The url field in the configuration is set to a placeholder value. This should be updated to the actual production URL of the website to ensure that metadata, sitemaps, and canonical URLs are generated correctly.
| url: 'https://your-docusaurus-site.example.com', | |
| url: 'https://volcano.sh', |
| editUrl: | ||
| 'https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/', |
There was a problem hiding this comment.
The editUrl for the blog is pointing to a placeholder URL from the Docusaurus template repository. This should be updated to point to the correct location in the Volcano project repository to allow users to easily suggest edits to blog posts.
| editUrl: | |
| 'https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/', | |
| editUrl: | |
| 'https://github.com/volcano-sh/website/tree/main/volcano-docs-docusaurus/', |
|
|
||
| themeConfig: { | ||
| // Replace with your project's social card | ||
| image: 'img/docusaurus-social-card.jpg', |
There was a problem hiding this comment.
The image property in themeConfig is using a placeholder social card image from Docusaurus. This should be replaced with a Volcano-branded image to ensure proper branding when links to the site are shared on social media.
| image: 'img/docusaurus-social-card.jpg', | |
| image: 'img/volcano-social-card.jpg', |
| label: 'Architecture', | ||
| to: '/docs/intro', | ||
| }, | ||
| { | ||
| label: 'Getting Started', | ||
| to: '/docs/intro', | ||
| }, |
There was a problem hiding this comment.
Some of the links in the footer, such as 'Architecture' and 'Getting Started', point to the placeholder /docs/intro page. These should be updated to point to the correct, relevant pages once they are created to improve site navigation.
{
label: 'Architecture',
to: '/docs/architecture', // TODO: Update to correct path
},
{
label: 'Getting Started',
to: '/docs/getting-started', // TODO: Update to correct path
},| const Figure: React.FC<FigureProps> = ({ src, title, alt, width }) => { | ||
| return ( | ||
| <figure style={{ textAlign: 'center', margin: '1.5rem 0' }}> | ||
| <img | ||
| src={src} | ||
| alt={alt || title || 'Figure'} | ||
| style={{ | ||
| maxWidth: width || '100%', | ||
| height: 'auto', | ||
| display: 'block', | ||
| margin: '0 auto', | ||
| }} | ||
| /> | ||
| {title && ( | ||
| <figcaption style={{ marginTop: '0.5rem', fontStyle: 'italic', color: '#666' }}> | ||
| {title} | ||
| </figcaption> | ||
| )} | ||
| </figure> | ||
| ); | ||
| }; | ||
|
|
||
| export default Figure; |
There was a problem hiding this comment.
The Figure component uses inline styles for layout and presentation. It's a best practice to move these styles into a dedicated CSS module (.module.css). This improves maintainability, allows for easier theming (e.g., for dark mode), and separates concerns between component logic and styling.
For example, you could create a Figure.module.css file with the following content:
.figure {
text-align: center;
margin: 1.5rem 0;
}
.figureImg {
height: auto;
display: block;
margin: 0 auto;
}
.figureCaption {
margin-top: 0.5rem;
font-style: italic;
color: #666;
}
[data-theme='dark'] .figureCaption {
color: #9e9e9e;
}And then update the component to use these classes:
import React from 'react';
import styles from './Figure.module.css';
// ... (interface remains the same)
const Figure: React.FC<FigureProps> = ({ src, title, alt, width }) => {
return (
<figure className={styles.figure}>
<img
src={src}
alt={alt || title || 'Figure'}
className={styles.figureImg}
style={{ maxWidth: width || '100%' }}
/>
{title && (
<figcaption className={styles.figureCaption}>
{title}
</figcaption>
)}
</figure>
);
};| <Heading as="h1" className="hero__title" style={{ | ||
| fontSize: '3.5rem', | ||
| marginBottom: '1rem', | ||
| // color handled by CSS variable | ||
| }}> | ||
| Volcano | ||
| </Heading> | ||
| <p className="hero__subtitle" style={{ | ||
| fontSize: '1.3rem', | ||
| marginBottom: '2rem', | ||
| // color handled by CSS variable | ||
| }}> | ||
| Cloud-Native Batch Scheduling for Kubernetes and AI Workloads | ||
| </p> |
There was a problem hiding this comment.
The HomepageHero component uses inline styles for font sizes and margins. To improve maintainability and ensure a consistent design system, it's better to move these styles to the corresponding CSS module (index.module.css). This keeps styling separate from the component's logic and makes it easier to manage theme changes.
For example, you could add these classes to index.module.css:
.heroTitle {
font-size: 3.5rem;
margin-bottom: 1rem;
}
.heroSubtitle {
font-size: 1.3rem;
margin-bottom: 2rem;
}And then apply them in your component:
<Heading as="h1" className={clsx('hero__title', styles.heroTitle)}>
Volcano
</Heading>
<p className={clsx('hero__subtitle', styles.heroSubtitle)}>
Cloud-Native Batch Scheduling for Kubernetes and AI Workloads
</p>081c6b3 to
ae508c4
Compare
|
The preview does not show it is functionally Docusaurus; please add the .docusaurus and .config files that Docusaurus uses for the build, or else this PR does not make any sense? You just changed file/folder name...based on the Netlify preview. |
ae508c4 to
72b4158
Compare
Thanks for calling that out — agreed that the preview was misleading. I’ve added: A Netlify config that builds the Docusaurus site from volcano-docs-docusaurus/ Root-level migration docs explaining the structure and rollout plan Validation + quick-start instructions CI confirmation The preview should now reflect the Docusaurus build instead of Hugo. |
Signed-off-by: Aaradhy Chinche <aaradhychinche@gmail.com>
…aurus migration Signed-off-by: Aaradhy Chinche <aaradhychinche@gmail.com>
…rformance optimizations Signed-off-by: Aaradhy Chinche <aaradhychinche@gmail.com>
Signed-off-by: Aaradhy Chinche <aaradhychinche@gmail.com>
Signed-off-by: Aaradhy Chinche <aaradhychinche@gmail.com>
Regenerate package-lock.json to fix Netlify deploy preview failure: - npm error: package.json and package-lock.json out of sync - Missing: search-insights@2.17.3 from lock file Changes: - @types/node: 25.2.1 -> 25.2.2 (patch update) - Lockfile now fully deterministic for npm ci Verified: - npm ci passes without errors - npm run build succeeds (compiled in ~11s) - No dependency upgrades, only lockfile sync Signed-off-by: Aaradhy Chinche <aaradhychinche@gmail.com>
…licit config Root cause: Netlify cache poisoning + ambiguous npm configuration - Removed NPM_FLAGS=--legacy-peer-deps (interferes with lockfile validation) - Added 'rm -rf node_modules' to all build commands (cache busting) - Added NPM_CONFIG_WORKSPACE=false (prevent parent directory search) - Added NPM_CONFIG_LOGLEVEL=verbose (better debugging) The issue was NOT missing search-insights in lockfile (it's present). The issue was Netlify's cached node_modules + legacy-peer-deps flag causing npm to bypass strict lockfile validation. Verified locally: - rm -rf node_modules && npm ci -> SUCCESS (1296 packages, 0 vulnerabilities) - npm run build -> SUCCESS (compiled in ~11s) This ensures deterministic builds by forcing fresh installs and explicit npm configuration on every Netlify deploy. Signed-off-by: Aaradhy Chinche <aaradhychinche@gmail.com>
…allation The NPM_CONFIG_WORKSPACE=false setting was causing Netlify's automatic 'npm install' during dependency installation phase to fail with: npm error No workspaces found: --workspace=false This happens because: 1. Netlify runs 'npm install' before our custom build command 2. NPM_CONFIG_WORKSPACE=false is applied to that command 3. npm interprets --workspace=false as expecting a workspace setup 4. Since we don't have workspaces, it errors out Solution: Remove NPM_CONFIG_WORKSPACE entirely - We only have ONE package.json (no workspaces) - No parent directory search issues - Cache busting (rm -rf node_modules) is sufficient Kept NPM_CONFIG_LOGLEVEL=verbose for debugging. This should allow Netlify's dependency installation to succeed. Signed-off-by: Aaradhy Chinche <aaradhychinche@gmail.com>
Remove internal troubleshooting files created during Netlify/CI debugging: - GIT-COMMIT-SUMMARY.md - Temporary commit guidance - NETLIFY-BUILD-FIX.md - Debugging notes - NETLIFY-CI-FIX-SUMMARY.md - Troubleshooting summary - QUICK-FIX-CHECKLIST.md - Internal quick reference - QUICK-START.md - Duplicate quick start (covered in migration docs) - TASK-COMPLETION-SUMMARY.md - Internal task tracking Kept for reviewers/contributors: - Docusaurus-MIGRATION.md - Essential migration guide - MIGRATION-VALIDATION.md - Validation report for reviewers - DCO-FIX-INSTRUCTIONS.md - Contributor guide This cleanup reduces PR noise while preserving documentation valuable to CNCF reviewers and future contributors. Verified: - npm ci passes - npm run build passes Signed-off-by: Aaradhy Chinche <aaradhychinche@gmail.com>
The publish path needs to be relative to the repo root, not the base directory. Netlify was looking for /opt/build/repo/build instead of /opt/build/repo/volcano-docs-docusaurus/build. Changed: - publish = "build" (relative to base, but Netlify misinterprets) - publish = "volcano-docs-docusaurus/build" (explicit repo-root relative) This fixes the deploy error: 'Deploy directory build does not exist' Tested: Build output is at volcano-docs-docusaurus/build/ Signed-off-by: Aaradhy Chinche <aaradhychinche@gmail.com>
e478f8d to
c3c9f79
Compare
Netlify concatenates base + publish paths, causing doubled path: - base = 'volcano-docs-docusaurus' - publish = 'volcano-docs-docusaurus/build' - Result: /opt/build/repo/volcano-docs-docusaurus/volcano-docs-docusaurus/build ❌ Correct configuration: - base = 'volcano-docs-docusaurus' - publish = 'build' (relative to base) - Result: /opt/build/repo/volcano-docs-docusaurus/build ✅ This fixes deploy error: 'Deploy directory volcano-docs-docusaurus/volcano-docs-docusaurus/build does not exist' Signed-off-by: Aaradhy Chinche <aaradhychinche@gmail.com>
… UI settings The CNCF Volcano Netlify has Hugo build settings in the UI that we cannot change. To ensure our Docusaurus build works for PR previews, we need to explicitly set base, command, and publish in EVERY context. Changes: - Added base/command/publish to [context.production] - Added base/publish to [context.deploy-preview] - Added base/publish to [context.branch-deploy] - Added NPM_CONFIG_LOGLEVEL to all contexts for debugging This ensures netlify.toml fully overrides any UI configuration for: - Production deploys - Deploy previews (PRs) ← Most important for migration review - Branch deploys Without this, Netlify uses Hugo command from UI settings instead of our Docusaurus build, causing deploy failures. Signed-off-by: Aaradhy Chinche <aaradhychinche@gmail.com>
…resolution Netlify's base + publish concatenation is not working correctly. When base='volcano-docs-docusaurus' and publish='build', Netlify resolves to /opt/build/repo/build instead of /opt/build/repo/volcano-docs-docusaurus/build. Workaround: Use explicit full path from repo root for all contexts. Changed all publish directives from: publish = 'build' To: publish = 'volcano-docs-docusaurus/build' This ensures Netlify finds the build output at the correct location regardless of base directory resolution issues. Signed-off-by: Aaradhy Chinche <aaradhychinche@gmail.com>
|
Keywords which can automatically close issues and at(@) or hashtag(#) mentions are not allowed in commit messages. The list of commits with invalid commit messages:
DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here. |
Volcano Website: Docusaurus Migration Proof of Concept
Summary
This PR provides an early proof-of-concept for migrating the Volcano website from Hugo to Docusaurus and modernizing the documentation experience.
It includes:
Motivation
The current Hugo-based site is difficult to extend and lacks modern features such as first-class versioning, component-driven documentation, and automated validation.
This PR explores the feasibility of:
Related Mentorship Project & Issues
This work is part of the LFX mentorship project:
Volcano documentation & website revamp with Docusaurus
Related issues:
Scope
This is a draft / exploratory PR intended to gather early feedback from maintainers before completing the full migration.
Follow-ups
Future work would include:
Testing
npm run buildsucceeds locallyNotes for Maintainers
Feedback on the following areas would be especially valuable:
Thank you for taking the time to review this exploratory PR.