Skip to content

Commit ba9dd7d

Browse files
committed
all the languages
1 parent b573ace commit ba9dd7d

1 file changed

Lines changed: 112 additions & 16 deletions

File tree

.github/workflows/quality-checks.yml

Lines changed: 112 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -121,8 +121,8 @@ jobs:
121121
run: |
122122
make install
123123
124-
- name: Check if project uses Poetry
125-
id: check_poetry
124+
- name: Check language tools used
125+
id: check_languages
126126
run: |
127127
if [ -f "pyproject.toml" ] && grep -q '\[tool.poetry\]' "pyproject.toml"; then
128128
echo "****************"
@@ -135,10 +135,6 @@ jobs:
135135
echo "****************"
136136
echo "uses_poetry=false" >> "$GITHUB_OUTPUT"
137137
fi
138-
139-
- name: Check if project uses Java
140-
id: check_java
141-
run: |
142138
if [ -f pom.xml ]; then
143139
echo "****************"
144140
echo "Detected a Java project"
@@ -150,21 +146,84 @@ jobs:
150146
echo "****************"
151147
echo "uses_java=false" >> "$GITHUB_OUTPUT"
152148
fi
149+
if [ -f package-lock.json ]; then
150+
echo "****************"
151+
echo "Detected a Node.js project"
152+
echo "****************"
153+
echo "uses_node=true" >> "$GITHUB_OUTPUT"
154+
else
155+
echo "****************"
156+
echo "Project does not use Node.js"
157+
echo "****************"
158+
echo "uses_node=false" >> "$GITHUB_OUTPUT"
159+
fi
160+
if [ -f go.sum ]; then
161+
echo "****************"
162+
echo "Detected a Go project"
163+
echo "****************"
164+
echo "uses_go=true" >> "$GITHUB_OUTPUT"
165+
else
166+
echo "****************"
167+
echo "Project does not use Go"
168+
echo "****************"
169+
echo "uses_go=false" >> "$GITHUB_OUTPUT"
170+
fi
153171
154-
- name: Check licenses
155-
uses: aquasecurity/trivy-action@0.33.1
172+
- name: Check python licenses
173+
uses: aquasecurity/trivy-action@b6643a29fecd7f34b3597bc6acb0a98b03d33ff8
174+
if: ${{ steps.check_languages.outputs.uses_poetry == 'true' }}
175+
with:
176+
scan-type: "fs"
177+
scan-ref: "poetry.lock"
178+
severity: "CRITICAL,HIGH"
179+
scanners: "license"
180+
format: "json"
181+
output: "license_scan_python.json"
182+
exit-code: "1"
183+
list-all-pkgs: "true"
184+
- name: Check node licenses
185+
uses: aquasecurity/trivy-action@b6643a29fecd7f34b3597bc6acb0a98b03d33ff8
186+
if: ${{ steps.check_languages.outputs.uses_node == 'true' }}
187+
with:
188+
scan-type: "fs"
189+
scan-ref: "package-lock.json"
190+
severity: "CRITICAL,HIGH"
191+
scanners: "license"
192+
format: "json"
193+
output: "license_scan_node.json"
194+
exit-code: "1"
195+
list-all-pkgs: "true"
196+
- name: Check go licenses
197+
uses: aquasecurity/trivy-action@b6643a29fecd7f34b3597bc6acb0a98b03d33ff8
198+
if: ${{ steps.check_languages.outputs.uses_go == 'true' }}
199+
with:
200+
scan-type: "fs"
201+
scan-ref: "go.sum"
202+
severity: "CRITICAL,HIGH"
203+
scanners: "license"
204+
format: "json"
205+
output: "license_scan_go.json"
206+
exit-code: "1"
207+
list-all-pkgs: "true"
208+
- name: Check java licenses
209+
uses: aquasecurity/trivy-action@b6643a29fecd7f34b3597bc6acb0a98b03d33ff8
210+
if: ${{ steps.check_languages.outputs.uses_java == 'true' }}
156211
with:
157212
scan-type: "fs"
158-
scan-ref: "."
213+
scan-ref: "pom.xml"
159214
severity: "CRITICAL,HIGH"
160215
scanners: "license"
161216
format: "json"
162-
output: "license_scan.json"
217+
output: "license_scan_java.json"
163218
exit-code: "1"
164219
list-all-pkgs: "true"
165220
- name: Show license scan output
166221
if: always()
167-
run: cat license_scan.json
222+
run: |
223+
cat license_scan_python.json
224+
cat license_scan_node.json
225+
cat license_scan_go.json
226+
cat license_scan_java.json
168227
169228
- name: Run code lint
170229
run: make lint
@@ -185,8 +244,8 @@ jobs:
185244
run: make test
186245

187246
- name: Generate and check python SBOMs
188-
if: ${{ steps.check_poetry.outputs.uses_poetry == 'true' }}
189-
uses: aquasecurity/trivy-action@0.33.1
247+
if: ${{ steps.check_languages.outputs.uses_poetry == 'true' }}
248+
uses: aquasecurity/trivy-action@b6643a29fecd7f34b3597bc6acb0a98b03d33ff8
190249
with:
191250
scan-type: "fs"
192251
scan-ref: "poetry.lock"
@@ -195,22 +254,59 @@ jobs:
195254
format: "table"
196255
output: "dependency_results_python.txt"
197256
exit-code: "1"
257+
- name: Generate and check node SBOMs
258+
if: ${{ steps.check_languages.outputs.uses_node == 'true' }}
259+
uses: aquasecurity/trivy-action@b6643a29fecd7f34b3597bc6acb0a98b03d33ff8
260+
with:
261+
scan-type: "fs"
262+
scan-ref: "package-lock.json"
263+
severity: "CRITICAL,HIGH"
264+
scanners: "vuln"
265+
format: "table"
266+
output: "dependency_results_node.txt"
267+
exit-code: "1"
268+
- name: Generate and check java SBOMs
269+
if: ${{ steps.check_languages.outputs.uses_java == 'true' }}
270+
uses: aquasecurity/trivy-action@b6643a29fecd7f34b3597bc6acb0a98b03d33ff8
271+
with:
272+
scan-type: "fs"
273+
scan-ref: "pom.xml"
274+
severity: "CRITICAL,HIGH"
275+
scanners: "vuln"
276+
format: "table"
277+
output: "dependency_results_java.txt"
278+
exit-code: "1"
279+
- name: Generate and check golang SBOMs
280+
if: ${{ steps.check_languages.outputs.uses_go == 'true' }}
281+
uses: aquasecurity/trivy-action@b6643a29fecd7f34b3597bc6acb0a98b03d33ff8
282+
with:
283+
scan-type: "fs"
284+
scan-ref: "go.sum"
285+
severity: "CRITICAL,HIGH"
286+
scanners: "vuln"
287+
format: "table"
288+
output: "dependency_results_go.txt"
289+
exit-code: "1"
198290
- name: Show scan output
199291
if: always()
200-
run: cat dependency_results_python.txt
292+
run: |
293+
cat dependency_results_python.txt
294+
cat dependency_results_node.txt
295+
cat dependency_results_java.txt
296+
cat dependency_results_go.txt
201297
- name: "check is SONAR_TOKEN exists"
202298
env:
203299
super_secret: ${{ secrets.SONAR_TOKEN }}
204300
if: ${{ env.super_secret != '' && inputs.run_sonar == true }}
205301
run: echo "SONAR_TOKEN_EXISTS=true" >> "$GITHUB_ENV"
206302

207303
- name: Run SonarQube analysis
208-
if: ${{ steps.check_java.outputs.uses_java == 'true' && env.SONAR_TOKEN_EXISTS == 'true' }}
304+
if: ${{ steps.check_languages.outputs.uses_java == 'true' && env.SONAR_TOKEN_EXISTS == 'true' }}
209305
run: mvn sonar:sonar -Dsonar.login=${{ secrets.SONAR_TOKEN }}
210306

211307
- name: SonarCloud Scan
212308
uses: SonarSource/sonarqube-scan-action@a31c9398be7ace6bbfaf30c0bd5d415f843d45e9
213-
if: ${{ steps.check_java.outputs.uses_java == 'false' && env.SONAR_TOKEN_EXISTS == 'true' }}
309+
if: ${{ steps.check_languages.outputs.uses_java == 'false' && env.SONAR_TOKEN_EXISTS == 'true' }}
214310
env:
215311
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
216312
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}

0 commit comments

Comments
 (0)