Add auto-generated compatibility matrix docs#918
Conversation
Add a new reference page documenting SDK-to-Infrahub version compatibility. The page is auto-generated from structured data in docs/docs_generation/compatibility.py via a Jinja2 template, following the same pattern as the existing config and templating reference pages.
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (3)
WalkthroughAdded a new "Compatibility matrix" documentation workflow for the Python SDK. Introduces a Jinja2 template ( 🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Deploying infrahub-sdk-python with
|
| Latest commit: |
14175cb
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://952737bc.infrahub-sdk-python.pages.dev |
| Branch Preview URL: | https://pc-add-compatibility-matrix.infrahub-sdk-python.pages.dev |
Codecov Report✅ All modified and coverable lines are covered by tests. @@ Coverage Diff @@
## stable #918 +/- ##
==========================================
- Coverage 80.97% 80.68% -0.29%
==========================================
Files 132 119 -13
Lines 11085 10336 -749
Branches 1700 1551 -149
==========================================
- Hits 8976 8340 -636
+ Misses 1555 1473 -82
+ Partials 554 523 -31
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
There was a problem hiding this comment.
🧹 Nitpick comments (1)
docs/docs_generation/compatibility.py (1)
70-127: Minor observation:1.7.xmin_sdk could be1.18.1for precision.Line 74 specifies
min_sdk="1.18.0"for Infrahub 1.7.x, but all 1.7.x releases inRELEASE_MAPPINGS(lines 89-96) pin SDK1.18.1. If 1.18.0 was never actually released with any 1.7.x Infrahub version, consider updating to1.18.1for accuracy.This is a documentation precision matter rather than a functional issue—
>= 1.18.0technically includes1.18.1.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/docs_generation/compatibility.py` around lines 70 - 127, Update the VERSION_RANGES entry for VersionRange(infrahub="1.7.x") to min_sdk="1.18.1" to match the pinned SDK in RELEASE_MAPPINGS for all 1.7.x releases; locate the VersionRange with infrahub="1.7.x" in the VERSION_RANGES list and change its min_sdk value from "1.18.0" to "1.18.1" for accuracy.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In `@docs/docs_generation/compatibility.py`:
- Around line 70-127: Update the VERSION_RANGES entry for
VersionRange(infrahub="1.7.x") to min_sdk="1.18.1" to match the pinned SDK in
RELEASE_MAPPINGS for all 1.7.x releases; locate the VersionRange with
infrahub="1.7.x" in the VERSION_RANGES list and change its min_sdk value from
"1.18.0" to "1.18.1" for accuracy.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 6cb6ed95-a1c4-4cc2-b472-3163a2c42e2e
📒 Files selected for processing (6)
docs/_templates/sdk_compatibility.j2docs/docs/python-sdk/introduction.mdxdocs/docs/python-sdk/reference/compatibility.mdxdocs/docs_generation/compatibility.pydocs/sidebars/sidebars-python-sdk.tstasks.py
Add update_compatibility.py to fetch version mappings from GitHub API and rewrite compatibility.py automatically. Includes expanded data from running the script (covers all releases back to 0.16.x).
Summary by CodeRabbit
Documentation
Chores
Files
docs/docs_generation/compatibility.py— structured data (dataclasses) for all version mappingsdocs/_templates/sdk_compatibility.j2— Jinja2 template for rendering the MDX pagetasks.py— wired intogenerate_python_sdk()pipelinedocs/docs/python-sdk/reference/compatibility.mdx— generated outputTest plan
uv run invoke docs-generatesucceeds and produces expected outputuv run invoke lint-docspasses (markdownlint + vale)uv run invoke lint-codepasses (ruff, ty, mypy)