Make generated releases readable by Nginx

This commit is contained in:
root
2026-07-23 21:37:34 -07:00
parent f47dafc95a
commit a0a4a21962
2 changed files with 5 additions and 0 deletions
+3
View File
@@ -79,7 +79,10 @@ test("equivalent resolved inputs are byte-identical despite different run IDs",
assert.equal(first.input.artifactBuildId, second.input.artifactBuildId);
const engine = new BuildEngine(output);
const one = engine.build(first.input);
assert.equal(fs.statSync(one.outputDirectory).mode & 0o777, 0o750);
fs.chmodSync(one.outputDirectory, 0o700);
const two = engine.build(second.input);
assert.equal(fs.statSync(two.outputDirectory).mode & 0o777, 0o750);
assert.equal(one.artifactChecksum, two.artifactChecksum);
assert.equal(one.outputDirectory, two.outputDirectory);
assert.deepEqual(one.generatedFiles, two.generatedFiles);
+2
View File
@@ -228,6 +228,7 @@ export class BuildEngine {
if (!validationReport.summary.passed) return { success: false, outputDirectory, generatedRoutesCount: 0, artifactChecksum: "", artifactSizeBytes: 0, validationReport, generatedFiles: [] };
if (fs.existsSync(outputDirectory)) {
const verified = this.verifyRelease(input.artifactBuildId);
fs.chmodSync(outputDirectory, 0o750);
return { success: true, outputDirectory, generatedRoutesCount: verified.routes.length, artifactChecksum: verified.artifactChecksum, artifactSizeBytes: verified.sizeBytes, validationReport, generatedFiles: verified.files };
}
fs.mkdirSync(this.releasesDirectory(), { recursive: true });
@@ -375,6 +376,7 @@ export class BuildEngine {
const generatedFiles = [...files].sort();
const artifactSizeBytes = generatedFiles.reduce((sum, relative) => sum + fs.statSync(path.join(temporaryDirectory, ...relative.split("/"))).size, 0);
fs.renameSync(temporaryDirectory, outputDirectory);
fs.chmodSync(outputDirectory, 0o750);
return { success: true, outputDirectory, generatedRoutesCount: routes.size, artifactChecksum, artifactSizeBytes, validationReport, generatedFiles };
} catch (error) {
fs.rmSync(temporaryDirectory, { recursive: true, force: true });