Move uploading into a helper function and improve error handling

This commit is contained in:
Oliver 2025-11-17 21:43:57 -07:00
parent bb5e27af87
commit a63f0e02d9

View file

@ -8,6 +8,19 @@ const {
FORGEJO_TOKEN: TOKEN, FORGEJO_TOKEN: TOKEN,
} = process.env; } = process.env;
async function uploadFile(releaseID, localPath, remoteName = undefined) {
remoteName ??= localPath.split(`/`).at(-1);
const stream = createReadStream(localPath);
return axios.post(
`${API}/repos/${REPO}/releases/${releaseID}/assets`,
stream,
{
headers: { Authorization: `token ${TOKEN}` },
params: { name: remoteName },
}
)
};
async function main() { async function main() {
// Initial Release Data // Initial Release Data
@ -24,25 +37,24 @@ async function main() {
} }
); );
// Upload the release archive try {
const archive = createReadStream(`release.zip`); await uploadFile(release.data.id, `release.zip`);
await axios.post( await uploadFile(release.data.id, `system.json`);
`${API}/repos/${REPO}/releases/${release.data.id}/assets`, } catch (e) {
archive, console.error(`Failed to upload files, deleting draft release`);
{ console.error(e);
headers: { Authorization: `token ${TOKEN}` },
}
);
// Upload the manifest file try {
const manifest = createReadStream(`system.json`); await axios.delete(
await axios.post( `${API}/repos/${REPO}/releases/${release.data.id}`,
`${API}/repos/${REPO}/releases/${release.data.id}/assets`, {
manifest, headers: { Authorization: `token ${TOKEN}` },
{ }
headers: { Authorization: `token ${TOKEN}`, }, )
} } catch {
); console.error(`Failed to delete draft release`);
};
};
}; };
main(); main();