Release-Skript: fragt Version ab, baut Windows + Arch/CachyOS und lädt nach Gitea hoch

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-09-25 18:06:27 +02:00
co-authored by Claude Opus 5.5
parent 4b1738aae8
commit b578a6c7ec
3 changed files with 36 additions and 0 deletions
+33
View File
@@ -0,0 +1,33 @@
#!/usr/bin/env bash
# Fragt nach der Version, baut Windows (Setup + Portable, per wine) und Arch/CachyOS (pacman + AppImage)
# und lädt alles als Release v<version> nach Gitea hoch.
# Token: Umgebungsvariable GITEA_TOKEN oder Datei .gitea-token im Projektordner (nicht eingecheckt).
set -euo pipefail
cd "$(dirname "$0")/.."
unset ELECTRON_RUN_AS_NODE
if [[ -z "${GITEA_TOKEN:-}" && -f .gitea-token ]]; then GITEA_TOKEN="$(tr -d '[:space:]' < .gitea-token)"; fi
if [[ -z "${GITEA_TOKEN:-}" ]]; then read -rsp "Gitea-Token: " GITEA_TOKEN; echo; fi
export GITEA_TOKEN
current="$(node -p "require('./package.json').version")"
read -rp "Release-Version [${current}]: " version
version="${version:-$current}"
version="${version#v}"
[[ "$version" =~ ^[0-9]+\.[0-9]+\.[0-9]+(-[0-9A-Za-z.]+)?$ ]] || { echo "Ungültige Version: $version"; exit 1; }
read -rp "Release-Notizen: " notes
prerelease=()
[[ "$version" == *-* ]] && prerelease=(--prerelease)
if [[ "$version" != "$current" ]]; then
npm version "$version" --no-git-tag-version >/dev/null
git add package.json package-lock.json
git commit -m "Version ${version}"
fi
git push origin HEAD
rm -rf dist
npm run dist:linux
npm run dist:win
npm run release -- --notes "$notes" "${prerelease[@]}"