Add detailed Davidson CI dashboard report
pauljd/davidson-ci: Davidson CI / quality (push) Successful in 11s

This commit is contained in:
2026-09-08 17:29:59 +01:00
parent 3e0b651607
commit 516ced5f40
+75 -35
View File
@@ -1,5 +1,5 @@
#!/bin/bash
set -euo pipefail
set -u
SUMMARY_FILE="${GITEA_STEP_SUMMARY:-${GITHUB_STEP_SUMMARY:-}}"
@@ -13,54 +13,94 @@ JS_COUNT="${DAVIDSON_JS_COUNT:-0}"
TS_COUNT="${DAVIDSON_TS_COUNT:-0}"
CSS_COUNT="${DAVIDSON_CSS_COUNT:-0}"
PHP_STATUS="${DAVIDSON_PHP_STATUS:-UNKNOWN}"
JS_STATUS="${DAVIDSON_JS_STATUS:-UNKNOWN}"
CSS_STATUS="${DAVIDSON_CSS_STATUS:-UNKNOWN}"
COMPOSER_AUDIT="${DAVIDSON_COMPOSER_AUDIT:-UNKNOWN}"
NPM_AUDIT="${DAVIDSON_NPM_AUDIT:-UNKNOWN}"
SEMGREP="${DAVIDSON_SEMGREP:-UNKNOWN}"
TRIVY_VULN="${DAVIDSON_TRIVY_VULN:-UNKNOWN}"
TRIVY_SECRET="${DAVIDSON_TRIVY_SECRET:-UNKNOWN}"
SECURITY_STATUS="${DAVIDSON_SECURITY_STATUS:-UNKNOWN}"
status_icon() {
case "$1" in
PASS)
echo "✅ PASS"
;;
FAIL)
echo "❌ FAIL"
;;
SKIP)
echo " SKIP"
;;
*)
echo "⚪ UNKNOWN"
;;
esac
}
OVERALL="PASS"
for status in \
"$PHP_STATUS" \
"$JS_STATUS" \
"$CSS_STATUS" \
"$SECURITY_STATUS"
do
if [ "$status" = "FAIL" ]; then
OVERALL="FAIL"
fi
done
{
echo "# Davidson CI Report"
echo "# 🛡️ Davidson CI Report"
echo
echo "## Project Detection"
echo
if [ "$PHP_COUNT" -gt 0 ]; then
echo "- ✅ PHP: $PHP_COUNT files"
else
echo "- PHP: not detected"
fi
if [ "$JS_COUNT" -gt 0 ]; then
echo "- ✅ JavaScript: $JS_COUNT files"
else
echo "- JavaScript: not detected"
fi
if [ "$TS_COUNT" -gt 0 ]; then
echo "- ✅ TypeScript: $TS_COUNT files"
else
echo "- TypeScript: not detected"
fi
if [ "$CSS_COUNT" -gt 0 ]; then
echo "- ✅ CSS: $CSS_COUNT files"
else
echo "- CSS: not detected"
fi
echo "| Language | Files |"
echo "|---|---:|"
echo "| PHP | $PHP_COUNT |"
echo "| JavaScript | $JS_COUNT |"
echo "| TypeScript | $TS_COUNT |"
echo "| CSS | $CSS_COUNT |"
echo
echo "## Quality"
echo
echo "- ✅ Language checks completed"
echo "- ✅ Tests/lint/build completed where configured"
echo "| Module | Status |"
echo "|---|---|"
echo "| PHP | $(status_icon "$PHP_STATUS") |"
echo "| JavaScript / TypeScript | $(status_icon "$JS_STATUS") |"
echo "| CSS | $(status_icon "$CSS_STATUS") |"
echo
echo "## Security"
echo
echo "- ✅ Composer audit"
echo "- ✅ npm audit"
echo "- ✅ Semgrep"
echo "- ✅ Trivy vulnerability scan"
echo "- ✅ Trivy secret scan"
echo "| Check | Status |"
echo "|---|---|"
echo "| Composer audit | $(status_icon "$COMPOSER_AUDIT") |"
echo "| npm audit | $(status_icon "$NPM_AUDIT") |"
echo "| Semgrep | $(status_icon "$SEMGREP") |"
echo "| Trivy vulnerabilities | $(status_icon "$TRIVY_VULN") |"
echo "| Trivy secrets | $(status_icon "$TRIVY_SECRET") |"
echo
echo "## Result"
echo "---"
echo
echo "✅ **Davidson CI completed successfully**"
if [ "$OVERALL" = "PASS" ]; then
echo "## ✅ Davidson CI Passed"
echo
echo "No blocking issues were detected."
else
echo "## ❌ Davidson CI Failed"
echo
echo "One or more checks require attention. Open the failed job steps for details."
fi
} >> "$SUMMARY_FILE"
echo "Davidson CI report generated"