mirror of
https://github.com/openclaw/openclaw.git
synced 2026-07-14 06:26:08 +00:00
fix(release): rewrite excluded contribution records
This commit is contained in:
@@ -452,7 +452,7 @@ export function subtractShippedPullRequests(source, baselines) {
|
||||
return { baselines: metadata, pullRequests: excluded };
|
||||
}
|
||||
|
||||
function withoutExcludedContributionRecords(record, excludedReferences) {
|
||||
export function withoutExcludedContributionRecords(record, excludedReferences) {
|
||||
if (excludedReferences.size === 0) {
|
||||
return record;
|
||||
}
|
||||
@@ -1672,16 +1672,21 @@ function main() {
|
||||
.join(", ")}`,
|
||||
);
|
||||
}
|
||||
const excludedRecordedReferences = new Set([
|
||||
...source.revertedReferences,
|
||||
...shippedExclusions.pullRequests,
|
||||
]);
|
||||
const effectiveRenderedRecord = options.writeLedger
|
||||
? withoutExcludedContributionRecords(renderedRecord, excludedRecordedReferences)
|
||||
: renderedRecord;
|
||||
const effectiveRenderedRecordReferences =
|
||||
contributionRecordMetadataReferences(effectiveRenderedRecord);
|
||||
let priorRecord = { legacyIssues: new Map(), pullRequests: new Map() };
|
||||
if (options.seedRef) {
|
||||
const seedChangelog = git(["show", `${options.seedRef}:CHANGELOG.md`]);
|
||||
const seedSection = sectionFor(seedChangelog, options.version);
|
||||
priorRecord = contributionRecordFor(seedSection);
|
||||
}
|
||||
const excludedRecordedReferences = new Set([
|
||||
...source.revertedReferences,
|
||||
...shippedExclusions.pullRequests,
|
||||
]);
|
||||
priorRecord = withoutExcludedContributionRecords(priorRecord, excludedRecordedReferences);
|
||||
const recordedReferences = contributionRecordMetadataReferences(priorRecord);
|
||||
const revertedRecordedReferences = recordedReferences.filter((number) =>
|
||||
@@ -1696,12 +1701,12 @@ function main() {
|
||||
}
|
||||
const references = [...source.references];
|
||||
appendReferences(references, noteReferences);
|
||||
appendReferences(references, renderedRecordReferences);
|
||||
appendReferences(references, effectiveRenderedRecordReferences);
|
||||
appendReferences(references, recordedReferences);
|
||||
let nodes = resolveReferences(references);
|
||||
const contamination = contaminatingPullRequestReferences({
|
||||
noteReferences,
|
||||
recordedReferences: renderedRecordReferences,
|
||||
recordedReferences: effectiveRenderedRecordReferences,
|
||||
sourcePullRequests: source.pullRequests,
|
||||
sourceReferences: source.references,
|
||||
seededPullRequests: new Set(priorRecord.pullRequests.keys()),
|
||||
|
||||
@@ -10,6 +10,7 @@ import {
|
||||
highlightCountError,
|
||||
releaseNoteReferences,
|
||||
subtractShippedPullRequests,
|
||||
withoutExcludedContributionRecords,
|
||||
} from "../../.agents/skills/openclaw-changelog-update/scripts/verify-release-notes.mjs";
|
||||
|
||||
const verifier = resolve(
|
||||
@@ -128,6 +129,24 @@ describe("release-note verification", () => {
|
||||
expect([...result.pullRequests].toSorted((a, b) => a - b)).toEqual([1, 2, 4]);
|
||||
});
|
||||
|
||||
it("removes rewrite-excluded references from an existing contribution record", () => {
|
||||
const record = {
|
||||
pullRequests: new Map([
|
||||
[1, { references: [2, 10], thanks: [] }],
|
||||
[2, { references: [11], thanks: [] }],
|
||||
]),
|
||||
legacyIssues: new Map([
|
||||
[10, { references: [], thanks: [] }],
|
||||
[11, { references: [], thanks: [] }],
|
||||
]),
|
||||
};
|
||||
|
||||
const filtered = withoutExcludedContributionRecords(record, new Set([2, 10]));
|
||||
|
||||
expect([...filtered.pullRequests]).toEqual([[1, { references: [], thanks: [] }]]);
|
||||
expect([...filtered.legacyIssues]).toEqual([[11, { references: [], thanks: [] }]]);
|
||||
});
|
||||
|
||||
it("does not treat the shipped baseline inventory as current release-note references", () => {
|
||||
const baselines = [{ ref: "v2026.6.11", count: 2, pullRequests: [1, 2] }];
|
||||
const section = [
|
||||
|
||||
Reference in New Issue
Block a user