From 39be66d752dbdfa8dbd47b937f9b7cec2035d460 Mon Sep 17 00:00:00 2001 From: "Thomas G. Lopes" Date: Fri, 13 Mar 2026 12:38:18 +0000 Subject: [PATCH] test workflow --- .gitea/scripts/update-appimage-nix.sh | 40 ++++++++++++++++++++----- .gitea/workflows/handy-update.yml | 1 + .gitea/workflows/helium-update.yml | 1 + .gitea/workflows/zen-browser-update.yml | 1 + 4 files changed, 36 insertions(+), 7 deletions(-) diff --git a/.gitea/scripts/update-appimage-nix.sh b/.gitea/scripts/update-appimage-nix.sh index 3b7788d..b102bdd 100644 --- a/.gitea/scripts/update-appimage-nix.sh +++ b/.gitea/scripts/update-appimage-nix.sh @@ -6,10 +6,19 @@ set -euo pipefail : "${DOWNLOAD_URL_TEMPLATE:?DOWNLOAD_URL_TEMPLATE is required}" : "${RELEASE_API_REPO:?RELEASE_API_REPO is required}" +if command -v python >/dev/null 2>&1; then + PYTHON_BIN=python +elif command -v python3 >/dev/null 2>&1; then + PYTHON_BIN=python3 +else + echo "python is required but was not found" + exit 1 +fi + version_strip_prefix="${LATEST_VERSION_STRIP_PREFIX:-v}" release_tag_template="${RELEASE_TAG_TEMPLATE:-{version}}" -current_version=$(python - <<'PY' +current_version=$($PYTHON_BIN - <<'PY' import re import os p=os.environ['FILE'] @@ -35,12 +44,12 @@ if [ -z "$latest_version" ] || [ "$latest_version" = "$current_version" ]; then fi download_url="${DOWNLOAD_URL_TEMPLATE//\{version\}/$latest_version}" -new_hash=$(nix store prefetch-file --json "$download_url" | python -c 'import json,sys; print(json.load(sys.stdin)["hash"])') +new_hash=$(nix store prefetch-file --json "$download_url" | "$PYTHON_BIN" -c 'import json,sys; print(json.load(sys.stdin)["hash"])') export LATEST_VERSION="$latest_version" export NEW_HASH="$new_hash" -python - <<'PY' +"$PYTHON_BIN" - <<'PY' import os import re p=os.environ['FILE'] @@ -55,12 +64,29 @@ echo "version=$latest_version" >> "$GITHUB_OUTPUT" echo "previous_version=$current_version" >> "$GITHUB_OUTPUT" release_tag="${release_tag_template//\{version\}/$latest_version}" -release_notes=$(curl -fsSL "https://api.github.com/repos/${RELEASE_API_REPO}/releases/tags/${release_tag}" \ - | python -c 'import json,sys; d=json.load(sys.stdin); print((d.get("body") or "").strip())' \ - || true) +api_url="https://api.github.com/repos/${RELEASE_API_REPO}/releases/tags/${release_tag}" + +curl_headers=( + -H "Accept: application/vnd.github+json" + -H "X-GitHub-Api-Version: 2022-11-28" +) +if [ -n "${GITHUB_TOKEN:-}" ]; then + curl_headers+=( -H "Authorization: Bearer ${GITHUB_TOKEN}" ) +fi + +api_response=$(curl -sS -w '\n%{http_code}' "${curl_headers[@]}" "$api_url" || true) +api_body=$(printf '%s\n' "$api_response" | sed '$d') +api_code=$(printf '%s\n' "$api_response" | tail -n1) + +release_notes="" +if [ "$api_code" = "200" ]; then + release_notes=$(printf '%s' "$api_body" | "$PYTHON_BIN" -c 'import json,sys; d=json.load(sys.stdin); print((d.get("body") or "").strip())' || true) +else + echo "warning: failed to fetch release notes from GitHub API (status=$api_code, url=$api_url)" +fi if [ -z "$release_notes" ]; then - release_notes="_No changelog found in upstream release notes._" + release_notes="_No changelog found in upstream release notes. Check ${LATEST_RELEASE_URL%/latest}/tag/${release_tag}._" fi delimiter="CHANGELOG_$(date +%s%N)" diff --git a/.gitea/workflows/handy-update.yml b/.gitea/workflows/handy-update.yml index d580b8d..13053f2 100644 --- a/.gitea/workflows/handy-update.yml +++ b/.gitea/workflows/handy-update.yml @@ -27,6 +27,7 @@ jobs: DOWNLOAD_URL_TEMPLATE: https://github.com/cjpais/Handy/releases/download/v{version}/Handy_{version}_amd64.AppImage RELEASE_API_REPO: cjpais/Handy RELEASE_TAG_TEMPLATE: v{version} + GITHUB_TOKEN: ${{ secrets.github_token || secrets.GITHUB_TOKEN }} shell: bash run: bash .gitea/scripts/update-appimage-nix.sh diff --git a/.gitea/workflows/helium-update.yml b/.gitea/workflows/helium-update.yml index aaa13e7..3900f67 100644 --- a/.gitea/workflows/helium-update.yml +++ b/.gitea/workflows/helium-update.yml @@ -27,6 +27,7 @@ jobs: DOWNLOAD_URL_TEMPLATE: https://github.com/imputnet/helium-linux/releases/download/{version}/helium-{version}-x86_64.AppImage RELEASE_API_REPO: imputnet/helium-linux RELEASE_TAG_TEMPLATE: '{version}' + GITHUB_TOKEN: ${{ secrets.github_token || secrets.GITHUB_TOKEN }} shell: bash run: bash .gitea/scripts/update-appimage-nix.sh diff --git a/.gitea/workflows/zen-browser-update.yml b/.gitea/workflows/zen-browser-update.yml index 370158e..f87b82b 100644 --- a/.gitea/workflows/zen-browser-update.yml +++ b/.gitea/workflows/zen-browser-update.yml @@ -27,6 +27,7 @@ jobs: DOWNLOAD_URL_TEMPLATE: https://github.com/zen-browser/desktop/releases/download/{version}/zen-x86_64.AppImage RELEASE_API_REPO: zen-browser/desktop RELEASE_TAG_TEMPLATE: '{version}' + GITHUB_TOKEN: ${{ secrets.github_token || secrets.GITHUB_TOKEN }} shell: bash run: bash .gitea/scripts/update-appimage-nix.sh