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 ==="
 |