Skip to content

Commit 0ad9ede

Browse files
montfortclaude
andauthored
ci: auto-delete previous releases on new version (#37)
Both release workflows now delete older releases of the same component (fw-* or cli-*) after successfully creating the new one. Old tags are also cleaned up via --cleanup-tag. This keeps only the latest release per component on GitHub. Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 27ff4ce commit 0ad9ede

2 files changed

Lines changed: 25 additions & 0 deletions

File tree

.github/workflows/release-cli.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,3 +155,16 @@ jobs:
155155
--latest \
156156
release/*
157157
fi
158+
159+
- name: Delete previous CLI releases
160+
env:
161+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
162+
shell: bash
163+
run: |
164+
CURRENT_TAG="${{ needs.resolve-version.outputs.tag }}"
165+
gh release list --json tagName --jq '.[].tagName' | while read -r tag; do
166+
if [[ "$tag" == cli-* && "$tag" != "$CURRENT_TAG" ]]; then
167+
echo "Deleting old release $tag..."
168+
gh release delete "$tag" --yes --cleanup-tag
169+
fi
170+
done

.github/workflows/release-framework.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,3 +66,15 @@ jobs:
6666
--generate-notes \
6767
"$ASSET"
6868
fi
69+
70+
- name: Delete previous framework releases
71+
env:
72+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
73+
run: |
74+
CURRENT_TAG="${{ steps.version.outputs.tag }}"
75+
gh release list --json tagName --jq '.[].tagName' | while read -r tag; do
76+
if [[ "$tag" == fw-* && "$tag" != "$CURRENT_TAG" ]]; then
77+
echo "Deleting old release $tag..."
78+
gh release delete "$tag" --yes --cleanup-tag
79+
fi
80+
done

0 commit comments

Comments
 (0)