Add detailed Davidson CI dashboard report
pauljd/davidson-ci: Davidson CI / quality (push) Successful in 11s
pauljd/davidson-ci: Davidson CI / quality (push) Successful in 11s
This commit is contained in:
+75
-35
@@ -1,5 +1,5 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
set -euo pipefail
|
set -u
|
||||||
|
|
||||||
SUMMARY_FILE="${GITEA_STEP_SUMMARY:-${GITHUB_STEP_SUMMARY:-}}"
|
SUMMARY_FILE="${GITEA_STEP_SUMMARY:-${GITHUB_STEP_SUMMARY:-}}"
|
||||||
|
|
||||||
@@ -13,54 +13,94 @@ JS_COUNT="${DAVIDSON_JS_COUNT:-0}"
|
|||||||
TS_COUNT="${DAVIDSON_TS_COUNT:-0}"
|
TS_COUNT="${DAVIDSON_TS_COUNT:-0}"
|
||||||
CSS_COUNT="${DAVIDSON_CSS_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
|
||||||
|
|
||||||
echo "## Project Detection"
|
echo "## Project Detection"
|
||||||
echo
|
echo
|
||||||
|
echo "| Language | Files |"
|
||||||
if [ "$PHP_COUNT" -gt 0 ]; then
|
echo "|---|---:|"
|
||||||
echo "- ✅ PHP: $PHP_COUNT files"
|
echo "| PHP | $PHP_COUNT |"
|
||||||
else
|
echo "| JavaScript | $JS_COUNT |"
|
||||||
echo "- ➖ PHP: not detected"
|
echo "| TypeScript | $TS_COUNT |"
|
||||||
fi
|
echo "| CSS | $CSS_COUNT |"
|
||||||
|
|
||||||
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
|
echo
|
||||||
echo "## Quality"
|
echo "## Quality"
|
||||||
echo
|
echo
|
||||||
echo "- ✅ Language checks completed"
|
echo "| Module | Status |"
|
||||||
echo "- ✅ Tests/lint/build completed where configured"
|
echo "|---|---|"
|
||||||
|
echo "| PHP | $(status_icon "$PHP_STATUS") |"
|
||||||
|
echo "| JavaScript / TypeScript | $(status_icon "$JS_STATUS") |"
|
||||||
|
echo "| CSS | $(status_icon "$CSS_STATUS") |"
|
||||||
|
|
||||||
echo
|
echo
|
||||||
echo "## Security"
|
echo "## Security"
|
||||||
echo
|
echo
|
||||||
echo "- ✅ Composer audit"
|
echo "| Check | Status |"
|
||||||
echo "- ✅ npm audit"
|
echo "|---|---|"
|
||||||
echo "- ✅ Semgrep"
|
echo "| Composer audit | $(status_icon "$COMPOSER_AUDIT") |"
|
||||||
echo "- ✅ Trivy vulnerability scan"
|
echo "| npm audit | $(status_icon "$NPM_AUDIT") |"
|
||||||
echo "- ✅ Trivy secret scan"
|
echo "| Semgrep | $(status_icon "$SEMGREP") |"
|
||||||
|
echo "| Trivy vulnerabilities | $(status_icon "$TRIVY_VULN") |"
|
||||||
|
echo "| Trivy secrets | $(status_icon "$TRIVY_SECRET") |"
|
||||||
|
|
||||||
echo
|
echo
|
||||||
echo "## Result"
|
echo "---"
|
||||||
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"
|
} >> "$SUMMARY_FILE"
|
||||||
|
|
||||||
|
echo "Davidson CI report generated"
|
||||||
Reference in New Issue
Block a user