Skip to content

fix(release): auto-derive .release-please-manifest.json instead of hand-editing it#7102

Merged
JSONbored merged 1 commit into
mainfrom
fix/release-please-manifest-sync
Jul 17, 2026
Merged

fix(release): auto-derive .release-please-manifest.json instead of hand-editing it#7102
JSONbored merged 1 commit into
mainfrom
fix/release-please-manifest-sync

Conversation

@JSONbored

Copy link
Copy Markdown
Owner

Summary

#7100 fixed the immediate .release-please-manifest.json mismatch by hand-typing corrected version numbers -- exactly the failure mode that caused the drift in the first place (a human-authored value instead of one derived from source of truth). This replaces that with a real mechanism, so it's a one-command fix from here on, never a manual edit:

  • scripts/sync-release-manifest.mjs treats each package's own package.json "version" as authoritative and syncs the manifest to match. npm run release-manifest:sync is now the supported way to fix drift.
  • npm run release-manifest:sync:check -- wired into both test:ci and .github/workflows/ci.yml (gated on backend/mcp/engine/miner/ui) -- fails CI the moment the manifest and a package's package.json disagree, instead of surfacing days later as release-please re-proposing an already-published version as a brand-new Release PR (what happened with chore(release): cut miner v3.1.1 #7086/chore(release): cut mcp v3.1.1 #7087).
  • .release-please-manifest.json and release-please-config.json are now part of the backend path filter, so an edit to either alone still triggers the check.

Also corrects reference.md's CI check table, which still claimed manifest:drift-check/engine-parity:drift-check weren't wired into ci.yml -- stale since #7067 actually added them -- and adds table rows for all 5 checks that landed across #7067 and this PR.

Test plan

  • npm run actionlint -- clean
  • npx vitest run test/unit/sync-release-manifest.test.ts -- 8/8 pass (pure-function + injected-io coverage mirroring sync-release-lockfile-versions.test.ts's established pattern)
  • npm run typecheck -- clean (after npm run build --workspace @loopover/engine)
  • npm run release-manifest:sync:check -- passes against the real, already-correct manifest; manually verified it fails loudly when a version is hand-corrupted, then re-passes after npm run release-manifest:sync
  • npm run docs:drift-check -- clean

…nd-editing it

#7100 fixed the immediate mismatch by hand-typing corrected version numbers
into .release-please-manifest.json -- exactly the failure mode that caused
the drift in the first place (a human-authored value instead of one derived
from source of truth). This replaces that with a real mechanism:

- scripts/sync-release-manifest.mjs treats each package's own package.json
  "version" as authoritative and syncs the manifest to match -- `npm run
  release-manifest:sync` is now the only supported way to fix drift, never
  a manual edit.
- `npm run release-manifest:sync:check` (wired into both test:ci and
  .github/workflows/ci.yml, gated on backend/mcp/engine/miner/ui) fails CI
  the moment the manifest and a package.json disagree, instead of surfacing
  days later as release-please re-proposing an already-published version
  (#7086/#7087).
- .release-please-manifest.json and release-please-config.json are now part
  of the `backend` path filter so editing either alone still triggers the
  check.

Also corrects reference.md's CI check table, which still claimed
manifest:drift-check/engine-parity:drift-check weren't wired into ci.yml --
stale since #7067 actually added them.
@superagent-security

Copy link
Copy Markdown
Contributor

Superagent didn't find any vulnerabilities or security issues in this PR.

@JSONbored JSONbored self-assigned this Jul 17, 2026
@JSONbored
JSONbored merged commit 41a7867 into main Jul 17, 2026
6 of 7 checks passed
@JSONbored
JSONbored deleted the fix/release-please-manifest-sync branch July 17, 2026 21:17
@loopover-orb loopover-orb Bot added the gittensor:bug Gittensor-scored bug fix — scores a 0.05x multiplier. label Jul 17, 2026
@codecov

codecov Bot commented Jul 17, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 93.75%. Comparing base (ead6fdd) to head (1b42787).
⚠️ Report is 7 commits behind head on main.
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #7102   +/-   ##
=======================================
  Coverage   93.75%   93.75%           
=======================================
  Files         692      692           
  Lines       68808    68808           
  Branches    18781    18781           
=======================================
  Hits        64511    64511           
  Misses       3302     3302           
  Partials      995      995           
Flag Coverage Δ
rees 88.56% <ø> (ø)
shard-1 43.78% <ø> (+0.44%) ⬆️
shard-2 36.84% <ø> (-0.06%) ⬇️
shard-3 33.14% <ø> (-0.03%) ⬇️
shard-4 34.47% <ø> (+0.08%) ⬆️
shard-5 32.29% <ø> (+0.61%) ⬆️
shard-6 45.76% <ø> (-0.32%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.
see 1 file with indirect coverage changes

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gittensor:bug Gittensor-scored bug fix — scores a 0.05x multiplier.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant