Files
progetto-mensa-SO/.gitea/workflows/deploy.yaml
boloilking ae0a0d5837
All checks were successful
Punisher CI/CD Final Monitor / build-and-test (push) Successful in 28s
Fix file yaml
2026-02-17 18:34:15 +01:00

44 lines
1.6 KiB
YAML

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
run: |
# Usiamo 'tee' per vedere i log sia su Gitea che nel file
valgrind --leak-check=full --log-file=v_report.txt ./lab_app 2>&1 | tee output.log || true
- name: Spedizione Report a n8n
if: always()
continue-on-error: true # Se n8n non risponde, il job Gitea risulterà comunque VERDE se il codice è OK
run: |
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
JOBS_LOG=$(cat final.txt | base64 -w 0)
echo "{\"log\":\"$JOBS_LOG\"}" > payload.json
# TENTATIVO 1: URL Pubblico (DuckDNS)
# TENTATIVO 2: IP Locale del Docker Bridge (se il primo fallisce)
curl -sS -X POST -H "Content-Type: application/json" \
-d @payload.json \
https://n8n.thepunisher-lab.duckdns.org/webhook/punisher-logs || \
curl -sS -X POST -H "Content-Type: application/json" \
-d @payload.json \
http://172.17.0.1:5678/webhook/punisher-logs