43 lines
1.2 KiB
Bash
Executable File
43 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Test script for version checking logic
|
|
# This script simulates the version check workflow to ensure it works correctly
|
|
|
|
set -euo pipefail
|
|
|
|
echo "=== Zabbix Version Check Test ==="
|
|
|
|
# Test the API endpoint and version extraction
|
|
echo "Testing version check API..."
|
|
|
|
LATEST_VERSION=$(curl -s "https://git.zabbix.com/rest/api/1.0/projects/ZBX/repos/zabbix/tags?limit=100" | \
|
|
jq -r '.values[].displayId' | \
|
|
grep -E '^[0-9]+\.[0-9]+\.[0-9]+$' | \
|
|
grep -v 'rc\|beta\|alpha' | \
|
|
sort -V | \
|
|
tail -1)
|
|
|
|
# Validate version format
|
|
if [[ ! "$LATEST_VERSION" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
|
|
echo "❌ Error: Invalid version format detected: $LATEST_VERSION"
|
|
exit 1
|
|
fi
|
|
|
|
echo "✅ Latest upstream version: $LATEST_VERSION"
|
|
|
|
# Extract current version from APKBUILD
|
|
CURRENT_VERSION=$(grep '^pkgver=' zabbix/APKBUILD | cut -d'=' -f2)
|
|
echo "✅ Current package version: $CURRENT_VERSION"
|
|
|
|
# Compare versions
|
|
if [ "$LATEST_VERSION" = "$CURRENT_VERSION" ]; then
|
|
echo "✅ No new version available. Current version $CURRENT_VERSION is up to date."
|
|
echo " Build would be skipped in CI/CD."
|
|
else
|
|
echo "🔄 New version available: $LATEST_VERSION"
|
|
echo " Build would be triggered in CI/CD."
|
|
fi
|
|
|
|
echo ""
|
|
echo "=== Test completed successfully ==="
|