@@ -274,4 +274,102 @@ jobs:
274
274
SONAR_HOST_URL : http://not_actually_used
275
275
- name : Assert
276
276
run : |
277
- ./test/assertFileExists ~/.sonar/ssl/truststore.p12
277
+ ./test/assertFileExists ~/.sonar/ssl/truststore.p12
278
+ analysisWithSslCertificate :
279
+ name : >
280
+ Analysis takes into account 'SONAR_ROOT_CERT'
281
+ runs-on : ubuntu-latest
282
+ steps :
283
+ - uses : actions/checkout@v4
284
+ with :
285
+ token : ${{ secrets.GITHUB_TOKEN }}
286
+ - name : Generate certificates
287
+ run : ./generate-certificates.sh
288
+ working-directory : .github/qa-sq-behind-ngix
289
+ - name : Start nginx and SonarQube via Docker Compose
290
+ run : docker compose up -d --wait
291
+ working-directory : .github/qa-sq-behind-ngix
292
+ - name : Read correct client certificate from
293
+ run : |
294
+ # read server.crt from .github/qa-sq-behind-ngix/ and store into the SONAR_ROOT_CERT_VALID
295
+ # environment variable, to be able to read it in the next step
296
+ {
297
+ echo 'SONAR_ROOT_CERT_VALID<<=========='
298
+ cat .github/qa-sq-behind-ngix/server.crt
299
+ echo ==========
300
+ } >> $GITHUB_ENV
301
+ - name : Run action with the correct SSL certificate
302
+ uses : ./
303
+ env :
304
+ SONAR_ROOT_CERT : ${{ env.SONAR_ROOT_CERT_VALID }}
305
+ SONAR_HOST_URL : https://localhost:4443
306
+ with :
307
+ args : -Dsonar.login=admin -Dsonar.password=admin
308
+ projectBaseDir : ./test/example-project
309
+ - name : Clear imported certificates
310
+ run : |
311
+ rm -f ~/.sonar/ssl/truststore.p12
312
+ - name : Run action with an invalid SSL certificate
313
+ id : invalid_ssl_certificate
314
+ continue-on-error : true
315
+ uses : ./
316
+ env :
317
+ SONAR_ROOT_CERT : |
318
+ -----BEGIN CERTIFICATE-----
319
+ INVALID
320
+ -----END CERTIFICATE-----
321
+ SONAR_HOST_URL : https://localhost:4443
322
+ with :
323
+ args : -Dsonar.login=admin -Dsonar.password=admin
324
+ projectBaseDir : ./test/example-project
325
+ - name : Assert failure of previous step
326
+ if : steps.invalid_ssl_certificate.outcome == 'success'
327
+ run : exit 1
328
+ - name : Clear imported certificates
329
+ run : |
330
+ rm -f ~/.sonar/ssl/truststore.p12
331
+ - name : Run action with the wrong SSL certificate
332
+ id : wrong_ssl_certificate
333
+ continue-on-error : true
334
+ uses : ./
335
+ env :
336
+ SONAR_ROOT_CERT : |
337
+ -----BEGIN CERTIFICATE-----
338
+ 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
368
+ -----END CERTIFICATE-----
369
+ SONAR_HOST_URL : https://localhost:4443
370
+ with :
371
+ args : -Dsonar.login=admin -Dsonar.password=admin
372
+ projectBaseDir : ./test/example-project
373
+ - name : Assert failure of previous step
374
+ if : steps.wrong_ssl_certificate.outcome == 'success'
375
+ run : exit 1
0 commit comments