docs: Support syncing documentation snapshots to the docs-website branch#86
Conversation
Signed-off-by: David Gardner <dagardner@nvidia.com>
Signed-off-by: David Gardner <dagardner@nvidia.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Enterprise Run ID: 📒 Files selected for processing (2)
📜 Recent review details⏰ Context from checks skipped due to timeout. (13)
🧰 Additional context used📓 Path-based instructions (12)**/*.{md,mdx,html}📄 CodeRabbit inference engine (CONTRIBUTING.md)
Files:
**/*.{md,mdx}📄 CodeRabbit inference engine (CONTRIBUTING.md)
Files:
**/*📄 CodeRabbit inference engine (CONTRIBUTING.md)
Files:
**/*.mdx📄 CodeRabbit inference engine (CONTRIBUTING.md)
Files:
{README.md,docs/**/*.{md,mdx,yml},examples/**/*.{md,mdx,yml}}📄 CodeRabbit inference engine (.agents/skills/contribute-docs/SKILL.md)
Files:
{docs/**/*.{md,mdx,yml},examples/**/*.{md,mdx,yml}}📄 CodeRabbit inference engine (.agents/skills/contribute-docs/SKILL.md)
Files:
docs/**/*.{md,mdx,yml}📄 CodeRabbit inference engine (.agents/skills/contribute-docs/SKILL.md)
Files:
{docs/**/*,.github/workflows/ci_python.yml,.github/workflows/ci_rust.yml,justfile}📄 CodeRabbit inference engine (.agents/skills/maintain-packaging/SKILL.md)
Files:
{docs/**/*,.github/workflows/ci_python.yml,.github/workflows/ci_rust.yml}📄 CodeRabbit inference engine (.agents/skills/maintain-packaging/SKILL.md)
Files:
**/*.{md,mdx,rst}📄 CodeRabbit inference engine (.agents/skills/review-doc-style/assets/nvidia-style-guide.md)
Files:
docs/**/*📄 CodeRabbit inference engine (.agents/skills/validate-change/SKILL.md)
Files:
{docs/**,README.md,AGENTS.md}⚙️ CodeRabbit configuration file
Files:
🔇 Additional comments (2)
WalkthroughAdds Fern documentation synchronization for development and release snapshots, tests for generated layouts, stricter validation, corrected documentation paths, and CI workflows for filtered previews, cleanup, development publishing, and tagged releases. ChangesFern documentation publishing
Estimated code review effort: 4 (Complex) | ~60 minutes Sequence Diagram(s)sequenceDiagram
participant PullRequest
participant GitHubActions
participant SyncScript
participant Fern
PullRequest->>GitHubActions: trigger documentation workflow
GitHubActions->>GitHubActions: detect documentation path changes
GitHubActions->>SyncScript: synchronize development docs
SyncScript->>Fern: prepare preview layout
Fern-->>GitHubActions: return preview URL
GitHubActions-->>PullRequest: update preview comment
Important Pre-merge checks failedPlease resolve all errors before merging. Addressing warnings is optional. ❌ Failed checks (1 error)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
Fern docs preview: https://nvidia-preview-pull-request-86.docs.buildwithfern.com/nemo/fabric |
There was a problem hiding this comment.
Actionable comments posted: 7
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.github/workflows/fern-docs.yml:
- Around line 24-26: Update the workflow concurrency configuration so
publish-dev-docs and release-version-docs use one shared concurrency group with
cancel-in-progress set to false, preventing concurrent docs-website writers and
preserving releases. Keep preview jobs separately keyed by pull request with
cancellation enabled.
- Around line 52-65: Change the preview-docs workflow so PR-controlled execution
never receives FERN_TOKEN or other privileged credentials. Split generation from
publication: run untrusted docs generation without secrets, then trigger a
trusted default-branch workflow that uses pinned tooling and sanitized generated
artifacts to publish the preview. Apply the same separation to the credential
and publication steps referenced in the workflow’s later sections.
- Around line 160-165: Update the closed pull request condition in the workflow
to run for all closed PRs by removing the merged check. In the associated
preview deletion step, ignore only the documented already-deleted result and
preserve nonzero exits for all other deletion failures so they surface.
- Around line 141-145: Update the URL extraction in the workflow step around the
line and url assignments so a missing grep match does not terminate the step
under pipefail. Make the extraction tolerate no URL, leave url empty, and allow
the subsequent conditional to complete successfully without writing a GitHub
output.
- Around line 147-156: Update the “Comment preview URL on PR” step to pass the
preview URL and PR number through environment variables sourced from the step
outputs, then reference those variables in the shell command and comment body.
Remove direct GitHub expression interpolation from the run script while
preserving the existing gh pr comment behavior.
In `@scripts/docs/sync_fern_docs_branch.py`:
- Around line 199-221: Update release_version to detect an existing stable
version entry before deleting or replacing pages_version or version_yml, and
reject prereleases when the corresponding stable version already exists.
Preserve normal stable releases and prereleases without a prior stable version,
and add a regression test covering publishing the prerelease after the stable
release.
- Around line 133-141: Update write_docs_yml so it starts from the current
source product produced by docs_website_product(products[0]), then overlays only
the preserved target product’s path and versions when available. Do not replace
the entire source product with preserved_product; ensure source name, slug, and
Fern metadata continue synchronizing while target path and version state are
retained.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Enterprise
Run ID: 71bf2814-a5e8-4100-b0e3-0616e4170a43
⛔ Files ignored due to path filters (1)
uv.lockis excluded by!**/*.lock
📒 Files selected for processing (8)
.github/ci-path-filters.yml.github/workflows/fern-docs.ymldocs/about-nemo-fabric/overview.mdxdocs/sdk/python.mdxjustfilepyproject.tomlscripts/docs/sync_fern_docs_branch.pytests/scripts/test_sync_fern_docs_branch.py
📜 Review details
⏰ Context from checks skipped due to timeout. (10)
- GitHub Check: Preview docs
- GitHub Check: Test (Python 3.12, arm64)
- GitHub Check: Test (Python 3.14, arm64)
- GitHub Check: Test (Python 3.14, x86_64)
- GitHub Check: Test (Python 3.11, x86_64)
- GitHub Check: Test (Python 3.12, x86_64)
- GitHub Check: Test (Python 3.13, arm64)
- GitHub Check: Test (Python 3.11, arm64)
- GitHub Check: Test (Python 3.13, x86_64)
- GitHub Check: Pre-commit
🧰 Additional context used
📓 Path-based instructions (30)
**/*.{rs,toml}
📄 CodeRabbit inference engine (CONTRIBUTING.md)
**/*.{rs,toml}: Rust code must be formatted withcargo fmt --all; formatting can be checked withcargo fmt --all -- --check, and Rust workspaces must compile withcargo check --workspace --locked.
Rust files must begin with the specified//SPDX copyright and Apache-2.0 license header.When Rust code or Rust project configuration changes, run
cargo fmt --all -- --checkandjust test-rust.
Files:
pyproject.toml
**/*
📄 CodeRabbit inference engine (CONTRIBUTING.md)
**/*: All source files must include the specified SPDX copyright and Apache-2.0 license header using the comment syntax appropriate to the file type.
Release tags must use raw Rust-compatible SemVer without a leadingv, such as0.1.0or0.1.0-rc.1.
**/*: Before implementing, explicitly state assumptions, surface ambiguity and tradeoffs, present multiple interpretations when relevant, and ask for clarification rather than silently deciding or proceeding when requirements are unclear.
Prefer the minimum code needed to solve the requested problem: avoid speculative features, unnecessary abstractions, unrequested flexibility, and handling of impossible scenarios; simplify overcomplicated solutions.
When editing existing code, make surgical changes only: do not modify unrelated code, comments, formatting, or pre-existing dead code; match the existing style, and remove only unused imports, variables, or functions introduced by your changes.
Define verifiable success criteria for each task, such as writing regression tests for bugs and invalid-input tests for validation, then verify the implementation against those criteria. For multi-step work, state a brief plan with a verification check for each step.
**/*: Keep pull request branch scope coherent and reviewable.
Run relevant tests undervalidate-changebefore opening or updating a pull request.
Format changed files with the language-native formatter.
Update documentation and examples for public behavior changes.
Update dependent maintainer or consumer guidance when code changes affect APIs, bindings, commands, paths, packaging guidance, or best practices.
Use Conventional Commit style for pull request titles:<type>: <concise imperative summary>, choosing the type from the actual change surface. Usefixonly for user-facing or runtime product-code bug fixes.
A pull request body must include#### Overview,#### Details,#### Validation,#### Where should the reviewer start?, and `#### Related ...
Files:
pyproject.tomldocs/sdk/python.mdxjustfiledocs/about-nemo-fabric/overview.mdxscripts/docs/sync_fern_docs_branch.pytests/scripts/test_sync_fern_docs_branch.py
**/*.{toml,yaml,yml,sh,bash}
📄 CodeRabbit inference engine (CONTRIBUTING.md)
TOML, YAML, and shell files must use the specified SPDX header with
#comments.
Files:
pyproject.toml
{Cargo.toml,pyproject.toml,python/pyproject.toml,python/src/nemo_fabric/**}
📄 CodeRabbit inference engine (.agents/skills/maintain-packaging/SKILL.md)
{Cargo.toml,pyproject.toml,python/pyproject.toml,python/src/nemo_fabric/**}: Keep Rust package names, Python package/import paths, and native module names internally consistent across Cargo and Python packaging metadata and source paths.
Ensure generated native and Python artifacts are placed where downstream consumers expect them.
Files:
pyproject.toml
{Cargo.toml,pyproject.toml,python/pyproject.toml,Cargo.lock,uv.lock}
📄 CodeRabbit inference engine (.agents/skills/maintain-packaging/SKILL.md)
Keep workspace, Rust, Python, and lockfile versions aligned where required.
Files:
pyproject.toml
{pyproject.toml,python/pyproject.toml,Cargo.toml,python/src/nemo_fabric/**}
📄 CodeRabbit inference engine (.agents/skills/maintain-packaging/SKILL.md)
The editable maturin build must continue to produce the
nemo_fabric._nativeextension.
Files:
pyproject.toml
{.github/workflows/ci_python.yml,.github/workflows/ci_rust.yml,justfile,pyproject.toml,python/pyproject.toml,Cargo.toml}
📄 CodeRabbit inference engine (.agents/skills/maintain-packaging/SKILL.md)
CI workflows must reference the same package names and commands used by local build and installation workflows.
Files:
pyproject.tomljustfile
{Cargo.toml,Cargo.lock,pyproject.toml,python/pyproject.toml,uv.lock,docs/package.json,docs/package-lock.json}
📄 CodeRabbit inference engine (.agents/skills/maintain-packaging/SKILL.md)
Maintain package metadata and dependency resolution consistently across Rust, Python, documentation tooling, and their lockfiles.
Files:
pyproject.toml
**/pyproject.toml
📄 CodeRabbit inference engine (.agents/skills/update-project-version/SKILL.md)
Run
just build-pythonto verify that all Python package metadata resolves.
Files:
pyproject.toml
**/*.{rs,py,pyi,toml}
📄 CodeRabbit inference engine (.agents/skills/validate-change/SKILL.md)
When the PyO3 bridge or package metadata changes, run
just build-pythonandcargo check -p fabric-python --locked.
Files:
pyproject.tomlscripts/docs/sync_fern_docs_branch.pytests/scripts/test_sync_fern_docs_branch.py
**/*.{md,mdx,html}
📄 CodeRabbit inference engine (CONTRIBUTING.md)
Changes affecting public behavior, adapters, examples, or workspace structure must update the corresponding documentation; public API changes require updated SDK or API reference documentation.
Files:
docs/sdk/python.mdxdocs/about-nemo-fabric/overview.mdx
**/*.{md,mdx}
📄 CodeRabbit inference engine (CONTRIBUTING.md)
For docs site changes, run
just docsto regenerate Python and Rust API references and validate Fern configuration.
**/*.{md,mdx}: Prioritize factual accuracy in NeMo Fabric documentation and keep commands, package names, APIs, file paths, repository layout, entry points, support claims, examples, and procedures aligned with current repository behavior.
Update relevant entry-point documentation when public behavior changes, includingREADME.md,docs/index.yml, package or crate READMEs, and adapter or integration READMEs.
Use{/* ... */}delimiters for top-of-file SPDX comments in MDX files, not HTML comment delimiters.
CapitalizeNVIDIAcorrectly and use consistent current repository terminology, product names, APIs, and feature names.
Format commands, code, expressions, file names, paths, and filenames as inline code where appropriate.
Use title case for technical-documentation headings.
Introduce code blocks, tables, and lists with complete lead-in sentences.
Use descriptive link text instead of raw URLs or generic labels such ashere.
Write procedures as short, imperative, parallel, easy-to-scan steps; prefer active voice, present tense, plain English, and concise sentences.
Useafterinstead ofoncewhen expressing temporal sequence, and usecaninstead ofmaywhen describing possibility rather than permission.
Use unambiguous date formats and avoid ordinal dates in body text.
When reviewing documentation, report findings in severity order underMust fix,Should fix, andNice to have, with file paths, line references, explanations, and concrete rewrites or directions.
Files:
docs/sdk/python.mdxdocs/about-nemo-fabric/overview.mdx
**/*.mdx
📄 CodeRabbit inference engine (CONTRIBUTING.md)
MDX files must use the specified SPDX header in a JSX comment.
In MDX files, use JSX comment delimiters (
{/*and*/}) for top-of-file comments, including SPDX headers; do not use HTML comments.
Files:
docs/sdk/python.mdxdocs/about-nemo-fabric/overview.mdx
{README.md,docs/**/*.{md,mdx,yml},examples/**/*.{md,mdx,yml}}
📄 CodeRabbit inference engine (.agents/skills/contribute-docs/SKILL.md)
Keep package names, repository references, and build commands current in documentation and examples.
Files:
docs/sdk/python.mdxdocs/about-nemo-fabric/overview.mdx
{docs/**/*.{md,mdx,yml},examples/**/*.{md,mdx,yml}}
📄 CodeRabbit inference engine (.agents/skills/contribute-docs/SKILL.md)
Update relevant getting-started, reference, adapter, and example documentation when the corresponding examples or adapters change.
Files:
docs/sdk/python.mdxdocs/about-nemo-fabric/overview.mdx
docs/**/*.{md,mdx,yml}
📄 CodeRabbit inference engine (.agents/skills/contribute-docs/SKILL.md)
Run
just docswhen the documentation site changes.
Files:
docs/sdk/python.mdxdocs/about-nemo-fabric/overview.mdx
{docs/**/*,.github/workflows/ci_python.yml,.github/workflows/ci_rust.yml,justfile}
📄 CodeRabbit inference engine (.agents/skills/maintain-packaging/SKILL.md)
Use the current install, import, build, test, clean, and documentation commands consistently in documentation, examples, CI workflows, and just recipes.
Files:
docs/sdk/python.mdxjustfiledocs/about-nemo-fabric/overview.mdx
{docs/**/*,.github/workflows/ci_python.yml,.github/workflows/ci_rust.yml}
📄 CodeRabbit inference engine (.agents/skills/maintain-packaging/SKILL.md)
Reflect public packaging changes in release-facing documentation and examples.
Files:
docs/sdk/python.mdxdocs/about-nemo-fabric/overview.mdx
**/*.{md,mdx,rst}
📄 CodeRabbit inference engine (.agents/skills/review-doc-style/assets/nvidia-style-guide.md)
**/*.{md,mdx,rst}: For NeMo Fabric documentation, verify technical claims against the current repository, public API, or documented command before reviewing style.
Always spellNVIDIAin all caps; do not useNvidia,nvidia, orNV.
Format commands, code elements, expressions, package names, file names, and paths as inline code.
Use descriptive link text; avoid raw URLs and weak anchors such ashereorread more.
Use title case consistently for technical documentation headings.
Introduce code blocks, lists, tables, and images with complete sentences.
Write procedures as imperative, parallel steps; split long procedures into smaller tasks.
Prefer active voice, present tense, short sentences, contractions, and plain English while preserving necessary technical precision.
Usecanfor possibility and reservemayfor permission.
Useafterfor temporal relationships instead ofonce, and preferrefer tooverseewhen directing readers to another resource.
Avoid culture-specific idioms, unnecessary Latinisms, jokes, and marketing exaggeration in technical documentation.
Spell out months in body text, avoid ordinal dates, and use clear time zones.
Spell out whole numbers from zero through nine unless they are technical values, parameters, versions, or UI values; use numerals for 10 or greater and commas in thousands.
Do not add trademark symbols to learning-oriented documentation unless the source, platform, or legal guidance explicitly requires them.
Do not replace precise technical terms with simpler words when doing so would lose precision.
Do not flag passive voice when the actor is unknown or the action is the important part.
Do not rewrite API names, package names, command flags, or code literals for style.
**/*.{md,mdx,rst}: Use consistent title case for technical-document headings and table headers; avoid quotation marks, ampersands, and exclamation marks in headings, while preserving official product, event, research, and whitepaper title ...
Files:
docs/sdk/python.mdxdocs/about-nemo-fabric/overview.mdx
docs/**/*
📄 CodeRabbit inference engine (.agents/skills/validate-change/SKILL.md)
For documentation or examples changes, run
just docswhen practical and verify documented commands against the current repository.
Files:
docs/sdk/python.mdxdocs/about-nemo-fabric/overview.mdx
{docs/**,README.md,AGENTS.md}
⚙️ CodeRabbit configuration file
{docs/**,README.md,AGENTS.md}: Review documentation for technical accuracy against the current API, command correctness, and consistency with generated schemas.
Files:
docs/sdk/python.mdxdocs/about-nemo-fabric/overview.mdx
justfile
📄 CodeRabbit inference engine (.agents/skills/small-fix/SKILL.md)
Use or update the repository’s
justfilewhen it provides the focused validation path for a small Fabric bug fix.The
set-versionrecipe must update source metadata and then runjust lock-python.
Files:
justfile
**/*.py
📄 CodeRabbit inference engine (CONTRIBUTING.md)
**/*.py: Python public APIs must use type annotations, and native Python binding declarations must remain synchronized with their Rust implementations.
Python files must begin with the specified#SPDX copyright and Apache-2.0 license header.
Files:
scripts/docs/sync_fern_docs_branch.pytests/scripts/test_sync_fern_docs_branch.py
**/*.{rs,py}
📄 CodeRabbit inference engine (CONTRIBUTING.md)
**/*.{rs,py}: Usesnake_casefor Rust and Python functions and variables; usePascalCasefor Rust types and Python classes.
Run tests for every language surface affected by a change. Changes touching the Rust core or public schemas require both Rust and Python test suites.
Public contract changes must keep native Python binding declarations synchronized with their Rust implementations.
Files:
scripts/docs/sync_fern_docs_branch.pytests/scripts/test_sync_fern_docs_branch.py
**/*.{rs,py,pyi,json,yaml,yml}
📄 CodeRabbit inference engine (.agents/skills/contribute-api/SKILL.md)
Determine and update every affected public surface, including the CLI, PyO3 bindings, Python SDK, type stubs, schemas, and adapter contract, so they remain in parity.
Files:
scripts/docs/sync_fern_docs_branch.pytests/scripts/test_sync_fern_docs_branch.py
**/*.{py,pyi}
📄 CodeRabbit inference engine (.agents/skills/validate-change/SKILL.md)
When Python code or a Python-facing adapter changes, run
just test-python.
Files:
scripts/docs/sync_fern_docs_branch.pytests/scripts/test_sync_fern_docs_branch.py
tests/**/*.py
📄 CodeRabbit inference engine (.agents/skills/python-tests/SKILL.md)
tests/**/*.py: Use Pytest to run Python tests.
Do not add@pytest.mark.asyncioto tests; async tests are automatically detected by the async runner.
Do not add-> Nonereturn annotations to test functions.
When mocking a class, useunittest.mock.MagicMockorAsyncMock, supplyingspecwhen necessary; do not define a new mock class.
Prefix mocked class names withmock, notfake.
Prefer pytest fixtures over helper methods.
Define shared fixtures inconftest.pyrather than repeating them across test files.
Define fixtures using@pytest.fixture(name="<fixture_name>"[, scope="<scope>"])and a<fixture_name>_fixturefunction; specifyscopeonly when it is notfunction.
Preferpytest.mark.parametrizeover separate tests for different input types.
Use@pytest.mark.usefixtureswhen a fixture is needed but its return value is unused.
Useos.environto modify environment variables in tests; do not usemonkeypatch.setenv, because the autouserestore_environ_fixtureintests/conftest.pyrestores the environment after each test.
Avoid defensive programming in tests; access expected data directly so missing data raises a clear error instead of being silently tolerated.
Run focused tests withuv run pytest -k "<pattern>"and all tests withuv run pytest.
Files:
tests/scripts/test_sync_fern_docs_branch.py
{tests/**,python/tests/**}
⚙️ CodeRabbit configuration file
{tests/**,python/tests/**}: Tests should cover the behavior promised by the changed API surface, including error paths, lifecycle cleanup, and SDK/native parity where relevant.
Files:
tests/scripts/test_sync_fern_docs_branch.py
**/.github/workflows/*.{yml,yaml}
📄 CodeRabbit inference engine (.agents/skills/maintain-ci/SKILL.md)
**/.github/workflows/*.{yml,yaml}: Definepermissions:per job that needs token access, using the minimum required scopes; avoid workflow-level permissions unless centralized inheritance is intentionally documented.
Pin every third-party GitHub Action to a full commit SHA and retain a readable version comment after the SHA.
Use action-native or ecosystem-native caching instead of genericactions/cachewhen available.
Tie cache invalidation to lockfiles, dependency manifests, or explicit tool versions; avoid caching generated outputs unless deliberate repository behavior requires it.
Useastral-sh/setup-uvcache support withcache-dependency-globanchored touv.lock.
UseSwatinem/rust-cachewith explicitshared-keyandworkspacesinstead of ad hoc target-directory caching.
Keep deploy and publish permissions isolated to only the jobs that require them; restrictpages: writeandid-token: writeto Pages deployment jobs and their reusable-workflow callers.
Usecontents: readas the minimum permission for checkout-based build, test, documentation, and packaging jobs.
Grantpull-requests: readonly to jobs that perform pull-request metadata lookups.
When usingworkflow_call, inspect both caller and callee, and ensure the caller grants every permission required by the called jobs because the callee cannot elevate permissions.
Keep local workflow commands aligned with equivalentjustfilerecipes, and keep Python, Rust, and documentation jobs aligned with their lockfiles.
Preserve intended concurrency settings, branch filters, and documentation publish guards when modifying workflows.
Before editing workflows, inspect workflow relationships and settings with searches coveringuses:,permissions:,secrets:,concurrency:,cache, andjust.
Files:
.github/workflows/fern-docs.yml
**/.github/workflows/fern-docs.{yml,yaml}
📄 CodeRabbit inference engine (.agents/skills/maintain-ci/SKILL.md)
Keep documentation publish and preview credentials isolated to the Fern documentation workflow and only to jobs that consume them.
Files:
.github/workflows/fern-docs.yml
🪛 ast-grep (0.44.1)
scripts/docs/sync_fern_docs_branch.py
[warning] 75-75: Do not make http calls without encryption
Context: "http://"
Note: [CWE-319] Cleartext Transmission of Sensitive Information.
(requests-http)
🪛 Ruff (0.15.21)
scripts/docs/sync_fern_docs_branch.py
[warning] 47-47: Dynamically typed expressions (typing.Any) are disallowed in read_yaml
(ANN401)
[warning] 52-52: Dynamically typed expressions (typing.Any) are disallowed in value
(ANN401)
[warning] 82-82: Dynamically typed expressions (typing.Any) are disallowed in value
(ANN401)
[warning] 82-82: Dynamically typed expressions (typing.Any) are disallowed in rewrite_doc_references
(ANN401)
[warning] 100-100: Avoid specifying long messages outside the exception class
(TRY003)
[warning] 104-104: Avoid specifying long messages outside the exception class
(TRY003)
[warning] 138-138: Avoid specifying long messages outside the exception class
(TRY003)
[warning] 150-150: Avoid specifying long messages outside the exception class
(TRY003)
[warning] 152-152: Avoid specifying long messages outside the exception class
(TRY003)
[warning] 209-209: Avoid specifying long messages outside the exception class
(TRY003)
[warning] 321-321: Avoid specifying long messages outside the exception class
(TRY003)
tests/scripts/test_sync_fern_docs_branch.py
[warning] 117-117: pytest.raises(ValueError) is too broad, set the match parameter or use a more specific exception
(PT011)
🪛 zizmor (1.26.1)
.github/workflows/fern-docs.yml
[warning] 65-65: permissions without explanatory comments (undocumented-permissions): needs an explanatory comment
(undocumented-permissions)
[error] 93-93: runtime artifacts potentially vulnerable to a cache poisoning attack (cache-poisoning): this step
(cache-poisoning)
[warning] 258-264: credential persistence through GitHub Actions artifacts (artipacked): does not set persist-credentials: false
(artipacked)
[warning] 384-390: credential persistence through GitHub Actions artifacts (artipacked): does not set persist-credentials: false
(artipacked)
[warning] 153-153: code injection via template expansion (template-injection): may expand into attacker-controllable code
(template-injection)
[info] 153-153: code injection via template expansion (template-injection): may expand into attacker-controllable code
(template-injection)
[info] 156-156: code injection via template expansion (template-injection): may expand into attacker-controllable code
(template-injection)
[warning] 297-297: code injection via template expansion (template-injection): may expand into attacker-controllable code
(template-injection)
[info] 399-399: code injection via template expansion (template-injection): may expand into attacker-controllable code
(template-injection)
[info] 412-412: code injection via template expansion (template-injection): may expand into attacker-controllable code
(template-injection)
[info] 412-412: code injection via template expansion (template-injection): may expand into attacker-controllable code
(template-injection)
[warning] 218-218: permissions without explanatory comments (undocumented-permissions): needs an explanatory comment
(undocumented-permissions)
[warning] 318-318: permissions without explanatory comments (undocumented-permissions): needs an explanatory comment
(undocumented-permissions)
[error] 181-181: runtime artifacts potentially vulnerable to a cache poisoning attack (cache-poisoning): this step
(cache-poisoning)
[error] 233-233: runtime artifacts potentially vulnerable to a cache poisoning attack (cache-poisoning): this step
(cache-poisoning)
[error] 246-246: runtime artifacts potentially vulnerable to a cache poisoning attack (cache-poisoning): this step
(cache-poisoning)
[error] 359-359: runtime artifacts potentially vulnerable to a cache poisoning attack (cache-poisoning): this step
(cache-poisoning)
[error] 372-372: runtime artifacts potentially vulnerable to a cache poisoning attack (cache-poisoning): this step
(cache-poisoning)
🔇 Additional comments (7)
justfile (1)
326-327: LGTM!pyproject.toml (1)
112-112: LGTM!docs/about-nemo-fabric/overview.mdx (1)
121-122: LGTM!docs/sdk/python.mdx (1)
23-23: LGTM!.github/ci-path-filters.yml (1)
1-20: LGTM!.github/workflows/fern-docs.yml (2)
11-23: LGTM!Also applies to: 28-50, 67-98, 105-119, 132-140, 203-305, 307-391, 400-423
392-399: 🩺 Stability & AvailabilityRun the sync step from the workflow checkout.
source-checkout/.venv/bin/pythonties this backfill to the selected tag’s environment; if that release is missing the currentyamldependency, the snapshot step will fail before it writes the docs branch.uv run --locked python scripts/docs/sync_fern_docs_branch.py release-versionkeeps it on the workflow toolchain.
Signed-off-by: David Gardner <dagardner@nvidia.com>
|
Fern docs preview: https://nvidia-preview-pull-request-86.docs.buildwithfern.com/nemo/fabric |
Signed-off-by: David Gardner <dagardner@nvidia.com>
|
/merge |
Overview
docs-websitebranchWhere should the reviewer start?
scripts/docs/sync_fern_docs_branch.pyRelated Issues: (use one of the action keywords Closes / Fixes / Resolves / Relates to)
PR #84
Summary by CodeRabbit
main.