From 700901a786a2c4197fcef24015c7714f49f57703 Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Thu, 19 Jan 2023 09:58:48 -0700
Subject: [PATCH] Add pipelines

---
 .gitlab-ci.yml | 45 ++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 44 insertions(+), 1 deletion(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 564a2d68..796b5602 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,6 +1,8 @@
 variables:
   CI_DEFAULT_BRANCH: legacy-main
   CI_PROJECT_NAME: nshmp-haz-legacy
+  JACOCO_HTML_DIR: ${REPORTS_DIR}/jacoco/test/html
+  JUNIT_FILES: build/test-results/test*/TEST-*.xml
   PRODUCTION_BRANCH: legacy-production
   UPSTREAM_PATH: ghsc/nshmp/nshmp-haz
 
@@ -12,6 +14,11 @@ workflow:
 
 stages:
   - build
+  - test
+
+default:
+  tags:
+    - nshmp
 
 ####
 # Environment Templates
@@ -53,6 +60,17 @@ stages:
   variables:
     ENVIRONMENT: production
 
+
+####
+# Java Templates
+####
+
+##
+# General Java setup
+##
+.java:
+  image: ${DEVOPS_REGISTRY}usgs/amazoncorretto:8
+
 ####
 # Docker Templates
 ####
@@ -125,7 +143,6 @@ stages:
   stage: build
   tags:
     - build
-  variables:
 
 ####
 # Stage: build
@@ -140,3 +157,29 @@ Build Image:
       FROM_IMAGE=${DEVOPS_REGISTRY}usgs/amazoncorretto:8
     DOCKERFILE: Dockerfile
     IMAGE_TAG: ${ENVIRONMENT}-${CI_COMMIT_SHORT_SHA}
+
+Build Project:
+  extends:
+    - .java
+  script:
+    - ./gradlew assemble
+  stage: build
+
+####
+# Stage: test
+####
+
+Unit Tests:
+  artifacts:
+    paths:
+      - ${JACOCO_HTML_DIR}
+    reports:
+      junit: ${JUNIT_FILES}
+  coverage: '/Total.*?([0-9]{1,3})%/'
+  extends:
+    - .java
+  needs: []
+  script:
+    - ./gradlew check
+    - cat ${JACOCO_HTML_DIR}/index.html
+  stage: test
-- 
GitLab