From 876048f60ef6d45fe3d80d5410c0727efab2e9d5 Mon Sep 17 00:00:00 2001 From: "Markus F.J. Busche" Date: Sun, 21 Sep 2025 13:24:40 +0200 Subject: [PATCH] =?UTF-8?q?chore(release):=20release=5Fgitea.sh=20(Tag+Rel?= =?UTF-8?q?ease+Assets)=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/release_gitea.sh | 86 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) mode change 100644 => 100755 scripts/release_gitea.sh diff --git a/scripts/release_gitea.sh b/scripts/release_gitea.sh old mode 100644 new mode 100755 index 9dadc7f..1c773a0 --- a/scripts/release_gitea.sh +++ b/scripts/release_gitea.sh @@ -1,6 +1,92 @@ #!/usr/bin/env bash set -euo pipefail +# Usage: scripts/release_gitea.sh [--draft] [--prerelease] +# Requires: GITEA_TOKEN, GITEA_BASE (e.g. https://gitea.elpatron.me), OWNER (e.g. elpatron), REPO (e.g. octo-funnel) + +if [[ $# -lt 1 ]]; then + echo "Usage: $0 [--draft] [--prerelease]" >&2 + exit 1 +fi + +VERSION="$1" +shift || true +DRAFT=false +PRERELEASE=false +for arg in "$@"; do + case "$arg" in + --draft) DRAFT=true ;; + --prerelease) PRERELEASE=true ;; + esac +done + +: "${GITEA_TOKEN:?Set GITEA_TOKEN}" +: "${GITEA_BASE:?Set GITEA_BASE (e.g. https://gitea.elpatron.me)}" +: "${OWNER:?Set OWNER (e.g. elpatron)}" +: "${REPO:?Set REPO (e.g. octo-funnel)}" + +ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")"/.. && pwd)" +DIST_DIR="$ROOT_DIR/octoprint_tailscale_funnel/dist" + +TAG="v${VERSION}" + +echo "Creating git tag ${TAG} and pushing..." +git tag -f "${TAG}" +git push -f origin "${TAG}" + +echo "Creating Gitea release ${TAG}..." +BODY=$(cat <&2 + exit 1 +fi + +echo "Release created: ID=$ID" + +function upload_asset() { + local file="$1" + local name + name=$(basename "$file") + echo "Uploading asset: $name" + curl -sS -X POST "${GITEA_BASE}/api/v1/repos/${OWNER}/${REPO}/releases/${ID}/assets?name=${name}" \ + -H "Authorization: token ${GITEA_TOKEN}" \ + -H 'Content-Type: application/octet-stream' \ + --data-binary @"$file" > /dev/null +} + +upload_asset "$DIST_DIR/octoprint_tailscale_funnel-${VERSION}-py3-none-any.whl" +upload_asset "$DIST_DIR/octoprint_tailscale_funnel-${VERSION}.tar.gz" +upload_asset "$DIST_DIR/octoprint_tailscale_funnel-${VERSION}.zip" + +echo "Release ${TAG} created and assets uploaded." +#!/usr/bin/env bash +set -euo pipefail + # Load .env if present if [ -f "$(dirname "$0")/../.env" ]; then set -a