name: Punisher CI/CD Final Monitor on: [push] jobs: build-and-test: runs-on: ubuntu-latest container: image: catthehacker/ubuntu:act-latest options: --memory=128mb --cpus=0.5 # Limite di sicurezza VPS steps: - name: Checkout del codice uses: actions/checkout@v3 - name: Setup SOC Tools run: apt-get update && apt-get install -y build-essential valgrind curl - name: Compilazione Professionale run: make build - name: Analisi Valgrind e Sandbox # Eseguiamo il codice e Valgrind salva tutto in v_report.txt run: | valgrind --leak-check=full --log-file=v_report.txt ./lab_app > output.log 2>&1 || true - name: Spedizione Report a n8n if: always() # Spedisce anche se il programma crasha run: | # Creiamo il file di report unico echo "--- LOG PROGRAMMA ---" > final.txt cat output.log >> final.txt echo -e "\n\n--- ANALISI MEMORIA VALGRIND ---" >> final.txt cat v_report.txt >> final.txt # Codifica Base64 e invio all'URL di produzione curl -X POST -H "Content-Type: application/json" \ -d "{\"log\":\"$(cat final.txt | base64 -w 0)\"}" \ https://n8n.thepunisher-lab.duckdns.org/webhook/punisher-logs