name: Build Release ZIP on: push: tags: - "v*" jobs: release: runs-on: debian-12 steps: - name: Tools installieren run: | apt-get update apt-get install -y git zip curl jq - name: Repo klonen run: | rm -rf /tmp/repo /tmp/build git clone http://oauth2:${{ secrets.PAT_TOKEN }}@10.10.2.140:3000/Torsten/HailMaryGuildTools.git /tmp/repo - name: ZIP bauen mit Addon-Ordner run: | mkdir -p /tmp/build/HailMaryGuildTools cp -r /tmp/repo/* /tmp/build/HailMaryGuildTools/ cd /tmp/build zip -r /tmp/HailMaryGuildTools-${{ gitea.ref_name }}.zip HailMaryGuildTools ls -lh /tmp/HailMaryGuildTools-${{ gitea.ref_name }}.zip - name: Release anlegen oder laden run: | TAG="${{ gitea.ref_name }}" API="http://10.10.2.140:3000/api/v1/repos/Torsten/HailMaryGuildTools" HTTP_CODE=$(curl -s -o /tmp/release.json -w "%{http_code}" \ -H "Authorization: token ${{ secrets.PAT_TOKEN }}" \ "$API/releases/tags/$TAG") if [ "$HTTP_CODE" = "200" ]; then echo "Release existiert bereits" else curl --fail -s \ -H "Authorization: token ${{ secrets.PAT_TOKEN }}" \ -H "Content-Type: application/json" \ -d "{ \"tag_name\": \"$TAG\", \"name\": \"HailMaryGuildTools $TAG\", \"draft\": false, \"prerelease\": false }" \ "$API/releases" > /tmp/release.json fi jq '.id, .tag_name, .html_url' /tmp/release.json - name: ZIP an Release anhängen run: | RELEASE_ID=$(jq -r '.id' /tmp/release.json) FILE="/tmp/HailMaryGuildTools-${{ gitea.ref_name }}.zip" curl --fail \ -H "Authorization: token ${{ secrets.PAT_TOKEN }}" \ -F "attachment=@${FILE}" \ "http://10.10.2.140:3000/api/v1/repos/Torsten/HailMaryGuildTools/releases/${RELEASE_ID}/assets?name=$(basename "$FILE")"