Skip to content

Commit 4bd4e02

Browse files
committed
ci: add security analysis workflow (WF-3)
1 parent f96e555 commit 4bd4e02

1 file changed

Lines changed: 52 additions & 0 deletions

File tree

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
# Security Analysis Workflow
2+
# Delegates security scans to the org-level reusable workflow.
3+
name: Security Analysis
4+
5+
on:
6+
push:
7+
branches: [main, master]
8+
pull_request:
9+
branches: [main, master]
10+
schedule:
11+
# Weekly scan on Mondays at 09:00 UTC
12+
- cron: '0 9 * * 1'
13+
workflow_dispatch:
14+
15+
permissions: {}
16+
17+
jobs:
18+
security:
19+
name: Security Analysis
20+
permissions:
21+
contents: read
22+
security-events: write
23+
pull-requests: write
24+
actions: read
25+
uses: ByronWilliamsCPA/.github/.github/workflows/python-security-analysis.yml@c22009ccaab0d3234819d30d9d7a03d53c531cb9 # main
26+
with:
27+
python-version: "3.12"
28+
run-safety: false
29+
run-codeql: false
30+
run-dependency-review: false
31+
run-osv: false
32+
run-bandit: false
33+
34+
security-gate-validation:
35+
name: Security Gate Validation
36+
runs-on: ubuntu-latest
37+
needs: [security]
38+
if: always()
39+
steps:
40+
- name: Harden runner
41+
uses: step-security/harden-runner@91182cccc01eb5e619899d80e4e971d6181294a7 # v2.10.1
42+
with:
43+
egress-policy: audit
44+
- name: Check security scan results
45+
env:
46+
SECURITY_RESULT: ${{ needs.security.result }}
47+
run: |
48+
if [ "$SECURITY_RESULT" != "success" ]; then
49+
echo "::error::Security Gate Validation failed: security scan result is $SECURITY_RESULT"
50+
exit 1
51+
fi
52+
echo "Security Gate Validation passed"

0 commit comments

Comments
 (0)