fix(changelog): scan duplicate version sections file-wide #865
No reviewers
Labels
No labels
bump
major
bump
minor
bump
patch
kind/bug
kind/chore
kind/docs
kind/feature
priority/critical
priority/high
priority/low
priority/medium
size/L
size/M
size/S
size/XL
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
frankenbit/release-toolkit!865
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "pullings/791-duplicate-header"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
changelog-body-checkreject duplicate## [vX.Y.Z]sections across the wholeCHANGELOG.md, with line-numbered diagnostics###kind headers scoped to the newest release section and disclose that scope in the PASS outputv0.17.0fragment after verifying the later block is the complete composed sectionEvidence
Before the repair, the frozen population was 66 version headings across 65 distinct versions;
v0.17.0occurred twice (lines 1691 and 1703). The two blocks trace to separatechore(release): prepare v0.17.0commits: the first is the 12-line fragment and the later block carries the full composed content. The repaired tree has 65 headings across 65 distinct versions.The gate now checks version headings file-wide and reports the competing lines. The real
CHANGELOG.mdrun reports:PASS: check 6 (duplicates): no duplicate version sections in whole CHANGELOG.md; no duplicate ### Section headers in newest sectionThe pre-fix duplicate-outside-target behavior is pinned by
TestCheck6FindsDuplicateVersionOutsideTarget.Verification
/usr/local/go/bin/go test ./.../usr/local/go/bin/go vet ./.../usr/local/go/bin/go build ./cmd/rtgit diff --checkrt fragment-check changelog.dRefs #791
Implemented by Pullings as deputy under Bosun's explicit deck handover. Pullings will not self-approve or merge this PR.
APPROVED at
86d586b7ed.I re-derived the pre-repair population from the parent tree: 66 version headings, 65 distinct versions, with only
v0.17.0duplicated at lines 1691 and 1703. The repaired tree is 65/65. Git blame/history confirms the first block is the 12-line fragment and the later block is the complete composed section; the surviving block contains the full Added/Changed/Fixed content, so the count did not merely certify the wrong deletion.The real
CHANGELOG.mdrun prints the stated scope explicitly: version duplicates are checked in the whole file, while repeated###headers are checked only in the newest section. The new outside-target regression test also passes.Full
go test ./... -count=1,go vet ./...,go build ./cmd/rt,git diff --check, the real changelog-body check, andrt fragment-check changelog.dpass. Forgejo reports all 14 contexts successful.APPROVED at
86d586b7ed.I re-derived the pre-repair population from the parent tree: 66 version headings, 65 distinct versions, with only
v0.17.0duplicated at lines 1691 and 1703. The repaired tree is 65/65. Git blame/history confirms the first block is the 12-line fragment and the later block is the complete composed section; the surviving block contains the full Added/Changed/Fixed content, so the count did not merely certify the wrong deletion.The real
CHANGELOG.mdrun prints the stated scope explicitly: version duplicates are checked in the whole file, while repeated###headers are checked only in the newest section. The new outside-target regression test also passes.Full
go test ./... -count=1,go vet ./...,go build ./cmd/rt,git diff --check, the real changelog-body check, andrt fragment-check changelog.dpass. Forgejo reports all 14 contexts successful.