mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-09-20 22:02:19 +03:00
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>
24 lines
934 B
TypeScript
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);
|
|
});
|