fix(release): regenerate latest.yml with correct SHA-512 hash

This commit is contained in:
Administrator 2026-03-11 00:21:12 +01:00
parent 9591399a0d
commit d9b00f8fd7

View File

@ -1,5 +1,6 @@
#!/usr/bin/env node
import { execSync } from 'child_process';
import { createHash } from 'crypto';
import { readFileSync, writeFileSync, statSync, createReadStream, existsSync } from 'fs';
import { resolve, basename } from 'path';
@ -154,6 +155,25 @@ async function main() {
run(`git push ${remote.name} ${tag}`);
}
// 6b. Regenerate latest.yml to ensure correct SHA-512
{
const setupName = `${PRODUCT_NAME} Setup ${version}.exe`;
const setupPath = resolve(RELEASE_DIR, setupName);
if (existsSync(setupPath)) {
const sha = await new Promise((res, rej) => {
const h = createHash('sha512');
const s = createReadStream(setupPath);
s.on('data', d => h.update(d));
s.on('end', () => res(h.digest('base64')));
s.on('error', rej);
});
const size = statSync(setupPath).size;
const yml = `version: ${version}\nfiles:\n - url: ${setupName}\n sha512: ${sha}\n size: ${size}\npath: ${setupName}\nsha512: ${sha}\nreleaseDate: '${new Date().toISOString()}'\n`;
writeFileSync(resolve(RELEASE_DIR, 'latest.yml'), yml, 'utf-8');
console.log('Regenerated latest.yml with correct SHA-512');
}
}
// 7. Verify artifacts
const expectedArtifacts = [
`${PRODUCT_NAME} Setup ${version}.exe`,