From 7276c677f34b6865f381e4ceba46ec9651e526a1 Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Thu, 18 Feb 2021 10:18:00 -0700
Subject: [PATCH] add markdown lint pipeline

---
 .gitlab-ci.yml     | 48 +++++++++++++++++++++++++++++++++++++++++++++-
 .gitlab/Dockerfile | 12 ++++++++++++
 2 files changed, 59 insertions(+), 1 deletion(-)
 create mode 100644 .gitlab/Dockerfile

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 932d6d5..32d3571 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,6 +1,7 @@
 variables:
   DOCKER_DIR: docker-images
   DOCKER_TAR: ${DOCKER_DIR}/app.tar
+  IMAGE_NAME: ${CODE_REGISTRY_IMAGE}/${CI_PROJECT_NAME}
   JACOCO_HTML_DIR: ${REPORTS_DIR}/jacoco/test/html
   JUNIT_FILES: build/test-results/test/TEST-*.xml
   REPORTS_DIR: build/reports
@@ -16,6 +17,7 @@ include:
     file: "templates/library.yml"
 
 stages:
+  - image
   - build
   - publish
   - deploy
@@ -28,7 +30,7 @@ stages:
   extends:
     - .tags::development
   stage: build
-  image: ${DEVOPS_REGISTRY}usgs/java:11
+  image: ${IMAGE_NAME}
 
 .python:
   before_script:
@@ -95,6 +97,34 @@ stages:
   tags:
     - staging02
 
+####
+# Stage: image
+####
+
+Image:
+  extends:
+    - .dind
+  rules:
+    -
+      changes:
+        - .gitlab/Dockerfile
+      when: on_success
+    -
+      allow_failure: true
+      when: manual
+  script:
+    - |
+      docker build \
+        --build-arg FROM_IMAGE=${DEVOPS_REGISTRY}usgs/node:12 \
+        --file ".gitlab/Dockerfile" \
+        --pull \
+        --tag ${IMAGE_NAME} \
+        .
+    - docker push ${IMAGE_NAME}
+  stage: image
+  tags:
+    - build
+
 ####
 # Stage: build
 ####
@@ -150,6 +180,22 @@ Java - Unit Tests:
     - cat ${JACOCO_HTML_DIR}/index.html
   stage: build
 
+Markdown Lint:
+  extends:
+    - .gradle
+    - .tags
+  rules:
+    -
+      changes:
+        - '**/*.md'
+      when: on_success
+    -
+      allow_failure: true
+      when: manual
+  script:
+    - ./gradlew markdownlint;
+  stage: test
+
 Python - Lint:
   extends:
     - .python
diff --git a/.gitlab/Dockerfile b/.gitlab/Dockerfile
new file mode 100644
index 0000000..179fc72
--- /dev/null
+++ b/.gitlab/Dockerfile
@@ -0,0 +1,12 @@
+ARG FROM_IMAGE=usgs/node:12
+
+FROM ${FROM_IMAGE}
+
+ENV LANG="en_US.UTF-8"
+
+USER root
+
+RUN yum install -y git glibc-langpack-en java-11-openjdk-devel which \
+    && yum clean all
+
+USER usgs-user
-- 
GitLab