#!/usr/bin/env bash # ============================================================================== # Veröffentlicht ein Release auf dem Gitea-Server (gitea.pansi.eu) # Lädt .deb, .AppImage und SHA256SUMS.txt als Release-Assets hoch. # ============================================================================== set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" ROOT_DIR="$(cd "${SCRIPT_DIR}/.." && pwd)" cd "${ROOT_DIR}" GITEA_SERVER="${GITEA_SERVER:-https://gitea.pansi.eu}" REPO_OWNER="${REPO_OWNER:-harald}" REPO_NAME="${REPO_NAME:-ink-notes}" # Token aus Argument oder Umgebungsvariablen ermitteln TOKEN="${1:-${INK_NOTES_GITEA_TOKEN:-${GITEA_TOKEN:-${GITHUB_TOKEN:-}}}}" if [ -z "${TOKEN}" ]; then echo "FEHLER: Kein Gitea-API-Token angegeben." echo "Verwendung: $0 " echo "Oder setze die Umgebungsvariable INK_NOTES_GITEA_TOKEN." exit 1 fi VERSION=$(grep -m1 '^version = ' Cargo.toml | cut -d '"' -f2) TAG_NAME="v${VERSION}" RELEASE_TITLE="ink-notes ${TAG_NAME}" DEB_FILE="${ROOT_DIR}/target/ink-notes_${VERSION}_amd64.deb" APPIMAGE_FILE="${ROOT_DIR}/target/ink-notes_${VERSION}_x86_64.AppImage" CHECKSUMS_FILE="${ROOT_DIR}/target/SHA256SUMS.txt" # Sicherstellen, dass die Artefakte existieren if [ ! -f "${DEB_FILE}" ] || [ ! -f "${APPIMAGE_FILE}" ] || [ ! -f "${CHECKSUMS_FILE}" ]; then echo "Artefakte nicht vollständig gefunden. Führe build-release.sh aus..." "${SCRIPT_DIR}/build-release.sh" fi echo "======================================================================" echo "Veröffentliche Release ${TAG_NAME} auf ${GITEA_SERVER}/${REPO_OWNER}/${REPO_NAME}" echo "======================================================================" RELEASE_BODY=$(cat < /dev/null echo "✓ ${filename} erfolgreich hochgeladen." } upload_asset "${DEB_FILE}" upload_asset "${APPIMAGE_FILE}" upload_asset "${CHECKSUMS_FILE}" echo "======================================================================" echo "Release ${TAG_NAME} erfolgreich veröffentlicht!" echo "URL: ${GITEA_SERVER}/${REPO_OWNER}/${REPO_NAME}/releases/tag/${TAG_NAME}" echo "======================================================================"