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:
@@ -1,3 +1,4 @@
|
|||||||
node_modules/
|
node_modules/
|
||||||
dist/
|
dist/
|
||||||
package.json
|
package.json
|
||||||
|
.gitea-token
|
||||||
|
|||||||
@@ -44,6 +44,8 @@ npm und die Builds danach nicht mehr mit `sudo` ausführen – nur `pacman -U` z
|
|||||||
2. Auf jeder Plattform bauen (`npm run dist:win` bzw. `npm run dist:linux`)
|
2. Auf jeder Plattform bauen (`npm run dist:win` bzw. `npm run dist:linux`)
|
||||||
3. `GITEA_TOKEN=<token> npm run release -- --notes "Was ist neu"` – legt das Release `v<version>` an und lädt die Pakete hoch
|
3. `GITEA_TOKEN=<token> npm run release -- --notes "Was ist neu"` – legt das Release `v<version>` an und lädt die Pakete hoch
|
||||||
|
|
||||||
|
Oder alles in einem Schritt unter Linux (Windows-Build per `wine`): `./scripts/release-all.sh` – fragt nach Version und Notizen, committet/pusht die Version, baut Windows + Arch/CachyOS und lädt hoch. Token aus `GITEA_TOKEN` oder `.gitea-token` (nicht eingecheckt).
|
||||||
|
|
||||||
Installierte Clients prüfen beim Start (und über Einstellungen → Updates) und installieren das passende Paket. Für ein privates Repo in den Einstellungen ein Lese-Token hinterlegen.
|
Installierte Clients prüfen beim Start (und über Einstellungen → Updates) und installieren das passende Paket. Für ein privates Repo in den Einstellungen ein Lese-Token hinterlegen.
|
||||||
|
|
||||||
Icons neu erzeugen nach Logo-Änderung: `npx electron scripts/make-icons.js`
|
Icons neu erzeugen nach Logo-Änderung: `npx electron scripts/make-icons.js`
|
||||||
|
|||||||
Executable
+33
@@ -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[@]}"
|
||||||
Reference in New Issue
Block a user