From 883cbecd8db2c7f09be81f1d68cae001a25e7739 Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Wed, 23 Jun 2021 12:19:17 -0600
Subject: [PATCH] update pipeline

---
 .gitlab-ci.yml | 115 ++++++++++++++++++-------------------------------
 1 file changed, 43 insertions(+), 72 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index ceb1869a..a563e580 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:
-- 
GitLab