Skip to content

ci: install sphinx rustdoc generator#52

Merged
willkill07 merged 1 commit into
NVIDIA:mainfrom
willkill07:wkk_fix-docs-linkcheck-rustdocgen
May 3, 2026
Merged

ci: install sphinx rustdoc generator#52
willkill07 merged 1 commit into
NVIDIA:mainfrom
willkill07:wkk_fix-docs-linkcheck-rustdocgen

Conversation

@willkill07
Copy link
Copy Markdown
Member

@willkill07 willkill07 commented May 3, 2026

Overview

Install the Rust documentation generator required by sphinxcontrib-rust in the documentation CI job so just docs-linkcheck can generate Rust API docs before Sphinx link checking.

  • I confirm this contribution is my own work, or I have the right to submit it under this project's license.
  • I searched existing issues and open pull requests, and this does not duplicate existing work.

Details

  • Added sphinx-rustdocgen@1.0.1 to the existing taiki-e/install-action tool list in .github/workflows/ci_docs.yml.
  • Kept the fix CI-scoped; the justfile docs recipes are unchanged.
  • Pinned the generator to 1.0.1 to match the currently locked sphinxcontrib-rust Python package version used by the docs dependency group.
  • sphinxcontrib-rust includes a setup.py install hook for building sphinx-rustdocgen, but uv sync builds and installs a wheel from the sdist rather than running setup.py install; wheel installation does not execute that custom install command, so CI must provide the executable explicitly.

Validation:

  • ruby -e 'require "yaml"; YAML.load_file(".github/workflows/ci_docs.yml"); puts "yaml-ok"' passed.
  • git diff --check -- .github/workflows/ci_docs.yml passed.
  • uv run pre-commit run --files .github/workflows/ci_docs.yml passed.
  • NEMO_FLOW_DOCS_DEPS_READY=1 just docs-linkcheck passed locally. Local environment already had sphinx-rustdocgen; the workflow change ensures CI has the same required executable before running the same command.

Where should the reviewer start?

Start with .github/workflows/ci_docs.yml, where the documentation tool install step now installs both just and sphinx-rustdocgen.

Related Issues: (use one of the action keywords Closes / Fixes / Resolves / Relates to)

  • Relates to: none

Summary by CodeRabbit

Release Notes

  • Chores
    • Updated documentation CI workflow to include additional tooling for enhanced documentation generation capabilities.

Signed-off-by: Will Killian <wkillian@nvidia.com>
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 3, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Enterprise

Run ID: 781bf9db-3b9e-4645-a59d-afc3e2a8e0d9

📥 Commits

Reviewing files that changed from the base of the PR and between 5719bcd and ffac6f5.

📒 Files selected for processing (1)
  • .github/workflows/ci_docs.yml
📜 Recent review details
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (9)
  • GitHub Check: Python / Package / macos-arm64
  • GitHub Check: Python / Package / linux-arm64
  • GitHub Check: Python / Package / linux-amd64
  • GitHub Check: Python / Package / windows-arm64
  • GitHub Check: Python / Package / windows-amd64
  • GitHub Check: Node.js / Package / windows-amd64
  • GitHub Check: Node.js / Package / windows-arm64
  • GitHub Check: Node.js / Package / macos-arm64
  • GitHub Check: WebAssembly / Test / windows-arm64
🧰 Additional context used
📓 Path-based instructions (4)
.github/workflows/**/*.{yml,yaml}

📄 CodeRabbit inference engine (.agents/skills/maintain-ci/SKILL.md)

.github/workflows/**/*.{yml,yaml}: Put permissions: on each job that needs token access in GitHub Actions workflows
Avoid workflow-level permissions unless the repository intentionally centralizes them and the inheritance tradeoff is documented
Keep third-party actions pinned to full commit SHAs and preserve the readable version comment after the SHA
Prefer action-native or ecosystem-native caching over generic actions/cache in GitHub Actions workflows
Use lockfiles or dependency manifests to drive cache invalidation in GitHub Actions workflows
Keep deploy and publish permissions isolated to the jobs that need them
Read both caller and callee when a workflow uses workflow_call in GitHub Actions
Put release-tag validation in the earliest practical caller job when the pipeline has tag-based publish behavior
Keep release-tag policy aligned with RELEASING.md: raw SemVer tags only, no leading v
contents: read is the default minimum for checkout-based build, test, docs, and packaging jobs
pull-requests: read is required for PR metadata lookup jobs in GitHub Actions workflows
pages: write and id-token: write should be limited to Pages deployment jobs and any caller that invokes them through a reusable workflow
For reusable workflows, the caller must grant every permission the called jobs require and the callee cannot elevate beyond what the caller provides
Prefer astral-sh/setup-uv cache support with cache-dependency-glob anchored to uv.lock for Python dependency caching
Prefer Swatinem/rust-cache with explicit shared-key and workspaces instead of ad hoc target-directory caching
Avoid caching generated outputs that can hide stale behavior unless the repo already relies on them deliberately
Ensure each job has the minimum permissions it needs during GitHub Actions CI review
Ensure reusable workflow callers grant only the scopes their callees require
Ensure every external action is pinned to a full SHA in GitHub Actions workflows
Ensure cache ...

Files:

  • .github/workflows/ci_docs.yml
{.github/workflows/**/*.{yml,yaml},.gitlab-ci.yml}

📄 CodeRabbit inference engine (.agents/skills/maintain-packaging/SKILL.md)

Keep CI workflow package name references consistent with local package configurations

Files:

  • .github/workflows/ci_docs.yml
{.github/**/*.{yml,yaml},*.patch,scripts/**/*,*.sh,*.bat,Dockerfile*}

📄 CodeRabbit inference engine (.agents/skills/rename-surfaces/SKILL.md)

Update CI configuration, patch files, and build scripts with new functional identifiers after rename operations

Files:

  • .github/workflows/ci_docs.yml
{.github/**,.gitlab-ci.yml,.pre-commit-config.yaml,justfile,scripts/**}

⚙️ CodeRabbit configuration file

{.github/**,.gitlab-ci.yml,.pre-commit-config.yaml,justfile,scripts/**}: Review automation changes for reproducibility, pinned versions where appropriate, secret handling, and consistency with the documented validation matrix.
Pay attention to commands that need generated native artifacts, FFI libraries, or platform-specific environment variables.

Files:

  • .github/workflows/ci_docs.yml
🧠 Learnings (1)
📚 Learning: 2026-05-03T04:23:07.497Z
Learnt from: willkill07
Repo: NVIDIA/NeMo-Flow PR: 46
File: .github/workflows/ci_rust.yml:31-64
Timestamp: 2026-05-03T04:23:07.497Z
Learning: In GitHub Actions workflow YAML, it’s valid to conditionally disable a service container by setting the service container’s `image` to an empty string (`''`) via a matrix variable (e.g., `redis_service_image: ''`). This intentionally makes the runner skip service initialization for that matrix entry rather than failing the job. When reviewing workflows, don’t flag this as an error if the workflow uses an empty `image` to disable the service on specific matrix entries (e.g., OS-specific setups); verify the `image` is sourced from the matrix variable and that the service is only expected to be available when a non-empty image is provided.

Applied to files:

  • .github/workflows/ci_docs.yml
🔇 Additional comments (1)
.github/workflows/ci_docs.yml (1)

82-82: Good addition: explicit rustdoc generator pin for docs CI

Line 82 cleanly extends the managed tool install list with sphinx-rustdocgen@1.0.1 while keeping version pinning and reproducibility intact.


Walkthrough

The documentation CI workflow now installs sphinx-rustdocgen@1.0.1 alongside the existing just tool via the taiki-e/install-action step.

Changes

CI Workflow Tool Installation

Layer / File(s) Summary
Workflow Configuration
.github/workflows/ci_docs.yml
The taiki-e/install-action tool input adds sphinx-rustdocgen@1.0.1 to the existing just tool installation.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title follows Conventional Commits format with type 'ci' and concise imperative summary, is 36 characters under the 72-character limit, uses lowercase, contains no trailing period, and accurately reflects the main change.
Description check ✅ Passed The PR description includes all required template sections with comprehensive details: overview explains the purpose, details describe specific changes and rationale, validation steps are documented, and reviewer guidance is provided.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Review rate limit: 9/10 reviews remaining, refill in 6 minutes.

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions github-actions Bot added size:XS PR is extra small ci labels May 3, 2026
@willkill07 willkill07 marked this pull request as ready for review May 3, 2026 23:27
@willkill07 willkill07 requested a review from a team as a code owner May 3, 2026 23:27
@willkill07 willkill07 self-assigned this May 3, 2026
@willkill07 willkill07 merged commit 280ded3 into NVIDIA:main May 3, 2026
61 checks passed
@willkill07 willkill07 deleted the wkk_fix-docs-linkcheck-rustdocgen branch May 3, 2026 23:34
@willkill07 willkill07 added this to the 0.2.0 milestone May 4, 2026
@willkill07 willkill07 added the Maintenance CI or Build or general repository maintenance label May 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Maintenance CI or Build or general repository maintenance size:XS PR is extra small

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant