fix(release): regenerate latest.yml with correct SHA-512 hash
This commit is contained in:
parent
9591399a0d
commit
d9b00f8fd7
@ -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`,
|
||||
|
||||
Loading…
Reference in New Issue
Block a user