From 65c6946e7f2048f18ae950df60614a3fad16456c Mon Sep 17 00:00:00 2001 From: Jose Henrique Date: Sat, 21 Mar 2026 00:48:25 -0300 Subject: [PATCH] adjusting intervals --- .gitea/workflows/release.yaml | 8 +++----- scripts/check_virustotal.sh | 16 ++++++++-------- 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/.gitea/workflows/release.yaml b/.gitea/workflows/release.yaml index 6e2920e..e15b7f2 100644 --- a/.gitea/workflows/release.yaml +++ b/.gitea/workflows/release.yaml @@ -59,8 +59,9 @@ jobs: virustotal_apikey: ${{ secrets.VIRUSTOTAL_APIKEY }} VIRUS_TOTAL_FILE: vision-start-${{ gitea.ref_name }}.zip run: | - # Run the VirusTotal check script and capture output - bash scripts/check_virustotal.sh > vt_output.txt 2>&1 + # Run the VirusTotal check script and capture output in real-time + set -o pipefail + bash scripts/check_virustotal.sh 2>&1 | tee vt_output.txt # Extract analysis URL and detection ratio from output ANALYSIS_URL=$(grep "Analysis URL:" vt_output.txt | cut -d' ' -f3- || echo "Not available") @@ -70,9 +71,6 @@ jobs: echo "analysis-url=$ANALYSIS_URL" >> $GITEA_OUTPUT echo "detection-ratio=$DETECTION_RATIO" >> $GITEA_OUTPUT - # Display the full output - cat vt_output.txt - release: runs-on: ubuntu-latest needs: [build, virus-total-check] diff --git a/scripts/check_virustotal.sh b/scripts/check_virustotal.sh index 807c60b..cfb6cf3 100644 --- a/scripts/check_virustotal.sh +++ b/scripts/check_virustotal.sh @@ -55,34 +55,34 @@ echo "File uploaded successfully. Scan ID: $SCAN_ID" echo "Waiting for analysis to complete..." # Wait for analysis to complete and get results -MAX_ATTEMPTS=30 +MAX_ATTEMPTS=60 ATTEMPT=0 SLEEP_INTERVAL=10 while [ $ATTEMPT -lt $MAX_ATTEMPTS ]; do echo "Checking analysis status (attempt $((ATTEMPT + 1))/$MAX_ATTEMPTS)..." - + # Get scan report REPORT_RESPONSE=$(curl -s -X POST \ -d "apikey=$API_KEY" \ -d "resource=$SCAN_ID" \ "$BASE_URL/file/report") - + # Check if analysis is complete RESPONSE_CODE=$(echo "$REPORT_RESPONSE" | jq -r '.response_code') - + if [ "$RESPONSE_CODE" == "1" ]; then # Analysis complete echo "Analysis completed!" - + # Extract results POSITIVES=$(echo "$REPORT_RESPONSE" | jq -r '.positives') TOTAL=$(echo "$REPORT_RESPONSE" | jq -r '.total') PERMALINK=$(echo "$REPORT_RESPONSE" | jq -r '.permalink') - + echo "Analysis URL: $PERMALINK" echo "Detection ratio: $POSITIVES/$TOTAL" - + # Check if file is safe if [ "$POSITIVES" -eq 0 ]; then echo "✅ File is clean (no threats detected)" @@ -102,7 +102,7 @@ while [ $ATTEMPT -lt $MAX_ATTEMPTS ]; do echo "Response: $REPORT_RESPONSE" exit 1 fi - + ATTEMPT=$((ATTEMPT + 1)) if [ $ATTEMPT -lt $MAX_ATTEMPTS ]; then sleep $SLEEP_INTERVAL