diff --git a/.gitea/workflows/test-hello.yml b/.gitea/workflows/test-hello.yml new file mode 100644 index 0000000..a7a2ce5 --- /dev/null +++ b/.gitea/workflows/test-hello.yml @@ -0,0 +1,55 @@ +name: Test Pipeline con Dipendenze + +on: + push: + branches: [main, master] + +jobs: + verifica-struttura: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Verifica file essenziali Rails + run: | + echo "Verifica presenza file Rails/Laravel..." + [ -f "Gemfile" ] && echo "✓ Gemfile trovato" || echo "✗ Gemfile mancante" + [ -f "Gemfile.lock" ] && echo "✓ Gemfile.lock trovato" || echo "✗ Gemfile.lock mancante (PROBLEMA CI/CD)" + [ -f "composer.json" ] && echo "✓ composer.json trovato" || echo "✗ composer.json mancante" + [ -f "composer.lock" ] && echo "✓ composer.lock trovato" || echo "✗ composer.lock mancante (PROBLEMA CI/CD)" + [ -f "Dockerfile" ] && echo "✓ Dockerfile trovato" || echo "✗ Dockerfile mancante" + [ -f ".dockerignore" ] && echo "✓ .dockerignore trovato" || echo "! .dockerignore assente (consigliato)" + echo "Verifica completata." + + verifica-sicurezza: + runs-on: ubuntu-latest + needs: verifica-struttura + + steps: + - uses: actions/checkout@v4 + + - name: Cerca pattern di sicurezza rischiosi + run: | + echo "=== Scan pattern pericolosi ===" + echo "" + + echo "Controllo .env committati..." + if find . -name ".env" -not -path "./.git/*" | grep -q .; then + echo "ATTENZIONE: trovati file .env nel repository!" + find . -name ".env" -not -path "./.git/*" + else + echo "OK: nessun file .env nel repository" + fi + + echo "" + echo "Controllo pattern password in chiaro..." + if grep -r "password\s*=\s*['\"][^'\"]\+['\"]" \ + --include="*.rb" --include="*.php" \ + --exclude-dir=".git" . 2>/dev/null | grep -v "test\|spec\|example\|placeholder\|CHANGE" | head -5; then + echo "ATTENZIONE: possibili password hardcoded trovate (verificare manualmente)" + else + echo "OK: nessun pattern password pericoloso rilevato" + fi + + echo "" + echo "Scan completato."