background tests: ci.yml runs the CI and the acceptance matrix on every push again but nothing waits for them (the gate no longer waits for the parent's run, which a release's own bump push cancels; the record job needs only the installers); tools/ci-status.ts reports main's newest test run and release.ts prints a red one as a warning

This commit is contained in:
CRTkafa 2026-10-16 07:17:19 +08:00
parent b84538e4cb
commit 9059b2b32a
5 changed files with 69 additions and 10 deletions

View file

@ -117,7 +117,7 @@ function fail(msg: string): never { console.error(`release-candidate: ${msg}`);
const t0 = Date.now();
const say = (m: string) => console.log(`[${String(Math.round((Date.now() - t0) / 1000)).padStart(4)}s] ${m}`);
const sha256 = (f: string) => createHash('sha256').update(readFileSync(f)).digest('hex');
const runUrl = (n: number) => `${BASE}/${REPO}/actions/runs/${n}`;
export const runUrl = (n: number) => `${BASE}/${REPO}/actions/runs/${n}`;
function git(args: string[], allowFail = false): string {
const r = spawnSync('git', args, { cwd: ROOT, encoding: 'utf8', maxBuffer: 64 << 20 });
@ -135,7 +135,7 @@ export function changesBetween(base: string, head: string): Change[] {
});
}
async function tasks(): Promise<Task[]> {
export async function tasks(): Promise<Task[]> {
const all: Task[] = [];
for (let page = 1; page <= 3; page++) {
const r = await api<{ workflow_runs?: Task[] }>('GET', `/actions/tasks?limit=50&page=${page}`);