# 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