-
Notifications
You must be signed in to change notification settings - Fork 101
fix: release-please config fixes #579
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
Conversation
WalkthroughAdds pyproject.toml to .fernignore and updates pyproject.toml configuration: switches to dynamic versioning, resets Poetry version to 0.0.0, adjusts classifiers and packages declaration formatting, and normalizes pytest and Ruff lint configuration spacing/comments. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Suggested reviewers
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches🧪 Generate unit tests
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 |
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.
Actionable comments posted: 1
🧹 Nitpick comments (1)
pyproject.toml (1)
64-67
: Ruff comment nits (typo + misleading E721 note)
- E721 comment suggests using “is/is not” for type comparisons; E721 warns against type(x) is Y—prefer isinstance(x, Y). Adjust to avoid confusion.
- Typo: “insinstance” -> “instance”.
Apply comment-only tweaks:
- "E721", # Use `is` and `is not` for type comparisons, or `isinstance()` for insinstance checks + "E721", # Avoid direct type comparisons (e.g., type(x) is Y); use isinstance(x, Y)- "F841", # Local variable ... is assigned to but never used + "F841", # Local variable is assigned to but never usedAlso applies to: 69-77
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
.fernignore
(1 hunks)pyproject.toml
(4 hunks)
🔇 Additional comments (4)
.fernignore (1)
11-11
: LGTM: Ignore pyproject.toml in FernAdding pyproject.toml to .fernignore is reasonable and low-risk.
pyproject.toml (3)
29-29
: LGTM: Classifier additionAdding “License :: OSI Approved :: MIT License” to classifiers is correct and consistent with license = "MIT".
31-31
: LGTM: Explicit packages mappingpackages = [{ include = "deepgram", from = "src" }] is the correct Poetry src-layout declaration.
53-53
: LGTM: pytest formattingMinor normalization to ["tests"] is fine.
@@ -1,9 +1,10 @@ | |||
[project] | |||
name = "deepgram-sdk" | |||
dynamic = ["version"] |
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.
🧩 Analysis chain
Potential release/build mismatch: dynamic version + Poetry backend + 0.0.0
With Poetry build-backend, builds typically read [tool.poetry].version. Setting [project].dynamic = ["version"] won’t supply a version unless you add a version provider (e.g., poetry-dynamic-versioning). As-is, wheels may publish as 0.0.0, and Release Please may not bump anything if it’s configured to skip version writes.
Recommend one of:
- Keep Release Please bumping: remove [project].dynamic and let Release Please update [tool.poetry].version as before.
- Go fully dynamic: add and configure poetry-dynamic-versioning (plugin + config), and ensure release-please doesn’t try to write version.
Run this script to verify current setup and avoid 0.0.0 releases:
Also applies to: 7-7
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "== Check release-please config files =="
fd -H -t f -a 'release-please*|*release*please*|*.json|*.yml' .github . 2>/dev/null | sed 's/^/ - /' || true
rg -n -C2 -i 'release-please|release please|release_please|releaseplease|release' -g '!.git/' || true
echo
echo "== Check if Release Please bumps pyproject version =="
rg -n -C2 -i 'pyproject\.toml|version' -g '!.git/' .github || true
echo
echo "== Check for dynamic versioning plugin/config =="
rg -n -C2 -i 'poetry-dynamic-versioning' || true
rg -n -C2 -i 'tool\.poetry-dynamic-versioning' pyproject.toml || true
echo
echo "== Show build-system.requires/back-end =="
rg -n -C2 '^\[build-system\]|build-backend|requires' pyproject.toml || true
echo
echo "== Current version fields in pyproject.toml =="
rg -n -C1 '^\[project\]$|^\[tool\.poetry\]$|^version\s*=' pyproject.toml || true
Length of output: 682
Provide a version provider or remove dynamic = ["version"]
With the Poetry core backend, PEP 621 dynamic = ["version"]
alone does not generate a version, so your package will publish as 0.0.0
. Either remove the dynamic setting and let your versioning tool update tool.poetry.version
, or install and configure poetry-dynamic-versioning
and skip version writes in your release process.
🤖 Prompt for AI Agents
In pyproject.toml around line 3, the use of PEP 621 dynamic = ["version"]
without a version provider will result in a default 0.0.0 package version;
either remove the dynamic entry and ensure tool.poetry.version is set/updated by
your release/versioning tool, or install and configure a version provider such
as poetry-dynamic-versioning (enable the plugin and configure its settings) so
the build/publish process injects a real version; update CI/release steps to
avoid writing versions if using the dynamic plugin and verify the published
package version after making the change.
Summary by CodeRabbit