fix(release): keep sdk core pin in lockstep - #54
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (3)
📝 WalkthroughWalkthroughThis PR extends pythinker's version-lockstep validation to include the SDK package. The dependency checker, release script, and CI workflows are updated to enforce that the SDK's pythinker-core pin matches the workspace core version. The SDK dependency is bumped from 1.1.1 to 1.2.0, and comprehensive test coverage is added. ChangesSDK Dependency Lockstep Validation
🎯 2 (Simple) | ⏱️ ~10 minutes
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 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 `@scripts/check_pythinker_dependency_versions.py`:
- Around line 104-106: The f-string passed to errors.append(...) exceeds the
100-char limit; refactor the message so no line passes 100 chars by breaking the
long f-string into a shorter variable or using implicit string concatenation
across multiple lines before calling errors.append. Locate the errors.append
call that references args.pythinker_sdk_pyproject and construct the message in a
wrapped form (e.g., msg = f"...{args.pythinker_sdk_pyproject}." split across
lines or concatenated), then call errors.append(msg) to keep each source line
under 100 characters.
- Line 49: The docs examples that invoke the script
check_pythinker_dependency_versions.py must be updated to include the newly
required CLI option --pythinker-sdk-pyproject; find usages of the script in
documentation (e.g., examples that call "python
scripts/check_pythinker_dependency_versions.py" or "uv run python
scripts/check_pythinker_dependency_versions.py") and add the corresponding
--pythinker-sdk-pyproject <path> argument so the
parser.add_argument("--pythinker-sdk-pyproject", type=Path, required=True)
requirement is satisfied when copy-pasted; ensure any example command lines and
README snippets consistently show both --pythinker-review-pyproject and
--pythinker-sdk-pyproject.
🪄 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: Pro Plus
Run ID: 9f81352e-caee-4390-bba1-c0a1c0f62203
📒 Files selected for processing (7)
.github/workflows/ci-pythinker-cli.yml.github/workflows/release-pythinker-cli.ymlscripts/check_pythinker_dependency_versions.pyscripts/release.pysdks/pythinker-sdk/pyproject.tomltests/test_release_py.pytests/test_version_lockstep.py
Fixes the 0.29.0 release binary build failure.
Root cause: release build uses
make prepare-build(uv sync --all-extras --all-packages --no-sources), andsdks/pythinker-sdkstill pinnedpythinker-core==1.1.1while rootpythinker-codepinspythinker-core[contrib]==1.2.0.Changes:
Summary by CodeRabbit
Chores
Tests
Documentation