Repository navigation
fix(release): track the core crate version with the app release - #275
Conversation
The internal docubook-core crate was deliberately left out of the release bump, so core/Cargo.toml drifted (0.1.8) while every other manifest moved to 0.2.0. Core is a path dependency of both consumers, so the drift also showed up in their locks. Core now rides the release version: - release-please-config.json: add core/Cargo.toml to the root extra-files so release-please writes $.package.version alongside the other manifests. - release-please.yml: sync the docubook-core root entry in core/Cargo.lock in the sync-lockfiles job (the pre-push hook already did this for local pushes). - ci.yml: read core/Cargo.toml and the docubook-core lock entry and include them in the manifest/lock consistency gate. - test/check-release-config.mjs: guard that the config keeps the core updater. - CONTRIBUTING.md: drop the now-false claims that core is versioned independently and that 'four manifests' are bumped.
There was a problem hiding this comment.
Important
The new core lockfile synchronization is not included in the commit/push step, so the release PR remains inconsistent and fails the CI gate.
Reviewed changes
- Core release versioning — Reviewed the release-please extra-file configuration, release workflow lock synchronization, CI version-consistency checks, release guard, and corresponding documentation updates.
- Validation — Traced the new
core/Cargo.locksync through the workflow's change detection and staging logic; the focused release-config check was also run, but is blocked by the checkout's unavailable bootstrap commitf6ee177.
gpt-6-luna | 𝕏
|
Fixed and pushed commit Task list (5/5 completed)
|
Signed-off-by: pullfrog[bot] <226033991+pullfrog[bot]@users.noreply.github.com>
There was a problem hiding this comment.
✅ Pullfrog addressed all of its review feedback on this PR.
Addressed the review finding: core/Cargo.lock is now included in release-workflow change detection and staging (commit bd6b1f603688e23abd8d9f3d10ea42bea904a396), and the thread is replied to and resolved. The release-config guard ran but reports its existing bootstrap SHA f6ee177 is unavailable in this checkout; the working tree is clean and the fix is already on PR #275.
Task list (4/4 completed)
- Checkout PR 275 and inspect review 5543854043 threads
- Implement validated fixes for all actionable review comments
- Run targeted tests and inspect the final diff
- Commit, push, reply to addressed threads, and report results
gpt-6-luna | 𝕏

Problem
core/Cargo.toml(the shareddocubook-coreengine) is the only manifest that does not follow the app release version. It sat at0.1.8whilepackage.json,src-tauri/Cargo.toml,server/Cargo.toml,src-tauri/tauri.conf.json, and every lock had already moved to0.2.0.This is a real gap, not cosmetic:
docubook-coreis a path dependency of both consumers (desktop viasrc-tauri, web viaserver), so its version is embedded incore/Cargo.lock,src-tauri/Cargo.lock, andserver/Cargo.lock. Leaving it unpinned to the release means:0.1.8) that no longer matches the release it was built into;CONTRIBUTING.mdand therelease-please.ymlheader both asserted independent core versioning, which is what let the drift go unnoticed.Changes
release-please-config.json{ "type": "toml", "path": "core/Cargo.toml", "jsonpath": "$.package.version" }to the rootextra-filesso release-please bumps it with the app..github/workflows/release-please.ymlsync_root_version core docubook-corein thesync-lockfilesjob, socore/Cargo.lock's root entry tracks the bumped manifest. Header corrected (five manifests; core no longer "intentionally not bumped")..github/workflows/ci.ymlcore_vfromcore/Cargo.tomlandcore_lock_vfrom thedocubook-corelock entry, then include both in the version-consistency loop.test/check-release-config.mjstoml/$.package.versionshape changes).CONTRIBUTING.mdcore/Cargo.tomlas one of the five synced manifests; release-workflow table lists core under release-please and "all threeCargo.lock" under the sync job. Removed the "versioned independently" / "four manifests" claims.The pre-push hook already synced core (its own lock root version and the
docubook-coreentry inside both consumer locks), so local pushes were consistent — the gap was only in the automated release path and the CI gate, which is what this PR closes.Verification
node test/check-release-config.mjs→release config OK … core tracks the release versionnode test/check-changelog-heading.mjs,node test/check-acl.mjs,node test/check-docker-paths.mjs→ all passnpm test→ 84 files / 862 tests passrelease-please-config.jsonparses as strict JSON; both workflows parse as valid YAMLpackage.json,package-lock, threeCargo.tomls,tauri.conf.json, threeCargo.lockentries) agreeNotes
core/Cargo.tomltoo.sync-lockfilesjob keepscore/Cargo.lockin step.