build: remove old drafts

This commit is contained in:
2025-08-06 20:23:38 +03:00
parent d49f3456cd
commit dd9f125d44

View File

@@ -93,3 +93,42 @@ jobs:
generate_release_notes: true generate_release_notes: true
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Delete draft releases older than 7 days
uses: actions/github-script@v7
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
const daysToKeep = 7;
const cutoffDate = new Date(Date.now() - daysToKeep * 24 * 60 * 60 * 1000);
const releases = await github.rest.repos.listReleases({
owner: context.repo.owner,
repo: context.repo.repo,
per_page: 100
});
for (const release of releases.data) {
if (release.draft) {
const created = new Date(release.created_at);
if (created < cutoffDate) {
console.log(`Deleting draft release: ${release.name || release.tag_name} (${release.id})`);
await github.rest.repos.deleteRelease({
owner: context.repo.owner,
repo: context.repo.repo,
release_id: release.id
});
try {
await github.rest.git.deleteRef({
owner: context.repo.owner,
repo: context.repo.repo,
ref: `tags/${release.tag_name}`
});
console.log(`Deleted tag: ${release.tag_name}`);
} catch (err) {
console.log(`Tag ${release.tag_name} not found or already deleted.`);
}
}
}
}