1+ # SPDX-License-Identifier: AGPL-3.0-or-later
12name : Comprehensive Quality Gates
3+
24on :
35 push :
46 branches : [main, master]
57 pull_request :
68 schedule :
79 - cron : ' 0 5 * * 0'
810
11+ permissions : read-all
12+
913jobs :
1014 # DEPENDABILITY - Stability and reliability
1115 dependability :
1216 runs-on : ubuntu-latest
17+ permissions :
18+ contents : read
1319 steps :
14- - uses : actions/checkout@v6
20+ - uses : actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
1521 - name : Check test coverage
1622 run : |
1723 echo "Checking for test files..."
@@ -29,10 +35,12 @@ jobs:
2935 # SECURITY - Multi-layer security scanning
3036 security :
3137 runs-on : ubuntu-latest
38+ permissions :
39+ contents : read
3240 steps :
33- - uses : actions/checkout@v6
41+ - uses : actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
3442 - name : Secret scanning
35- uses : trufflesecurity/trufflehog@main
43+ uses : trufflesecurity/trufflehog@8a8ef8526528d8a4ff3e2c90be08e25ef8efbd9b # v3.88.3
3644 continue-on-error : true
3745 - name : Dependency vulnerabilities
3846 run : |
4957 # INTEROPERABILITY - API and format compatibility
5058 interoperability :
5159 runs-on : ubuntu-latest
60+ permissions :
61+ contents : read
5262 steps :
53- - uses : actions/checkout@v6
63+ - uses : actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
5464 - name : Check API specs
5565 run : |
5666 if [ -f "openapi.yaml" ] || [ -f "openapi.json" ]; then
6676 # VALIDATION - Input/output validation
6777 validation :
6878 runs-on : ubuntu-latest
79+ permissions :
80+ contents : read
6981 steps :
70- - uses : actions/checkout@v6
82+ - uses : actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
7183 - name : Check for validation patterns
7284 run : |
7385 VALIDATION=$(grep -rE "validate|sanitize|Schema|Validator" --include="*.rs" --include="*.res" --include="*.ex" . 2>/dev/null | wc -l || echo "0")
8193 contents : read
8294 attestations : write
8395 steps :
84- - uses : actions/checkout@v6
96+ - uses : actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
8597 - name : Generate SBOM
8698 run : |
8799 echo "SBOM generation would run here"
@@ -96,8 +108,10 @@ jobs:
96108 # VERIFICATION - Formal methods where applicable
97109 verification :
98110 runs-on : ubuntu-latest
111+ permissions :
112+ contents : read
99113 steps :
100- - uses : actions/checkout@v6
114+ - uses : actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
101115 - name : Check SPARK proofs
102116 run : |
103117 if find . -name "*.ads" | grep -q .; then
@@ -112,8 +126,10 @@ jobs:
112126 # FUNCTIONALITY - Feature completeness
113127 functionality :
114128 runs-on : ubuntu-latest
129+ permissions :
130+ contents : read
115131 steps :
116- - uses : actions/checkout@v6
132+ - uses : actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
117133 - name : Check TODOs and FIXMEs
118134 run : |
119135 echo "=== Incomplete items ==="
@@ -125,8 +141,10 @@ jobs:
125141 # PERFORMANCE - Benchmarks and profiling
126142 performance :
127143 runs-on : ubuntu-latest
144+ permissions :
145+ contents : read
128146 steps :
129- - uses : actions/checkout@v6
147+ - uses : actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
130148 - name : Check for benchmarks
131149 run : |
132150 BENCHES=$(find . -name "*bench*" -o -name "*perf*" | wc -l)
@@ -141,9 +159,11 @@ jobs:
141159 # ACCESSIBILITY - A11y compliance
142160 accessibility :
143161 runs-on : ubuntu-latest
162+ permissions :
163+ contents : read
144164 if : hashFiles('**/*.html') != ''
145165 steps :
146- - uses : actions/checkout@v6
166+ - uses : actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
147167 - name : HTML accessibility check
148168 run : |
149169 echo "Checking for a11y attributes..."
@@ -156,8 +176,10 @@ jobs:
156176 # LICENSE COMPLIANCE
157177 license :
158178 runs-on : ubuntu-latest
179+ permissions :
180+ contents : read
159181 steps :
160- - uses : actions/checkout@v6
182+ - uses : actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
161183 - name : Check license files
162184 run : |
163185 if [ -f "LICENSE" ] || [ -f "LICENSE.txt" ] || [ -f "LICENSE.md" ]; then
@@ -174,8 +196,10 @@ jobs:
174196 # DOCUMENTATION QUALITY
175197 documentation :
176198 runs-on : ubuntu-latest
199+ permissions :
200+ contents : read
177201 steps :
178- - uses : actions/checkout@v6
202+ - uses : actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
179203 - name : Check docs completeness
180204 run : |
181205 DOCS=""
0 commit comments