Harden public release gates

This commit is contained in:
Sucukdeluxe
2026-08-14 00:06:29 +02:00
parent 21840cef94
commit e681338631
7 changed files with 129 additions and 53 deletions
+43
View File
@@ -0,0 +1,43 @@
const test = require('node:test');
const assert = require('node:assert/strict');
const path = require('node:path');
const { pathToFileURL } = require('node:url');
const releasePlanUrl = pathToFileURL(path.resolve(__dirname, '../scripts/release-plan.mjs')).href;
test('release planning rejects omitted or blank English release notes', async () => {
const { parseReleaseArgs } = await import(releasePlanUrl);
assert.throws(
() => parseReleaseArgs(['2.1.20', '--transport-tag', 'v2.1.20']),
/English release notes are required/
);
assert.throws(
() => parseReleaseArgs(['2.1.20', '--transport-tag', 'v2.1.20', ' ']),
/English release notes are required/
);
});
test('release planning preserves dual-host asset names with English release notes', async () => {
const { createReleasePlan, parseReleaseArgs } = await import(releasePlanUrl);
const plan = createReleasePlan(parseReleaseArgs([
'2.1.20',
'--transport-tag',
'v2.1.20',
'Security hardening and reliability fixes.'
]));
assert.equal(plan.releaseBody, 'Security hardening and reliability fixes.');
assert.deepEqual(plan.expectedArtifacts, [
'Multi-Hoster-Upload Setup 2.1.20.exe',
'Multi-Hoster-Upload 2.1.20.exe',
'Multi-Hoster-Upload Setup 2.1.20.exe.blockmap',
'latest.yml'
]);
assert.deepEqual(plan.githubExpectedArtifacts, [
'Multi-Hoster-Upload.Setup.2.1.20.exe',
'Multi-Hoster-Upload.2.1.20.exe',
'Multi-Hoster-Upload.Setup.2.1.20.exe.blockmap',
'latest.yml'
]);
});