muwire/.gitlab-ci.yml

59 lines
1.5 KiB
YAML

# To contribute improvements to CI/CD templates, please follow the Development guide at:
# https://docs.gitlab.com/ee/development/cicd/templates.html
# This specific template is located at:
# https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Gradle.gitlab-ci.yml
# This is the Gradle build system for JVM applications
# https://gradle.org/
# https://github.com/gradle/gradle
stages:
- build
- test
- visualize
image: gradle:alpine
# Disable the Gradle daemon for Continuous Integration servers as correctness
# is usually a priority over speed in CI environments. Using a fresh
# runtime for each build is more reliable since the runtime is completely
# isolated from any previous builds.
variables:
GRADLE_OPTS: "-Dorg.gradle.daemon=false"
before_script:
- export GRADLE_USER_HOME=`pwd`/.gradle
build:
stage: build
script: gradle --build-cache assemble
cache:
key: "$CI_COMMIT_REF_NAME"
policy: push
paths:
- build
- .gradle
test:
stage: test
script: gradle check
cache:
key: "$CI_COMMIT_REF_NAME"
policy: pull
paths:
- build
- .gradle
artifacts:
paths:
- core/build/reports/jacoco/test/jacocoTestReport.xml
coverage:
stage: visualize
image: haynes/jacoco2cobertura:1.0.7
script:
- 'python /opt/cover2cover.py core/build/reports/jacoco/test/jacocoTestReport.xml $CI_PROJECT_DIR/core/src > coberturaTestReport.xml'
needs: ["test"]
artifacts:
reports:
cobertura: coberturaTestReport.xml