@@ -2,6 +2,32 @@ name: Zizmor analysis
22
33on :
44 workflow_call :
5+ inputs :
6+ fail_on_findings :
7+ description : " Fail job when qualifying findings exist (only applies when advanced_security=false)"
8+ required : false
9+ default : true
10+ type : boolean
11+ min_severity :
12+ description : " Minimum severity: none|unknown|informational|low|medium|high"
13+ required : false
14+ default : none
15+ type : string
16+ min_confidence :
17+ description : " Minimum confidence: none|unknown|low|medium|high"
18+ required : false
19+ default : none
20+ type : string
21+ persona :
22+ description : " Audit persona: regular|pedantic|auditor"
23+ required : false
24+ default : regular
25+ type : string
26+ advanced_security :
27+ description : " Upload SARIF to GitHub Advanced Security (Security tab)"
28+ required : false
29+ default : false
30+ type : boolean
531
632jobs :
733 zizmor :
@@ -11,14 +37,27 @@ jobs:
1137 permissions :
1238 contents : read
1339 actions : read
40+ security-events : write
41+
1442 steps :
1543 - name : Checkout repository
1644 uses : actions/checkout@v5
1745 with :
1846 persist-credentials : false
1947
48+ - name : Normalize thresholds
49+ run : |
50+ SEV="${{ inputs.min_severity }}"
51+ CONF="${{ inputs.min_confidence }}"
52+ if [ "$SEV" = "none" ]; then SEV="unknown"; fi
53+ if [ "$CONF" = "none" ]; then CONF="unknown"; fi
54+ echo "MIN_SEVERITY=$SEV" >> "$GITHUB_ENV"
55+ echo "MIN_CONFIDENCE=$CONF" >> "$GITHUB_ENV"
56+
2057 - name : Run Zizmor Security Scan
21- continue-on-error : true
2258 uses : zizmorcore/zizmor-action@5ca5fc7a4779c5263a3ffa0e1f693009994446d1
2359 with :
24- advanced-security : false
60+ advanced-security : ${{ inputs.advanced_security }}
61+ persona : ${{ inputs.persona }}
62+ min-severity : ${{ env.MIN_SEVERITY }}
63+ min-confidence : ${{ env.MIN_CONFIDENCE }}
0 commit comments