handle windows setup

This commit is contained in:
2025-07-29 08:26:36 -05:00
parent c5fe05d4fc
commit 515b1d1fcb
3 changed files with 31 additions and 27 deletions

View File

@@ -21,16 +21,20 @@ const s3 = new S3Client({
});
const cleanOldItems = async () => {
console.log("cleanOldItems", oldItems.length);
console.log(`cleaning|count|${oldItems.length}`);
while (oldItems.length > 0) {
const key = oldItems.pop();
await s3.send(
new DeleteObjectCommand({
Bucket: BUCKET,
Key: key,
}),
);
console.log(key);
try {
const key = oldItems.pop();
console.log(`cleaning|key|${key}`);
await s3.send(
new DeleteObjectCommand({
Bucket: BUCKET,
Key: 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) => {
try {
folderName = folderName.toLowerCase();
@@ -88,8 +82,9 @@ const getBucketFiles = async (folderName) => {
return a.sort > b.sort ? -1 : a.sort < b.sort ? 1 : 0;
});
const itemCount = {};
const ext = ".tar.gz";
const filteredItems = ret
.filter((item) => item.name.endsWith(".tar.gz"))
.filter((item) => item.name.endsWith(ext))
.filter((item) => {
if (folderName === "nightly") {
const parts = item.name.split("_");
@@ -102,6 +97,15 @@ const getBucketFiles = async (folderName) => {
oldItems.push(item.key);
oldItems.push(item.key + ".sha256");
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;
}
@@ -118,7 +122,7 @@ const getBucketFiles = async (folderName) => {
}
return filteredItems;
} catch (err) {
console.log(err);
console.error(err);
}
return [];

View File

@@ -7,12 +7,12 @@ import logger from "morgan";
import indexRouter from "./routes/index";
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);
}
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);
}

View File

@@ -67,13 +67,13 @@ setInterval(
for (const stage of stages) {
try {
await getBucketFiles(stage);
} catch (e) {
console.log(e);
} catch (err) {
console.error(err);
}
}
await cleanOldItems();
} catch (e) {
console.log(e);
} catch (err) {
console.error(err);
}
},
15 * 60 * 1000,