diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ceb1869aafd92dea265f2fdcc02701b246de4b60..a563e580ae1db9efac23ea0cd22151778244f6ee 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,14 +1,11 @@ -#### -# GitLab ci-cd pipline for nshmp-lib -#### - -variables: - JACOCO_HTML_DIR: ${REPORTS_DIR}/jacoco/test/html - JUNIT_FILES: build/test-results/test/TEST-*.xml - REPORTS_DIR: build/reports +include: + - project: 'ghsc/nshmp/nshmp-pipeline-templates' + ref: 'main' + file: 'templates/library.yml' stages: - - test + - init + - build - publish # Do not run for merge requests @@ -17,21 +14,37 @@ workflow: - if: $CI_COMMIT_TAG - if: $CI_COMMIT_BRANCH -.tags: +.gradle: + image: ${DEVOPS_REGISTRY}usgs/java:11-jdk tags: - development -.gradle: - image: ${DEVOPS_REGISTRY}usgs/java:11-jdk +#### +# Stage: init +#### + +Init: + extends: + - .gradle-init #### # Stage: test #### +Build Image: + extends: + - .docker-build + variables: + DOCKER_BUILD_ARGS: | + BUILD_IMAGE=${DEVOPS_REGISTRY}usgs/java:11-jdk + FROM_IMAGE=${DEVOPS_REGISTRY}usgs/nginx:latest + UPSTREAM_PATH: ghsc/nshmp/nshmp-lib + Build Project: extends: - .gradle - - .tags + needs: + - Init rules: - changes: @@ -43,12 +56,13 @@ Build Project: when: manual script: - ./gradlew assemble; - stage: test + stage: build Markdown Lint: extends: - .gradle - - .tags + needs: + - Init rules: - changes: @@ -59,58 +73,7 @@ Markdown Lint: when: manual script: - ./gradlew markdownlint; - stage: test - -Spotless Check: - extends: - - .gradle - - .tags - rules: - - - changes: - - 'src/**' - - '*gradle*' - when: on_success - - - allow_failure: true - when: manual - script: - - ./gradlew spotlessCheck; - stage: test - -Spotbugs Main: - extends: - - .gradle - - .tags - rules: - - - changes: - - 'src/**' - - '*gradle*' - when: on_success - - - allow_failure: true - when: manual - script: - - ./gradlew spotbugsMain; - stage: test - -Spotbugs Test: - extends: - - .gradle - - .tags - rules: - - - changes: - - 'src/**' - - '*gradle*' - when: on_success - - - allow_failure: true - when: manual - script: - - ./gradlew spotbugsTest; - stage: test + stage: build Unit Tests: artifacts: @@ -121,7 +84,8 @@ Unit Tests: coverage: '/Total.*?([0-9]{1,3})%/' extends: - .gradle - - .tags + needs: + - Init rules: - changes: @@ -134,12 +98,13 @@ Unit Tests: script: - ./gradlew check; - cat ${JACOCO_HTML_DIR}/index.html; - stage: test + stage: build YAML Lint: extends: - .gradle - - .tags + needs: + - Init rules: - changes: @@ -150,7 +115,7 @@ YAML Lint: when: manual script: - ./gradlew yamllint; - stage: test + stage: build #### # Stage: publish @@ -158,8 +123,14 @@ YAML Lint: Publish: extends: - - .tags - .gradle + needs: + - Init + - Build Image + - Build Project + - Markdown Lint + - Unit Tests + - YAML Lint only: - tags@ghsc/nshmp/nshmp-lib script: