-
Notifications
You must be signed in to change notification settings - Fork 209
Migrate documentation to Fern platform #1578
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
Closed
Closed
Changes from all commits
Commits
Show all changes
24 commits
Select commit
Hold shift + click to select a range
e486c1a
Add Fern docs migration: RST→MDX converter + scaffolding
ramakrishnap-nv 3fc287e
Wire REST API reference and Python API extraction into Fern docs
ramakrishnap-nv f2d93e7
Port install selector widget to Fern as native JS component
ramakrishnap-nv e54c395
Fix MDX parse errors; add Fern library docs config and Accordion conv…
ramakrishnap-nv 4218aa5
Fix all MDX parse errors preventing fern docs dev from loading
ramakrishnap-nv 80ad020
Remove curly braces and fix remaining MDX/acorn parse issues
ramakrishnap-nv ac545d5
Improve Fern docs: API readability, nav dedup, REST API placement, Op…
ramakrishnap-nv ada5515
Migrate docs to Fern: RST→MDX pipeline, version switcher, CI, build.sh
ramakrishnap-nv f12bdd9
docs: add Fern dependency declarations and fix build.sh checks
ramakrishnap-nv cbe26bf
docs: make ./build.sh docs start local preview server
ramakrishnap-nv 5410ba4
ci: add PR preview URL and artifact upload for docs review
ramakrishnap-nv a0c6d03
ci: add lychee URL link-checking job for generated MDX
ramakrishnap-nv 7664f55
docs: add Contributing to the Documentation section in README
ramakrishnap-nv 303cb7f
Add global-theme, navbar-links, two-stage PR preview, and fern broken…
ramakrishnap-nv 68c0b9f
Remove RST→MDX pipeline; edit MDX directly
ramakrishnap-nv 5694197
ci: publish docs on push to main, not docs-fern-migration
ramakrishnap-nv 128e421
Regenerate dynamic API docs on every build
ramakrishnap-nv 98368c1
ci: integrate Fern docs into existing docs-build workflow
ramakrishnap-nv 3c42477
cuopt-skill-evolution: require reading developer skill for any CI change
ramakrishnap-nv 6b157a0
Replace custom API doc extractors with numpydoc and Doxygen
ramakrishnap-nv 6ea938b
cuopt-skill-evolution: check for established tools before writing cus…
ramakrishnap-nv ff4dc17
docs: auto-discover Python API modules and drive C API from YAML config
ramakrishnap-nv 66d27b5
docs: copy examples into Fern tree and embed as code blocks in MDX
ramakrishnap-nv 502e943
docs: remove stale files and fold distance_engine into routing API page
ramakrishnap-nv File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
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
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
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
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
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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,41 @@ | ||
| # Doxyfile for fern/extract_c_api.py | ||
| # Processes the two cuOpt C API headers and outputs XML only. | ||
| # Run from the repo root: doxygen fern/Doxyfile | ||
| # XML is written to fern/.doxygen-xml/ (git-ignored). | ||
|
|
||
| DOXYFILE_ENCODING = UTF-8 | ||
| PROJECT_NAME = "cuOpt C API" | ||
| PROJECT_BRIEF = "NVIDIA cuOpt C API reference" | ||
| OUTPUT_DIRECTORY = fern/.doxygen-xml | ||
| CREATE_SUBDIRS = NO | ||
| OUTPUT_LANGUAGE = English | ||
| FULL_PATH_NAMES = NO | ||
| MARKDOWN_SUPPORT = YES | ||
| EXTENSION_MAPPING = h=C | ||
| OPTIMIZE_OUTPUT_FOR_C = YES | ||
|
|
||
| EXTRACT_ALL = YES | ||
| EXTRACT_PRIVATE = NO | ||
| EXTRACT_STATIC = NO | ||
|
|
||
| INPUT = cpp/include/cuopt/mathematical_optimization/cuopt_c.h \ | ||
| cpp/include/cuopt/mathematical_optimization/constants.h | ||
|
|
||
| INPUT_ENCODING = UTF-8 | ||
| FILE_PATTERNS = *.h | ||
| RECURSIVE = NO | ||
|
|
||
| ENABLE_PREPROCESSING = YES | ||
| MACRO_EXPANSION = YES | ||
| EXPAND_ONLY_PREDEF = NO | ||
| SKIP_FUNCTION_MACROS = YES | ||
|
|
||
| GENERATE_HTML = NO | ||
| GENERATE_LATEX = NO | ||
| GENERATE_XML = YES | ||
| XML_OUTPUT = xml | ||
| XML_PROGRAMLISTING = NO | ||
|
|
||
| QUIET = YES | ||
| WARNINGS = YES | ||
| WARN_IF_UNDOCUMENTED = NO |
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🔒 Security & Privacy | 🔴 Critical | 🏗️ Heavy lift
🧩 Analysis chain
🏁 Script executed:
Repository: NVIDIA/cuopt
Length of output: 24037
🏁 Script executed:
Repository: NVIDIA/cuopt
Length of output: 12462
🏁 Script executed:
Repository: NVIDIA/cuopt
Length of output: 211
🌐 Web query:
RAPIDS ci pr.yaml build.yaml RAPIDS_BUILD_TYPE Fern docs build_docs.sh💡 Result:
In the RAPIDS ecosystem, pr.yaml and build.yaml serve as the primary GitHub Actions workflow entry points, managing CI jobs for pull requests and main/release branches respectively [1]. These workflows orchestrate build processes by invoking various CI scripts, such as those located in the ci/ directory, and by utilizing standardized shared workflows [2][3][4][5]. Key components related to your query include: RAPIDS_BUILD_TYPE: This environment variable is used to specify the context of a build, typically taking values such as branch, nightly, or pull-request [3][6]. It is passed into CI jobs to configure build parameters, artifact handling, and other environment-specific logic [2][3]. Fern and Documentation Builds: RAPIDS has been migrating its documentation infrastructure from Sphinx to Fern [7][8]. This transition involves the following key components: fern/build_docs.sh: A wrapper script introduced to handle Fern-based documentation workflows, supporting modes such as check, preview, publish, and dev [7][8]. It manages the generation of API references and runs validation checks (e.g., fern check) [7][9]. ci/build_docs.sh: While previously used to run Sphinx-based documentation builds [5][10], this script has been updated in many repositories to integrate with or be replaced by the Fern-based documentation flow, ensuring documentation is correctly built and validated during CI [7][8]. build.sh: A local build script often updated to set relevant environment variables (like FERN_DOCS_DIR) and invoke fern/build_docs.sh [7][8][11]. These components together enable a standardized, reproducible CI process where documentation validation and builds are integrated alongside code builds and testing [7][8][12].
Citations:
🏁 Script executed:
Repository: NVIDIA/cuopt
Length of output: 8248
🏁 Script executed:
Repository: NVIDIA/cuopt
Length of output: 10198
🏁 Script executed:
Repository: NVIDIA/cuopt
Length of output: 1686
🏁 Script executed:
Repository: NVIDIA/cuopt
Length of output: 3145
🏁 Script executed:
Repository: NVIDIA/cuopt
Length of output: 3249
🏁 Script executed:
Repository: NVIDIA/cuopt
Length of output: 7067
🏁 Script executed:
Repository: NVIDIA/cuopt
Length of output: 5200
Separate Fern generation from secret-bearing publish jobs.
.github/workflows/build.yamland.github/workflows/pr.yamlcallci/build_docs.shwithsecrets: inherit, sofern/generate_api_docs.pyruns with repository secrets available. Keep generation secretless and runfern generate --docs --previewfrom a trustedworkflow_run/base-branch job; gate production publishing on an explicit trusted branch/event too.🤖 Prompt for AI Agents
Sources: Coding guidelines, Path instructions