Prevent "null" versions in update check.

This commit is contained in:
2026-01-09 02:16:34 +00:00
committed by GitHub
parent 2a4b08137f
commit 467f2f6a1a

View File

@ -1,12 +1,39 @@
#!/bin/bash #!/bin/bash
LATEST_VERSION=$(curl -s https://api.github.com/repos/jenkinsci/docker-agent/releases/latest | jq -r '.tag_name') TEMP_JSON=$(mktemp)
CURL_EXIT_CODE=$? trap 'rm -f "$TEMP_JSON"' EXIT
if [ $CURL_EXIT_CODE -ne 0 ] || [ -z "$LATEST_VERSION" ]; then API_URL="https://api.github.com/repos/jenkinsci/docker-agent/releases/latest"
echo "Failed to retrieve the latest version"
HTTP_CODE=$(curl -s -o "$TEMP_JSON" -w "%{http_code}" "$API_URL")
if [ $? -ne 0 ]; then
echo "Error: Network request failed."
exit 1 exit 1
fi fi
if [ "$LATEST_VERSION" != "$(cat LATEST_VERSION)" ]; then if [ "$HTTP_CODE" != "200" ]; then
echo "Error: API returned HTTP $HTTP_CODE"
if [ -s "$TEMP_JSON" ]; then
echo "Response body:"
cat "$TEMP_JSON"
fi
exit 1
fi
LATEST_VERSION=$(jq -r '.tag_name // empty' "$TEMP_JSON")
if [ -z "$LATEST_VERSION" ] || [ "$LATEST_VERSION" == "null" ]; then
echo "Error: Failed to extract tag_name from response."
exit 1
fi
if [ -f LATEST_VERSION ]; then
CURRENT_VERSION=$(cat LATEST_VERSION)
else
CURRENT_VERSION=""
fi
if [ "$LATEST_VERSION" != "$CURRENT_VERSION" ]; then
echo "New version found: $LATEST_VERSION (Old: $CURRENT_VERSION)"
echo "$LATEST_VERSION" > LATEST_VERSION echo "$LATEST_VERSION" > LATEST_VERSION
fi else
echo "Already at latest version: $LATEST_VERSION"
fi