cse2115-sem-team-12a/example-microservice/.gitlab-ci.yml
2023-11-17 18:19:46 +01:00

69 lines
1.4 KiB
YAML

image: gradle:6.7-jdk15
stages:
- build
- staticAnalysis
- test
variables:
# Disable the Gradle daemon to ensure isolated runs of the CI pipeline.
GRADLE_OPTS: "-Dorg.gradle.daemon=false"
# Default build cache settings to extend from
.build_cached:
cache:
key: "gradle-build"
paths:
# Only cache the gradle directory, as we do not use a shared cache
- .gradle/
policy: pull
build-example-microservice:
extends:
- .build_cached
needs:
- gradle_build
dependencies:
- gradle_build
stage: build
script:
gradle example-microservice:assemble example-microservice:testClasses
checkStyle-example-microservice:
extends:
- .build_cached
needs:
- gradle_build
dependencies:
- gradle_build
stage: staticAnalysis
script:
gradle example-microservice:checkstyleMain example-microservice:checkStyleTest
allow_failure: true
PMD-example-microservice:
extends:
- .build_cached
needs:
- gradle_build
dependencies:
- gradle_build
stage: staticAnalysis
script:
gradle example-microservice:pmdMain
allow_failure: true
test-example-microservice:
extends:
- .build_cached
needs:
- gradle_build
dependencies:
- gradle_build
stage: test
script:
- gradle example-microservice:test example-microservice:jacocoTestReport
- cat example-microservice/build/reports/jacoco/test/html/index.html | grep -Po "Total.*?([0-9]{1,3})%"
coverage: /([0-9]{1,3})%/