@@ -245,22 +245,38 @@ jobs:
245245 git config user.name "$GITHUB_ACTOR"
246246 git config user.email "$GITHUB_ACTOR@users.noreply.github.com"
247247
248- # Delete existing releases to allow overwrite
249- - name : Delete existing releases
248+ # Delete existing releases and tags to allow overwrite
249+ - name : Delete existing releases and tags
250250 env :
251251 GH_TOKEN : ${{ github.token }}
252252 run : |
253253 for chart in charts/*/; do
254254 if [ -f "$chart/Chart.yaml" ]; then
255255 chart_name=$(basename "$chart")
256256 version=$(yq '.version' "$chart/Chart.yaml")
257- release_name="${chart_name}-${version}"
258- echo "🗑️ Deleting release $release_name (if exists)"
259- gh release delete "$release_name" --yes 2>/dev/null || true
260- git push --delete origin "$release_name" 2>/dev/null || true
257+ tag="${chart_name}-${version}"
258+
259+ echo "🗑️ Checking release/tag: $tag"
260+
261+ # Check if release exists and delete it
262+ if gh release view "$tag" &>/dev/null; then
263+ echo " Deleting release $tag"
264+ gh release delete "$tag" --yes --cleanup-tag
265+ fi
266+
267+ # Force delete tag if it still exists
268+ if git ls-remote --tags origin | grep -q "refs/tags/$tag$"; then
269+ echo " Deleting remote tag $tag"
270+ git push origin ":refs/tags/$tag"
271+ fi
272+
273+ # Delete local tag if exists
274+ git tag -d "$tag" 2>/dev/null || true
261275 fi
262276 done
263277
278+ echo "✅ Cleanup complete"
279+
264280 - name : Run chart-releaser
265281 uses : helm/chart-releaser-action@v1.7.0
266282 env :
0 commit comments