@@ -175,6 +175,7 @@ jobs:
175175 files : |
176176 ${{ env.WORKSPACE }}/out/*.iso
177177 ${{ env.WORKSPACE }}/out/*.sha*sum
178+
178179
179180 - name : Clean Up
180181 if : always()
@@ -183,4 +184,34 @@ jobs:
183184 docker stop arch-container || true
184185 docker rm -f arch-container || true
185186 fi
186- sudo rm -rf workdir/ out/*.iso out/*.sha*sum
187+ docker exec arch-container bash -c "sudo rm -rf /workdir/workdir/ /workdir/out/*.iso /workdir/out/*.sha*sum"
188+
189+ - name : Set up GitHub CLI
190+ run : |
191+ type -p curl >/dev/null || (sudo apt update && sudo apt install curl -y)
192+ curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg \
193+ && sudo chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg \
194+ && echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null \
195+ && sudo apt update \
196+ && sudo apt install gh -y
197+
198+ - name : Delete old releases
199+ env :
200+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
201+ run : |
202+ # Keep no releases (excluding current new release)
203+ releases=$(gh release list --limit 100 --exclude-drafts --exclude-prereleases --json tagName,createdAt -q '.[].tagName')
204+ keep=0
205+ count=0
206+
207+ echo "Current releases (oldest first):"
208+ echo "$releases"
209+
210+ for release in $releases; do
211+ ((count++))
212+ if ((count > keep)); then
213+ echo "Deleting old release: $release"
214+ gh release delete "$release" --yes
215+ fi
216+ done
217+
0 commit comments