mirror of
https://gitea.com/actions/gitea-release-action.git
synced 2025-06-30 07:38:13 +07:00
fix: deletion of old releases
Duplicate deletions occur when users generate their own .md5 and .sha256 files and do not use action's built-in md5sum and sha256sum functions. issue: https://github.com/akkuman/gitea-release-action/issues/5
This commit is contained in:
parent
65a502e85c
commit
f66c1c98f1
29
dist/index.js
vendored
29
dist/index.js
vendored
@ -48279,18 +48279,25 @@ async function uploadFiles(client, owner, repo, release_id, all_files, params) {
|
||||
id: release_id,
|
||||
})
|
||||
// deleted old release attachment
|
||||
const will_deleted = new Set();
|
||||
for (const filepath of all_files) {
|
||||
for (const attachment of attachments) {
|
||||
let will_deleted = [external_path_.basename(filepath), `${external_path_.basename(filepath)}.md5`, `${external_path_.basename(filepath)}.sha256`]
|
||||
if (will_deleted.includes(attachment.name)) {
|
||||
await client.repository.repoDeleteReleaseAttachment({
|
||||
owner: owner,
|
||||
repo: repo,
|
||||
id: release_id,
|
||||
attachmentId: attachment.id,
|
||||
})
|
||||
console.log(`Successfully deleted old release attachment ${attachment.name}`)
|
||||
}
|
||||
will_deleted.add(external_path_.basename(filepath));
|
||||
if (params.md5sum) {
|
||||
will_deleted.add(`${external_path_.basename(filepath)}.md5`);
|
||||
}
|
||||
if (params.sha256sum) {
|
||||
will_deleted.add(`${external_path_.basename(filepath)}.sha256`);
|
||||
}
|
||||
}
|
||||
for (const attachment of attachments) {
|
||||
if (will_deleted.has(attachment.name)) {
|
||||
await client.repository.repoDeleteReleaseAttachment({
|
||||
owner: owner,
|
||||
repo: repo,
|
||||
id: release_id,
|
||||
attachmentId: attachment.id,
|
||||
})
|
||||
console.log(`Successfully deleted old release attachment ${attachment.name}`)
|
||||
}
|
||||
}
|
||||
// upload new release attachment
|
||||
|
29
main.js
29
main.js
@ -143,18 +143,25 @@ async function uploadFiles(client, owner, repo, release_id, all_files, params) {
|
||||
id: release_id,
|
||||
})
|
||||
// deleted old release attachment
|
||||
const will_deleted = new Set();
|
||||
for (const filepath of all_files) {
|
||||
for (const attachment of attachments) {
|
||||
let will_deleted = [path.basename(filepath), `${path.basename(filepath)}.md5`, `${path.basename(filepath)}.sha256`]
|
||||
if (will_deleted.includes(attachment.name)) {
|
||||
await client.repository.repoDeleteReleaseAttachment({
|
||||
owner: owner,
|
||||
repo: repo,
|
||||
id: release_id,
|
||||
attachmentId: attachment.id,
|
||||
})
|
||||
console.log(`Successfully deleted old release attachment ${attachment.name}`)
|
||||
}
|
||||
will_deleted.add(path.basename(filepath));
|
||||
if (params.md5sum) {
|
||||
will_deleted.add(`${path.basename(filepath)}.md5`);
|
||||
}
|
||||
if (params.sha256sum) {
|
||||
will_deleted.add(`${path.basename(filepath)}.sha256`);
|
||||
}
|
||||
}
|
||||
for (const attachment of attachments) {
|
||||
if (will_deleted.has(attachment.name)) {
|
||||
await client.repository.repoDeleteReleaseAttachment({
|
||||
owner: owner,
|
||||
repo: repo,
|
||||
id: release_id,
|
||||
attachmentId: attachment.id,
|
||||
})
|
||||
console.log(`Successfully deleted old release attachment ${attachment.name}`)
|
||||
}
|
||||
}
|
||||
// upload new release attachment
|
||||
|
Loading…
x
Reference in New Issue
Block a user