Make generated releases readable by Nginx
This commit is contained in:
@@ -79,7 +79,10 @@ test("equivalent resolved inputs are byte-identical despite different run IDs",
|
|||||||
assert.equal(first.input.artifactBuildId, second.input.artifactBuildId);
|
assert.equal(first.input.artifactBuildId, second.input.artifactBuildId);
|
||||||
const engine = new BuildEngine(output);
|
const engine = new BuildEngine(output);
|
||||||
const one = engine.build(first.input);
|
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);
|
const two = engine.build(second.input);
|
||||||
|
assert.equal(fs.statSync(two.outputDirectory).mode & 0o777, 0o750);
|
||||||
assert.equal(one.artifactChecksum, two.artifactChecksum);
|
assert.equal(one.artifactChecksum, two.artifactChecksum);
|
||||||
assert.equal(one.outputDirectory, two.outputDirectory);
|
assert.equal(one.outputDirectory, two.outputDirectory);
|
||||||
assert.deepEqual(one.generatedFiles, two.generatedFiles);
|
assert.deepEqual(one.generatedFiles, two.generatedFiles);
|
||||||
|
|||||||
@@ -228,6 +228,7 @@ export class BuildEngine {
|
|||||||
if (!validationReport.summary.passed) return { success: false, outputDirectory, generatedRoutesCount: 0, artifactChecksum: "", artifactSizeBytes: 0, validationReport, generatedFiles: [] };
|
if (!validationReport.summary.passed) return { success: false, outputDirectory, generatedRoutesCount: 0, artifactChecksum: "", artifactSizeBytes: 0, validationReport, generatedFiles: [] };
|
||||||
if (fs.existsSync(outputDirectory)) {
|
if (fs.existsSync(outputDirectory)) {
|
||||||
const verified = this.verifyRelease(input.artifactBuildId);
|
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 };
|
return { success: true, outputDirectory, generatedRoutesCount: verified.routes.length, artifactChecksum: verified.artifactChecksum, artifactSizeBytes: verified.sizeBytes, validationReport, generatedFiles: verified.files };
|
||||||
}
|
}
|
||||||
fs.mkdirSync(this.releasesDirectory(), { recursive: true });
|
fs.mkdirSync(this.releasesDirectory(), { recursive: true });
|
||||||
@@ -375,6 +376,7 @@ export class BuildEngine {
|
|||||||
const generatedFiles = [...files].sort();
|
const generatedFiles = [...files].sort();
|
||||||
const artifactSizeBytes = generatedFiles.reduce((sum, relative) => sum + fs.statSync(path.join(temporaryDirectory, ...relative.split("/"))).size, 0);
|
const artifactSizeBytes = generatedFiles.reduce((sum, relative) => sum + fs.statSync(path.join(temporaryDirectory, ...relative.split("/"))).size, 0);
|
||||||
fs.renameSync(temporaryDirectory, outputDirectory);
|
fs.renameSync(temporaryDirectory, outputDirectory);
|
||||||
|
fs.chmodSync(outputDirectory, 0o750);
|
||||||
return { success: true, outputDirectory, generatedRoutesCount: routes.size, artifactChecksum, artifactSizeBytes, validationReport, generatedFiles };
|
return { success: true, outputDirectory, generatedRoutesCount: routes.size, artifactChecksum, artifactSizeBytes, validationReport, generatedFiles };
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
fs.rmSync(temporaryDirectory, { recursive: true, force: true });
|
fs.rmSync(temporaryDirectory, { recursive: true, force: true });
|
||||||
|
|||||||
Reference in New Issue
Block a user