generated from LizardByte/template-base
-
-
Notifications
You must be signed in to change notification settings - Fork 0
Closed
Description
Describe the Bug
actions/actions/release_create/cleanup.js
Lines 52 to 83 in 7b71021
| function filterReleasesToDelete(allReleases, isDraft, currentTag, keepLatest) { | |
| let releasesToDelete = []; | |
| if (isDraft) { | |
| // When creating a draft, delete all other draft releases | |
| releasesToDelete = allReleases.filter(release => | |
| release.draft && | |
| matchesVersionPattern(release.tag_name) && | |
| release.tag_name !== currentTag | |
| ); | |
| console.log('Matched Draft releases:', releasesToDelete.map(release => release.tag_name)); | |
| } else { | |
| // When creating a non-draft pre-release, delete all except the latest N pre-releases | |
| releasesToDelete = allReleases.filter(release => | |
| release.prerelease && | |
| matchesVersionPattern(release.tag_name) && | |
| release.tag_name !== currentTag | |
| ); | |
| console.log('Matched Pre-release tags:', releasesToDelete.map(release => release.tag_name)); | |
| // Sort by tag/version number (e.g. v1.2.3 or v1.2.3.4) | |
| releasesToDelete.sort((a, b) => compareVersionTags(a.tag_name, b.tag_name)); | |
| // Output sorted pre-releases | |
| console.log('Sorted Pre-release tags:', releasesToDelete.map(release => release.tag_name)); | |
| // Keep only the releases to delete (remove the latest N from the list) | |
| if (keepLatest > 0) { | |
| releasesToDelete = releasesToDelete.slice(0, -keepLatest); | |
| } | |
| // If keepLatest is 0, delete all | |
| } |
After ensuring the current release does not get deleted, it now increases the pre-release to keep count by 1.
Expected Behavior
Keep only the keepPreReleaseCount number of pre-releases instead of keepPreReleaseCount + 1
Additional Context
Bug was introduced in #41
Metadata
Metadata
Assignees
Labels
No labels