mirror of
https://github.com/LamGC/jenkins-agent-with-docker.git
synced 2026-01-12 20:30:44 +00:00
Prevent "null" versions in update check.
This commit is contained in:
@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user