|
45 | 45 | echo "✅ Tag $TAG does not exist yet" |
46 | 46 | fi |
47 | 47 |
|
| 48 | + - name: Remove old packages from existing draft |
| 49 | + if: steps.check-tag.outputs.exists == 'false' |
| 50 | + env: |
| 51 | + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
| 52 | + run: | |
| 53 | + TAG="v${{ needs.build-and-test.outputs.version }}" |
| 54 | + # Check if draft release already exists |
| 55 | + if gh release view "$TAG" &>/dev/null; then |
| 56 | + echo "🗑️ Removing old NuGet packages from existing draft..." |
| 57 | + gh release view "$TAG" --json assets -q '.assets[] | select(.name | endswith(".nupkg")) | "\(.id) \(.name)"' | while read -r asset_id asset_name; do |
| 58 | + echo "Deleting old package: $asset_name (ID: $asset_id)" |
| 59 | + gh api --method DELETE "/repos/${{ github.repository }}/releases/assets/$asset_id" || echo "Failed to delete $asset_name" |
| 60 | + done |
| 61 | + else |
| 62 | + echo "No existing draft release found" |
| 63 | + fi |
| 64 | +
|
48 | 65 | - name: Create/Update Draft Release |
49 | 66 | if: steps.check-tag.outputs.exists == 'false' |
50 | 67 | uses: release-drafter/release-drafter@v6 |
|
64 | 81 | GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
65 | 82 | run: | |
66 | 83 | TAG="v${{ needs.build-and-test.outputs.version }}" |
67 | | - # Wait a moment for the release to be created |
| 84 | + # Wait a moment for the release to be created/updated |
68 | 85 | sleep 2 |
69 | 86 |
|
70 | | - # Remove old NuGet packages from the draft release |
71 | | - echo "🗑️ Removing old NuGet packages..." |
72 | | - gh release view "$TAG" --json assets -q '.assets[] | select(.name | endswith(".nupkg")) | "\(.id) \(.name)"' | while read -r asset_id asset_name; do |
73 | | - echo "Deleting old package: $asset_name (ID: $asset_id)" |
74 | | - gh api --method DELETE "/repos/${{ github.repository }}/releases/assets/$asset_id" || echo "Failed to delete $asset_name" |
75 | | - done |
76 | | -
|
77 | 87 | # Upload new artifacts to the draft release |
78 | 88 | echo "📦 Uploading new NuGet packages..." |
79 | 89 | for file in ./artifacts/*.nupkg; do |
|
0 commit comments