ci(regen): seed changelog under [Unreleased], drop version bump#121
Conversation
| end = start + nxt.start() if nxt else len(text) | ||
| body = text[start:end] | ||
|
|
||
| if bullet in body: |
There was a problem hiding this comment.
super nit: the idempotency guard uses a substring check (bullet in body), so a title that is a prefix/substring of an already-listed bullet (e.g. seeding - Add foo when - Add foobar already exists) would be treated as already-present and silently skipped, dropping the regen note. A line-exact match would be more robust, e.g. if any(line.strip() == bullet for line in body.splitlines()). Minor since regen titles are typically long/unique. (not blocking)
There was a problem hiding this comment.
Good catch — switched to a line-exact match (any(line.strip() == bullet ...)) so a prefix/substring title can't be silently dropped. Applied here and in the matching sdk-rust PR.
There was a problem hiding this comment.
Reviewed: regen now seeds notes under [Unreleased] and drops the version bump. Logic traced against the current CHANGELOG and the release flow (update_changelog.py/release.sh consume [Unreleased]); check-release.py is a no-op for unchanged versions, so regen PRs still pass while the wheel smoke test runs on the CHANGELOG touch. Idempotency uses the line-exact match. LGTM.
The regenerate workflow auto-bumped
pyproject.toml(patch) and minted a dated## [X.Y.Z]CHANGELOG section per run. That mints a version that may never publish (e.g. 0.4.1 sat bumped-but-unreleased until #120 rolled #118 into it).A regen is just a set of changes; which release ships them — and the bump kind — is
scripts/release.sh prepare's job. This makes regen seed its note under## [Unreleased]and stop touching the version.pyproject.toml.[Unreleased](prepends to### Changed, creating it if absent; idempotent).packageVersionfrom the generator call — unused (version reads from package metadata).check-release.pyis a no-op when the version is unchanged, and regen still touches CHANGELOG.md, so the wheel build/import smoke test still runs. Updated the stale comments that assumed a version bump.