Skip to content

fix(release): tag and pack the resolved release commit, never the dispatch head#8527

Merged
JSONbored merged 1 commit into
mainfrom
fix/8525-reconcile-tag-merge-commit
Jul 24, 2026
Merged

fix(release): tag and pack the resolved release commit, never the dispatch head#8527
JSONbored merged 1 commit into
mainfrom
fix/8525-reconcile-tag-merge-commit

Conversation

@JSONbored

Copy link
Copy Markdown
Owner

Summary

Advances #8525 (root cause of the #8506 zombie). The reconcile self-heal dispatches publish-*.yml bare — against main head — and the bare-dispatch path tagged and packed HEAD. During today's runner backlog that placed ui-kit-v1.1.2 two commits late, silently absorbing the would-be 1.1.3 fix into the 1.1.2 tag/artifact and permanently zombifying the open v1.1.3 release PR.

All four publish workflows now resolve the release commit (newest main commit that introduced the current version string into the package's own package.json — the release PR's merge commit), verify it's reachable from main, verify any pre-existing tag points at it, detach onto it so the tarball is built from the exact tree the version describes, and create the annotated tag there explicitly. Unresolvable ⇒ hard abort, never a head fallback. The normal release-please dispatch path (dispatched against the tag ref) is unchanged in effect: HEAD already is the release commit there.

Validation

actionlint clean (incl. shellcheck); new test/unit/publish-release-tag-pins.test.ts pins the resolver, the fail-loud arm, the ancestor check, the detach, the cross-job release_sha handoff, and the absence of every head-tagging form across all four workflows (12 pins, green). Workflow-only + test-only change — no src/** coverage surface.

…patch head

Advances #8525. The reconcile self-heal dispatches publish-*.yml bare
(against main head), and the bare-dispatch path tagged-and-packed HEAD --
during today's runner backlog that placed ui-kit-v1.1.2 two commits late,
sweeping the would-be 1.1.3 fix into the 1.1.2 tag and published artifact
and zombifying the open v1.1.3 release PR (release-please saw 'No commits
for path' behind the misplaced tag and could neither regenerate nor prune
it; closed by hand as #8506).

All four publish workflows now resolve the RELEASE COMMIT -- the newest
main commit that introduced the current version string into the package's
own package.json (the release PR's merge commit) -- then:
- verify it is reachable from main,
- verify any pre-existing tag points AT it (not at HEAD),
- detach onto it so typecheck/pack build the exact tree the version
  number describes,
- create the annotated tag at it explicitly.

Unresolvable ⇒ hard abort, never a head fallback. The release-please
dispatch path (dispatched against the tag itself) is byte-identical in
effect: there HEAD already IS the release commit. Regression pins in
test/unit/publish-release-tag-pins.test.ts cover the resolver, the
fail-loud arm, the detach, and the death of every head-tagging form
across all four workflows.
@JSONbored JSONbored self-assigned this Jul 24, 2026
@superagent-security

Copy link
Copy Markdown
Contributor

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

@JSONbored
JSONbored merged commit 1d83593 into main Jul 24, 2026
4 checks passed
@JSONbored
JSONbored deleted the fix/8525-reconcile-tag-merge-commit branch July 24, 2026 18:40
@loopover-orb loopover-orb Bot added the gittensor:bug Gittensor-scored bug fix — scores a 0.05x multiplier. label Jul 24, 2026
@codecov

codecov Bot commented Jul 24, 2026

Copy link
Copy Markdown

Codecov Report

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

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #8527   +/-   ##
=======================================
  Coverage   92.53%   92.53%           
=======================================
  Files         793      793           
  Lines       79561    79561           
  Branches    24043    24043           
=======================================
  Hits        73625    73625           
  Misses       4799     4799           
  Partials     1137     1137           
Flag Coverage Δ
backend 93.71% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

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