Adding Pipeline for release and tag on main

This commit is contained in:
Torsten Brendgen
2026-04-11 22:25:16 +02:00
parent 45ef178c37
commit 64e1ef0e6a
3 changed files with 116 additions and 34 deletions

View File

@@ -0,0 +1,65 @@
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")"