handle windows setup
This commit is contained in:
46
src/api.js
46
src/api.js
@@ -21,16 +21,20 @@ const s3 = new S3Client({
|
|||||||
});
|
});
|
||||||
|
|
||||||
const cleanOldItems = async () => {
|
const cleanOldItems = async () => {
|
||||||
console.log("cleanOldItems", oldItems.length);
|
console.log(`cleaning|count|${oldItems.length}`);
|
||||||
while (oldItems.length > 0) {
|
while (oldItems.length > 0) {
|
||||||
const key = oldItems.pop();
|
try {
|
||||||
await s3.send(
|
const key = oldItems.pop();
|
||||||
new DeleteObjectCommand({
|
console.log(`cleaning|key|${key}`);
|
||||||
Bucket: BUCKET,
|
await s3.send(
|
||||||
Key: key,
|
new DeleteObjectCommand({
|
||||||
}),
|
Bucket: BUCKET,
|
||||||
);
|
Key: key,
|
||||||
console.log(key);
|
}),
|
||||||
|
);
|
||||||
|
} catch (err) {
|
||||||
|
console.error(err);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -48,16 +52,6 @@ const createDownloadLink = async (key) => {
|
|||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
const getAllFiles = async () => {
|
|
||||||
const data = await s3.send(
|
|
||||||
new ListObjectsCommand({
|
|
||||||
Bucket: BUCKET,
|
|
||||||
Delimiter: "/",
|
|
||||||
}),
|
|
||||||
);
|
|
||||||
console.log(data);
|
|
||||||
};
|
|
||||||
|
|
||||||
const getBucketFiles = async (folderName) => {
|
const getBucketFiles = async (folderName) => {
|
||||||
try {
|
try {
|
||||||
folderName = folderName.toLowerCase();
|
folderName = folderName.toLowerCase();
|
||||||
@@ -88,8 +82,9 @@ const getBucketFiles = async (folderName) => {
|
|||||||
return a.sort > b.sort ? -1 : a.sort < b.sort ? 1 : 0;
|
return a.sort > b.sort ? -1 : a.sort < b.sort ? 1 : 0;
|
||||||
});
|
});
|
||||||
const itemCount = {};
|
const itemCount = {};
|
||||||
|
const ext = ".tar.gz";
|
||||||
const filteredItems = ret
|
const filteredItems = ret
|
||||||
.filter((item) => item.name.endsWith(".tar.gz"))
|
.filter((item) => item.name.endsWith(ext))
|
||||||
.filter((item) => {
|
.filter((item) => {
|
||||||
if (folderName === "nightly") {
|
if (folderName === "nightly") {
|
||||||
const parts = item.name.split("_");
|
const parts = item.name.split("_");
|
||||||
@@ -102,6 +97,15 @@ const getBucketFiles = async (folderName) => {
|
|||||||
oldItems.push(item.key);
|
oldItems.push(item.key);
|
||||||
oldItems.push(item.key + ".sha256");
|
oldItems.push(item.key + ".sha256");
|
||||||
oldItems.push(item.key + ".sig");
|
oldItems.push(item.key + ".sig");
|
||||||
|
|
||||||
|
if (parts[3] === "windows") {
|
||||||
|
const setup_key =
|
||||||
|
item.key.substring(0, item.key.length - ext.length - 1) +
|
||||||
|
"_setup.exe";
|
||||||
|
oldItems.push(setup_key);
|
||||||
|
oldItems.push(setup_key + ".sha256");
|
||||||
|
oldItems.push(setup_key + ".sig");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -118,7 +122,7 @@ const getBucketFiles = async (folderName) => {
|
|||||||
}
|
}
|
||||||
return filteredItems;
|
return filteredItems;
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.log(err);
|
console.error(err);
|
||||||
}
|
}
|
||||||
|
|
||||||
return [];
|
return [];
|
||||||
|
@@ -7,12 +7,12 @@ import logger from "morgan";
|
|||||||
import indexRouter from "./routes/index";
|
import indexRouter from "./routes/index";
|
||||||
|
|
||||||
if (!process.env.R_AWS_KEY) {
|
if (!process.env.R_AWS_KEY) {
|
||||||
console.log("FATAL: 'R_AWS_KEY' environment variable is not set");
|
console.error("FATAL: 'R_AWS_KEY' environment variable is not set");
|
||||||
process.exit(-1);
|
process.exit(-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!process.env.R_AWS_SECRET) {
|
if (!process.env.R_AWS_SECRET) {
|
||||||
console.log("FATAL: 'R_AWS_SECRET' environment variable is not set");
|
console.error("FATAL: 'R_AWS_SECRET' environment variable is not set");
|
||||||
process.exit(-2);
|
process.exit(-2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -67,13 +67,13 @@ setInterval(
|
|||||||
for (const stage of stages) {
|
for (const stage of stages) {
|
||||||
try {
|
try {
|
||||||
await getBucketFiles(stage);
|
await getBucketFiles(stage);
|
||||||
} catch (e) {
|
} catch (err) {
|
||||||
console.log(e);
|
console.error(err);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
await cleanOldItems();
|
await cleanOldItems();
|
||||||
} catch (e) {
|
} catch (err) {
|
||||||
console.log(e);
|
console.error(err);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
15 * 60 * 1000,
|
15 * 60 * 1000,
|
||||||
|
Reference in New Issue
Block a user