diff --git a/.gitea/workflows/auto-release.yml b/.gitea/workflows/auto-release.yml index fd371f9..32018a5 100644 --- a/.gitea/workflows/auto-release.yml +++ b/.gitea/workflows/auto-release.yml @@ -62,7 +62,18 @@ jobs: shell: bash run: | ID="${{ steps.release.outputs.release_id }}" - curl -s -X POST \ - -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \ - -F "attachment=@dsh-desktop-online.zip" \ - "https://git.vanusys.com/api/v1/repos/${{ github.repository }}/releases/${ID}/assets" + API="https://git.vanusys.com/api/v1/repos/${{ github.repository }}" + AUTH="Authorization: token ${{ secrets.GITHUB_TOKEN }}" + # remove same-name old assets first + curl -s -H "$AUTH" "$API/releases/${ID}/assets" -o assets.json + python -c " +import json +for a in json.load(open('assets.json')): + if a['name'] == 'dsh-desktop-online.zip': + print(a['id']) +" > old_ids.txt + while read AID; do + curl -s -X DELETE -H "$AUTH" "$API/releases/${ID}/assets/${AID}" -o /dev/null + echo "deleted old asset $AID" + done < old_ids.txt + curl -s -X POST -H "$AUTH" -F "attachment=@dsh-desktop-online.zip" "$API/releases/${ID}/assets"