diff --git a/.gitea/workflows/auto-release.yml b/.gitea/workflows/auto-release.yml index 770b22d..fd371f9 100644 --- a/.gitea/workflows/auto-release.yml +++ b/.gitea/workflows/auto-release.yml @@ -35,18 +35,27 @@ jobs: cp dsh.ico README.md install.cmd uninstall.vbs register-uninstall.ps1 pkg/ cd pkg && python ../scripts/build-online.py ../dsh-desktop-online.zip - - name: Create release + - name: Create or reuse release id: release shell: bash run: | VER="${{ steps.version.outputs.latest }}" - BODY="Auto-built by Gitea Actions. dsh version: ${VER}. Online install package (run install.cmd, requires network)." - curl -s -X POST \ - -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \ - -H "Content-Type: application/json" \ - -d "{\"tag_name\":\"v${VER}\",\"name\":\"DeepSeek Harness v${VER}\",\"body\":\"${BODY}\",\"draft\":false,\"prerelease\":false}" \ - "https://git.vanusys.com/api/v1/repos/${{ github.repository }}/releases" > release.json - python -c "import json; print(json.load(open('release.json'))['id'])" > release_id.txt + TAG="v${VER}" + API="https://git.vanusys.com/api/v1/repos/${{ github.repository }}" + curl -s -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" "$API/releases/tags/${TAG}" -o exist.json + EXIST=$(python -c "import json; d=json.load(open('exist.json')); print(d.get('id',''))") + if [ -n "$EXIST" ]; then + echo "$EXIST" > release_id.txt + echo "reuse existing release $EXIST" + else + BODY="Auto-built by Gitea Actions. dsh version: ${VER}. Online install package (run install.cmd, requires network)." + curl -s -X POST \ + -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \ + -H "Content-Type: application/json" \ + -d "{\"tag_name\":\"${TAG}\",\"name\":\"DeepSeek Harness ${TAG}\",\"body\":\"${BODY}\",\"draft\":false,\"prerelease\":false}" \ + "$API/releases" > release.json + python -c "import json; print(json.load(open('release.json'))['id'])" > release_id.txt + fi echo "release_id=$(cat release_id.txt)" >> "$GITHUB_OUTPUT" - name: Upload asset