From 041d7e9a8a7baa5b6f41ad6dabd7d4837f7d254a Mon Sep 17 00:00:00 2001 From: "Max P." Date: Sat, 14 Jun 2025 19:50:26 +0200 Subject: [PATCH] refactor(scripts): standardize scripts and improve readability - Removed unnecessary comments and adjusted formatting for clarity - Translated German comments, logs, and error messages to English - Improved consistency in variable naming and messages across scripts - Enhanced error handling and output for better user feedback --- scripts/detect-version-change.sh | 4 ++-- scripts/install-git-cliff.sh | 28 ++++++++++++++-------------- scripts/release-from-version.sh | 12 ++++++------ scripts/setup-git.sh | 10 +++++----- 4 files changed, 27 insertions(+), 27 deletions(-) diff --git a/scripts/detect-version-change.sh b/scripts/detect-version-change.sh index 7dbc54e..479aea4 100755 --- a/scripts/detect-version-change.sh +++ b/scripts/detect-version-change.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash set -euo pipefail -# === Inputs from GitHub/Gitea Action environment === +# Inputs from GitHub/Gitea Action environment GIT_REF="${GITHUB_REF:-}" COMMIT_BEFORE="${GITHUB_EVENT_BEFORE:-}" COMMIT_AFTER="${GITHUB_SHA:-}" @@ -11,7 +11,7 @@ echo "πŸ” Comparing commits:" echo "Before: $COMMIT_BEFORE" echo "After: $COMMIT_AFTER" -# === Check branch condition === +# Check branch condition if [[ "$GIT_REF" != "refs/heads/main" ]]; then echo "Not on 'main' branch – skipping version check." echo "version_changed=false" >> "$GITHUB_OUTPUT" diff --git a/scripts/install-git-cliff.sh b/scripts/install-git-cliff.sh index b04c71c..fbf1d7e 100755 --- a/scripts/install-git-cliff.sh +++ b/scripts/install-git-cliff.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash -# install-git-cliff.sh – holt neueste oder gewΓΌnschte git-cliff-Binary (x86_64) -# Usage: sudo ./install-git-cliff.sh # neueste Version -# sudo ./install-git-cliff.sh 2.9.0 # bestimmte Version +# install-git-cliff.sh – fetches the latest or specified git-cliff binary (x86_64) +# Usage: sudo ./install-git-cliff.sh # latest version +# sudo ./install-git-cliff.sh 2.9.0 # specific version set -euo pipefail REPO="orhun/git-cliff" @@ -9,42 +9,42 @@ ARCH_OS="x86_64-unknown-linux-gnu" INSTALL_DIR="/usr/local/bin" VERSION="${1:-latest}" -need() { command -v "$1" >/dev/null || { echo "$1 fehlt"; exit 1; }; } +need() { command -v "$1" >/dev/null || { echo "$1 is missing"; exit 1; }; } need curl; need tar; need grep; need sed; need awk -# 1 Version ermitteln β†’ Release-JSON abrufen +# 1 Determine version β†’ Fetch release JSON if [[ "$VERSION" == "latest" ]]; then API_URL="https://api.github.com/repos/${REPO}/releases/latest" else API_URL="https://api.github.com/repos/${REPO}/releases/tags/v${VERSION}" fi -echo "πŸ” Hole Release-Info ($API_URL)…" +echo "πŸ” Fetching release info ($API_URL)…" JSON=$(curl -sL "$API_URL") -VERSION=$(echo "$JSON" | grep -m1 '"tag_name":' | sed -E 's/.*"v?([^"]+)".*/\1/') +VERSION=$(echo "$JSON" | grep -m1 '"tag_name":' | sed -E 's/.*"v?([^\"]+)".*/\1/') ASSET_URL=$(echo "$JSON" | grep -Eo '"browser_download_url": *"[^"]+' | cut -d'"' -f4 | - grep "${ARCH_OS}\\.tar" | head -n1) + grep "${ARCH_OS}\.tar" | head -n1) -[[ -z "$ASSET_URL" ]] && { echo "❌ passender Asset nicht gefunden"; exit 1; } +[[ -z "$ASSET_URL" ]] && { echo "❌ Matching asset not found"; exit 1; } ASSET_FILE=$(basename "$ASSET_URL") -echo "πŸ“¦ Lade git-cliff v${VERSION} (${ASSET_FILE}) …" +echo "πŸ“¦ Downloading git-cliff v${VERSION} (${ASSET_FILE}) …" TMP=$(mktemp -d) curl -#L -o "${TMP}/${ASSET_FILE}" "$ASSET_URL" -# 2 Entpacken je nach Endung +# 2 Extract based on file extension case "$ASSET_FILE" in *.tar.gz|*.tgz) tar -C "$TMP" -xzf "${TMP}/${ASSET_FILE}" ;; *.tar.xz) tar -C "$TMP" -xJf "${TMP}/${ASSET_FILE}" ;; *.zip) need unzip; unzip -q "${TMP}/${ASSET_FILE}" -d "$TMP" ;; - *) echo "❌ Unbekanntes Archivformat: $ASSET_FILE"; exit 1 ;; + *) echo "❌ Unknown archive format: $ASSET_FILE"; exit 1 ;; esac BIN_PATH=$(find "$TMP" -type f -name git-cliff -perm -u+x | head -n1) -[[ -z "$BIN_PATH" ]] && { echo "❌ Binary nicht gefunden"; exit 1; } +[[ -z "$BIN_PATH" ]] && { echo "❌ Binary not found"; exit 1; } sudo install -m755 "$BIN_PATH" "${INSTALL_DIR}/git-cliff" -echo "βœ… git-cliff $(git-cliff --version) installiert unter ${INSTALL_DIR}" +echo "βœ… git-cliff $(git-cliff --version) installed in ${INSTALL_DIR}" diff --git a/scripts/release-from-version.sh b/scripts/release-from-version.sh index e1d17d9..87c0259 100644 --- a/scripts/release-from-version.sh +++ b/scripts/release-from-version.sh @@ -6,7 +6,7 @@ create_release() { local -i max_attempts=3 delay=5 attempt local http status - # Release-Body fΓΌr die JSON-Payload einlesen + # Read release body for JSON payload local body_json body_json=$(tail -n +2 "$body_file" | jq -Rs .) @@ -53,7 +53,7 @@ CHANGELOG_FILE="CHANGELOG.md" CLIFF_CONFIG="cliff.toml" RELEASE_BODY_TMP="$(mktemp)" -# === Schritt 1: Version lesen === +# === Step 1: Read version === if [[ ! -f "$VERSION_FILE" ]]; then echo "❌ VERSION file not found" exit 1 @@ -61,7 +61,7 @@ fi VERSION="$(<"$VERSION_FILE")" echo "πŸ“¦ Version: $VERSION" -# === Schritt 2: Changelog fΓΌr Release erzeugen === +# === Step 2: Generate changelog for release === echo "πŸ“„ Generating changelog for tag v$VERSION" git-cliff -c "$CLIFF_CONFIG" -t "v$VERSION" -o "$CHANGELOG_FILE" @@ -80,7 +80,7 @@ awk -v ver="$ESCAPED_VERSION" ' print_flag ' "$CHANGELOG_FILE" > "$RELEASE_BODY_TMP" -# === Schritt 3: Changelog committen === +# === Step 3: Commit changelog === git add "$CHANGELOG_FILE" if git diff --cached --quiet; then echo "βœ… No changes to commit" @@ -90,7 +90,7 @@ else git push origin main fi -# === Schritt 4: Tag anlegen, falls nΓΆtig === +# === Step 4: Create tag if necessary === if git rev-parse "v$VERSION" >/dev/null 2>&1; then echo "πŸ” Tag v$VERSION already exists, skipping." else @@ -101,7 +101,7 @@ else git push origin "v$VERSION" fi -# === Schritt 5: Release anlegen (mit Retry) === +# === Step 5: Create release (with retry) === OWNER="${GITHUB_REPOSITORY%/*}" REPO="${GITHUB_REPOSITORY#*/}" TOKEN="${RELEASE_PUBLISH_TOKEN:-$ACTIONS_RUNTIME_TOKEN}" diff --git a/scripts/setup-git.sh b/scripts/setup-git.sh index fdb0153..35f57ea 100644 --- a/scripts/setup-git.sh +++ b/scripts/setup-git.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash set -euo pipefail -# Optional inputs (positionals) oder Fallback auf Umgebungsvariablen +# Optional inputs (positionals) or fallback to environment variables AUTHOR_NAME="${1:-${CI_COMMIT_AUTHOR_NAME:-CI Bot}}" AUTHOR_EMAIL="${2:-${CI_COMMIT_AUTHOR_EMAIL:-ci@bot.none}}" @@ -12,18 +12,18 @@ echo " Email: $AUTHOR_EMAIL" git config --global user.name "$AUTHOR_NAME" git config --global user.email "$AUTHOR_EMAIL" -# PrΓΌfung, ob die Werte korrekt gesetzt wurden +# Check if the values were set correctly CONFIGURED_NAME=$(git config --global user.name) CONFIGURED_EMAIL=$(git config --global user.email) if [[ "$CONFIGURED_NAME" != "$AUTHOR_NAME" ]]; then - echo "❌ Fehler: Git-Benutzername wurde nicht korrekt gesetzt!" >&2 + echo "❌ Error: Git username was not set correctly!" >&2 exit 1 fi if [[ "$CONFIGURED_EMAIL" != "$AUTHOR_EMAIL" ]]; then - echo "❌ Fehler: Git-Benutzer-E-Mail wurde nicht korrekt gesetzt!" >&2 + echo "❌ Error: Git email was not set correctly!" >&2 exit 1 fi -echo "βœ… Git-Konfiguration erfolgreich abgeschlossen." +echo "βœ… Git configuration completed successfully."