Enhance version extraction with improved regex and logging

This commit is contained in:
Your Name 2025-03-23 21:24:33 -04:00
parent 5a27df49ea
commit 121bdf1b00

View file

@ -51,16 +51,19 @@ get_latest_version() {
local api_response local api_response
api_response=$(curl -s --max-time 10 https://codeberg.org/api/v1/repos/forgejo/forgejo/releases/latest) api_response=$(curl -s --max-time 10 https://codeberg.org/api/v1/repos/forgejo/forgejo/releases/latest)
# Log the full API response for debugging
log "API Response: $api_response"
# Extract version using grep and sed # Extract version using grep and sed
local latest_version local latest_version
latest_version=$(echo "$api_response" | grep -o '"tag_name":"v[0-9.]*' | sed -E 's/"tag_name":"v//g') latest_version=$(echo "$api_response" | grep -oP '(?<="tag_name":"v)[0-9.]+')
if [ -z "$latest_version" ]; then if [ -z "$latest_version" ]; then
log "ERROR: Failed to retrieve the latest version from Codeberg API." log "ERROR: Failed to extract version from API response."
log "API Response: $api_response"
exit 1 exit 1
fi fi
log "Extracted latest version: $latest_version"
echo "$latest_version" echo "$latest_version"
} }