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:
parent
b84538e4cb
commit
9059b2b32a
5 changed files with 69 additions and 10 deletions
|
|
@ -275,6 +275,12 @@ async function main(): Promise<void> {
|
|||
push ${branch}, push ${tag}; then in parallel: Mac build + notarize -> ${out.replace(HOME, '~')}; macOS acceptance (${accCached ? 'cached' : 'runs now'}, key ${key.slice(0, 12)});
|
||||
Forgejo ci (candidate of the bump commit) + release.yml (promotion); add, verify, publish to ${rehearsal ? 'the rehearsal channel' : 'stable'} via ${host};
|
||||
${rehearsal ? 'app copied to a scratch folder; then the tag, release, candidates, branch and storebound.dev files of the rehearsal are deleted' : 'update /Applications/storebound.app; print npm publish + npm deprecate'}`);
|
||||
// background tests never gate a release; a red result is printed so the next patch fixes it
|
||||
try {
|
||||
const { mainTests } = await import('./ci-status');
|
||||
const t = await mainTests();
|
||||
if (t.state === 'red') say(`WARNING: background tests are red on ${t.sha.slice(0, 10)} (${t.failed.join(', ')}): ${t.run}; releasing anyway, fix it in the next patch`);
|
||||
} catch (e) { say(`background tests: not read (${(e as Error).message.slice(0, 120)})`); }
|
||||
// the dry run catches what the bump would refuse
|
||||
if (!rehearsal && !resume) { try { cutChangelog(readFileSync(join(ROOT, 'CHANGELOG.md'), 'utf8'), version, '2000-01-01'); } catch (e) { fail((e as Error).message); } }
|
||||
if (!yes) { console.log('\ndry run: nothing changed (--yes to release)'); return; }
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue