Files
OmniRoute/tests/unit/release-acceptance-close-oracle.test.ts
Bob.Hou 70e311703e ci(acceptance): emit a shadow release-acceptance report next to release-green (#13701) (#14066)
Adds a shadow release-acceptance report alongside release-green: an inventory/reduce/oracle pipeline under `scripts/quality/release-acceptance/` with a JSON schema, fixtures and a workflow that uploads the report as an artifact.

Contained by design, which is why it merges as-is: it runs only on push to `release/v*` and on manual dispatch (never on pull requests), the step is `continue-on-error`, `permissions: contents: read`, `persist-credentials: false`, and it consumes no secrets. Nothing in the product changes; the report is advisory until we decide to promote it.

Validated as a combined board first (this PR merged with the 11 siblings of the same batch on the release tip): eslint on every changed file with the suppressions file, typecheck:core, check:open-sse-typecheck, complexity, cognitive-complexity, changelog-integrity, i18n new-key coverage, docs-sync, migration-numbering, provider-consistency and a duplicate-identifier audit all green, plus 275 passing / 0 failing focused node:test cases across the 28 test files the batch touches. Then re-validated alone on the fresh tip before this merge: conflicts re-resolved, file sizes rebaselined for this PR's own growth, eslint and this PR's focused tests re-run.

Thanks @HouMinXi!

Co-authored-by: Diego Rodrigues de Sa e Souza <diegosouza.pw@gmail.com>
2026-09-18 10:21:59 -03:00

24 lines
934 B
TypeScript

import test from "node:test";
import assert from "node:assert/strict";
import { readFileSync } from "node:fs";
import {
findTrackerCloses,
closingKeywordInBody,
} from "../../scripts/quality/release-acceptance/closeOracle.mjs";
test("nightly still auto-closes the tracker via two steps (deliberate, #12085)", () => {
const text = readFileSync(".github/workflows/nightly-release-green.yml", "utf8");
assert.equal(findTrackerCloses(text).length, 2);
const legacy = readFileSync(
new URL("../fixtures/release-acceptance/legacy-close-steps.yml", import.meta.url),
"utf8"
);
assert.equal(findTrackerCloses(legacy).length, 2);
});
test("Fixes #12732 is a closing keyword; Related to #12732 is not", () => {
assert.equal(closingKeywordInBody("Fixes #12732.\n"), true);
assert.equal(closingKeywordInBody("Related to #12732.\n"), false);
assert.equal(closingKeywordInBody("Fixes #1. Closes #12732\n"), true);
});