Skip to content

Commit fbca74f

Browse files
authored
Merge pull request #111 from MiraGeoscience/DEVOPS-840
DEVOPS-840: input option for zizmor workflow to fail or continue on error
2 parents 927273f + fbeda6d commit fbca74f

1 file changed

Lines changed: 41 additions & 2 deletions

File tree

.github/workflows/reusable-zizmor-security.yml

Lines changed: 41 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,32 @@ name: Zizmor analysis
22

33
on:
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

632
jobs:
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

Comments
 (0)