From 24e1cac93cb781a57a0b8aab1b340ccc328bc69f Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Tue, 26 Apr 2022 09:05:12 -0600
Subject: [PATCH 01/11] use try catch

---
 gradle/app-version.gradle | 40 +++++++++++++++++++++------------------
 1 file changed, 22 insertions(+), 18 deletions(-)

diff --git a/gradle/app-version.gradle b/gradle/app-version.gradle
index 2367ef400..f7e96ed1e 100644
--- a/gradle/app-version.gradle
+++ b/gradle/app-version.gradle
@@ -2,23 +2,27 @@ apply plugin: "com.palantir.git-version"
 
 tasks.withType(JavaCompile) {
   doFirst {
-    def versionFile = new File("${projectDir}/src/main/resources/version/nshmp-haz-version.json")
-    new File(versionFile.getParent()).mkdirs()
-    def details = versionDetails()
-    def ciProjectUrl = System.getenv("CI_PROJECT_URL")
-    def branch = System.getenv("CI_COMMIT_BRANCH")
-    def versionInfo = [
-      branchName: branch ? branch : details.branchName,
-      commitDistance: details.commitDistance,
-      gitHash:  details.gitHash,
-      gitHashFull:  details.gitHashFull,
-      isCleanTag:  details.isCleanTag,
-      lastTag:  details.lastTag,
-      projectName: project.name,
-      url: ciProjectUrl ? ciProjectUrl : 'git config --get remote.origin.url'.execute().text.replace('\n', ''),
-      version: details.version,
-    ]
-    def json = groovy.json.JsonOutput.toJson(versionInfo)
-    versionFile.write(groovy.json.JsonOutput.prettyPrint(json))
+    try {
+      def versionFile = new File("${projectDir}/src/main/resources/version/nshmp-haz-version.json")
+      new File(versionFile.getParent()).mkdirs()
+      def details = versionDetails()
+      def ciProjectUrl = System.getenv("CI_PROJECT_URL")
+      def branch = System.getenv("CI_COMMIT_BRANCH")
+      def versionInfo = [
+        branchName: branch ? branch : details.branchName,
+        commitDistance: details.commitDistance,
+        gitHash:  details.gitHash,
+        gitHashFull:  details.gitHashFull,
+        isCleanTag:  details.isCleanTag,
+        lastTag:  details.lastTag,
+        projectName: project.name,
+        url: ciProjectUrl ? ciProjectUrl : "git config --get remote.origin.url".execute().text.replace("\n", ""),
+        version: details.version,
+      ]
+      def json = groovy.json.JsonOutput.toJson(versionInfo)
+      versionFile.write(groovy.json.JsonOutput.prettyPrint(json))
+    } catch (Exception e) {
+      println("Failed to create version file.")
+    }
   }
 }
-- 
GitLab


From 1289a5a0bc6d18022f022d2ca04173af5abcd020 Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Tue, 26 Apr 2022 10:10:26 -0600
Subject: [PATCH 02/11] do not apply plugin

---
 build.gradle | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/build.gradle b/build.gradle
index 684942bb1..9dd53b0a2 100644
--- a/build.gradle
+++ b/build.gradle
@@ -33,7 +33,7 @@ plugins {
   id "com.github.johnrengelman.shadow" version "${shadowVersion}"
   id "com.github.node-gradle.node" version "${nodePluginVersion}"
   id "com.github.spotbugs" version "${spotbugsVersion}"
-  id "com.palantir.git-version" version "${gitVersionVersion}"
+  id "com.palantir.git-version" version "${gitVersionVersion}" apply false
   id "com.star-zero.gradle.githook" version "${githooksVersion}"
   id "eclipse-wtp"
   id "io.micronaut.application" version "${micronautPluginVersion}"
-- 
GitLab


From f52282b681fdc013ebb94aab39a4163ec351ddbc Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Tue, 26 Apr 2022 10:10:50 -0600
Subject: [PATCH 03/11] apply plugin in try catch block

---
 gradle/app-version.gradle | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/gradle/app-version.gradle b/gradle/app-version.gradle
index f7e96ed1e..47452e9a3 100644
--- a/gradle/app-version.gradle
+++ b/gradle/app-version.gradle
@@ -1,8 +1,9 @@
-apply plugin: "com.palantir.git-version"
 
 tasks.withType(JavaCompile) {
   doFirst {
     try {
+      apply plugin: "com.palantir.git-version"
+
       def versionFile = new File("${projectDir}/src/main/resources/version/nshmp-haz-version.json")
       new File(versionFile.getParent()).mkdirs()
       def details = versionDetails()
@@ -23,6 +24,7 @@ tasks.withType(JavaCompile) {
       versionFile.write(groovy.json.JsonOutput.prettyPrint(json))
     } catch (Exception e) {
       println("Failed to create version file.")
+      throw new Exception(e)
     }
   }
 }
-- 
GitLab


From 9bf87f57414e58ced2ca94a42140fe453c04e89a Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Tue, 26 Apr 2022 10:21:33 -0600
Subject: [PATCH 04/11] remove throw exception

---
 gradle/app-version.gradle | 1 -
 1 file changed, 1 deletion(-)

diff --git a/gradle/app-version.gradle b/gradle/app-version.gradle
index 47452e9a3..c0f4c3c4c 100644
--- a/gradle/app-version.gradle
+++ b/gradle/app-version.gradle
@@ -24,7 +24,6 @@ tasks.withType(JavaCompile) {
       versionFile.write(groovy.json.JsonOutput.prettyPrint(json))
     } catch (Exception e) {
       println("Failed to create version file.")
-      throw new Exception(e)
     }
   }
 }
-- 
GitLab


From 70a5538f456ea319515f3b0169ae5ffd797dae05 Mon Sep 17 00:00:00 2001
From: Peter Powers <pmpowers@usgs.gov>
Date: Thu, 28 Apr 2022 09:28:45 -0600
Subject: [PATCH 05/11] updated lib

---
 gradle.properties | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gradle.properties b/gradle.properties
index d3bac3e39..5a1abcf15 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -11,7 +11,7 @@ micronautRxVersion = 2.1.1
 micronautPluginVersion = 3.1.1
 nodePluginVersion = 3.0.1
 nodeVersion = 16.3.0
-nshmpLibVersion = 1.0.6
+nshmpLibVersion = 1.1.0
 nshmpWsUtilsVersion = 0.3.7
 shadowVersion = 7.1.2
 spotbugsVersion = 4.7.0
-- 
GitLab


From ea6d9818698c0d383d348ca2e5322310c0f01470 Mon Sep 17 00:00:00 2001
From: Peter Powers <pmpowers@usgs.gov>
Date: Thu, 28 Apr 2022 09:28:54 -0600
Subject: [PATCH 06/11] doc edits

---
 docs/pages/Building-&-Running.md | 3 +--
 docs/pages/Model-Files.md        | 2 +-
 docs/pages/Source-Types.md       | 6 ++++++
 3 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/docs/pages/Building-&-Running.md b/docs/pages/Building-&-Running.md
index 5bafde11c..02e22aa93 100644
--- a/docs/pages/Building-&-Running.md
+++ b/docs/pages/Building-&-Running.md
@@ -6,8 +6,7 @@
   * [Developer Basics](./Developer-Basics.md#developer-basics)
   * [Calculation Configuration](./Calculation-Configuration.md#calculation-configuration)
   * [Site Specification](./Site-Specification.md#site-specification)
-  * [Examples](../../etc/examples) (or
-    [on GitLab](https://code.usgs.gov/ghsc/nshmp/nshmp-haz/-/tree/main/etc/examples))
+  * [Examples](../../etc/examples)
   * [Web Services](./Web-Services.md)
 
 ## Build & Run Options
diff --git a/docs/pages/Model-Files.md b/docs/pages/Model-Files.md
index 7f8290aca..347935dd0 100644
--- a/docs/pages/Model-Files.md
+++ b/docs/pages/Model-Files.md
@@ -80,7 +80,7 @@ or its children will be processed; any standalone sources will be ignored. For e
 
 **source-group.json:** A specialized form of logic tree that describes model branches that are
 additive and therefore does not include weights. Examples from the NSHM for the conterminous U.S.
-NSHM include the Cascadia segmented partial-rupture models and the New Madrid 1500-yr cluster
+NSHM include the Cascadia segmented and partial-rupture models, and the New Madrid 1500-yr cluster
 branches. The branch objects in a source group _may_ include an optional `scale` member that can
 be used to impose a probability of occurrence or other scaling requred by a NSHM. If absent, the
 `scale` value is one.
diff --git a/docs/pages/Source-Types.md b/docs/pages/Source-Types.md
index 90b24bbe9..76d90b847 100644
--- a/docs/pages/Source-Types.md
+++ b/docs/pages/Source-Types.md
@@ -71,6 +71,9 @@ rupture representations.
 ```json
 {
   "grid-spacing": 0.1,
+  "smoothing-density": 10,
+  "smoothing-limit": 40.0,
+  "opt-distance-bin": 1.0,
   "point-source-type": "FINITE",
   "rupture-scaling": "NSHM_POINT_WC94_LENGTH",
   "max-depth": 22.0,
@@ -151,6 +154,9 @@ __zone-config.json:__ Zone source model configuration is identical to a grid sou
 ```json
 {
   "grid-spacing": 0.1,
+  "smoothing-density": 10,
+  "smoothing-limit": 40.0,
+  "opt-distance-bin": null,
   "point-source-type": "FIXED_STRIKE",
   "rupture-scaling": "NSHM_POINT_WC94_LENGTH",
   "max-depth": 22.0,
-- 
GitLab


From ba2c16ec4e9ba348c093cee6e6ae5624d63f55d1 Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Wed, 4 May 2022 11:16:56 -0600
Subject: [PATCH 07/11] push docker images

---
 .gitlab-ci.yml | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 949b1dc95..1d57bd409 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -114,6 +114,16 @@ default:
     - |
       docker tag "${latest_image_name}" "${sha_image_name}";
       docker push "${sha_image_name}";
+    - |
+      docker_latest_iamge="usgs/${CI_PROJECT_NAME}:latest";
+      docker_env_image="usgs/${CI_PROJECT_NAME}:${ENVIRONMENT}-latest";
+
+      if [[ "${PUSH_DOCKER}" == true ]]; then
+        docker tag "${latest_image_name}" "${docker_latest_image}";
+        docker tag "${latest_image_name}" "${docker_env_image}";
+        docker push "${docker_latest_image}";
+        docker push "${docker_env_image}";
+      fi
     - |
       printf "
         --------
@@ -129,6 +139,7 @@ default:
       BUILD_IMAGE=${DEVOPS_REGISTRY}usgs/amazoncorretto:11
       FROM_IMAGE=${DEVOPS_REGISTRY}usgs/amazoncorretto:11
     IMAGE_TAG: ${ENVIRONMENT}-${CI_COMMIT_SHORT_SHA}
+    PUSH_DOCKER: false
     REGISTRY_IMAGE: ${CI_REGISTRY_IMAGE}
     TAG: build
 
@@ -169,6 +180,7 @@ CHS Registry:
       CI_COMMIT_BRANCH=${CI_COMMIT_BRANCH}
       CI_JOB_TOKEN=${CI_JOB_TOKEN}
       CI_PROJECT_URL=${CI_PROJECT_URL}
+    PUSH_DOCKER: true
     UPSTREAM_PATH: ghsc/nshmp/nshmp-haz
 
 Container Registry:
-- 
GitLab


From 93fcc63ab28a1d99ebfbba23062747495c68669c Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Wed, 4 May 2022 11:28:42 -0600
Subject: [PATCH 08/11] fix variable

---
 .gitlab-ci.yml | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 1d57bd409..2111babe6 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -119,10 +119,13 @@ default:
       docker_env_image="usgs/${CI_PROJECT_NAME}:${ENVIRONMENT}-latest";
 
       if [[ "${PUSH_DOCKER}" == true ]]; then
-        docker tag "${latest_image_name}" "${docker_latest_image}";
         docker tag "${latest_image_name}" "${docker_env_image}";
-        docker push "${docker_latest_image}";
         docker push "${docker_env_image}";
+
+        if  [[ "${ENVIRONMENT}" != "development" ]]; then
+          docker tag "${latest_image_name}" "${docker_latest_image}";
+          docker push "${docker_latest_image}";
+        fi
       fi
     - |
       printf "
@@ -139,7 +142,7 @@ default:
       BUILD_IMAGE=${DEVOPS_REGISTRY}usgs/amazoncorretto:11
       FROM_IMAGE=${DEVOPS_REGISTRY}usgs/amazoncorretto:11
     IMAGE_TAG: ${ENVIRONMENT}-${CI_COMMIT_SHORT_SHA}
-    PUSH_DOCKER: false
+    PUSH_DOCKER: 'false'
     REGISTRY_IMAGE: ${CI_REGISTRY_IMAGE}
     TAG: build
 
@@ -180,7 +183,7 @@ CHS Registry:
       CI_COMMIT_BRANCH=${CI_COMMIT_BRANCH}
       CI_JOB_TOKEN=${CI_JOB_TOKEN}
       CI_PROJECT_URL=${CI_PROJECT_URL}
-    PUSH_DOCKER: true
+    PUSH_DOCKER: 'true'
     UPSTREAM_PATH: ghsc/nshmp/nshmp-haz
 
 Container Registry:
-- 
GitLab


From 22b323912feadc6eeda64f2937fcf16375156286 Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Wed, 4 May 2022 11:28:48 -0600
Subject: [PATCH 09/11] fix docs

---
 docs/pages/Building-&-Running.md | 27 +++++++++++++--------------
 docs/pages/Web-Services.md       | 14 +++++++-------
 2 files changed, 20 insertions(+), 21 deletions(-)

diff --git a/docs/pages/Building-&-Running.md b/docs/pages/Building-&-Running.md
index 02e22aa93..64a04b86e 100644
--- a/docs/pages/Building-&-Running.md
+++ b/docs/pages/Building-&-Running.md
@@ -73,11 +73,11 @@ files. Disaggregations also have some independent
 
 ## Run with [Docker](https://docs.docker.com/install/)
 
-nshmp-haz is available as a public image from the
-[container registry](https://code.usgs.gov/ghsc/nshmp/nshmp-haz/container_registry)
+nshmp-haz is available as a public image from [Docker hub](https://hub.docker.com/r/usgs/nshmp-haz) 
 with tags:
 
 * `latest`: Refers to the latest updates from the main or production branch
+* `development-latest`: Refers to forks of the repository.
 * `staging-latest`: Latest updates associated with the
 [main](https://code.usgs.gov/ghsc/nshmp/nshmp-haz/-/tree/main) branch
 * `production-latest`: Latest stable release associated with the
@@ -108,13 +108,12 @@ to a minimum of 4 GB.
 
 The *nshmp-haz* application may be run as a Docker container which mitigates the need to install
 Git, Java, or other dependencies besides Docker. A public image is available
-from this repository's
-[container registry](https://code.usgs.gov/ghsc/nshmp/nshmp-haz/container_registry).
+from  [Docker hub](https://hub.docker.com/r/usgs/nshmp-haz)
 which can be run with:
 
 ```bash
 # Pull docker image
-docker pull code.usgs.gov:5001/ghsc/nshmp/nshmp-haz/nshmp-haz:latest 
+docker pull usgs/nshmp-haz:latest 
 
 # Run docker image
 docker run \
@@ -124,7 +123,7 @@ docker run \
     --volume /absolute/path/to/sites/file:/app/sites.<geojson | csv> \
     --volume /absolute/path/to/config/file:/app/config.json \
     --volume /absolute/path/to/output:/app/output \
-    code.usgs.gov:5001/ghsc/nshmp/nshmp-haz/nshmp-haz-ws
+    usgs/nshmp-haz
 ```
 
 Where:
@@ -157,7 +156,7 @@ assumption a GeoJSON [site](./Site-Specification.md) file exists named `sites.ge
 git clone https://code.usgs.gov/ghsc/nshmp/nshms/nshm-hawaii.git
 
 # Pull image
-docker pull code.usgs.gov:5001/ghsc/nshmp/nshmp-haz/nshmp-haz:latest 
+docker pull usgs/nshmp-haz:latest 
 
 # Run nshmp-haz HazardCalc
 docker run \
@@ -165,7 +164,7 @@ docker run \
     --volume "$(pwd)/nshm-hawaii:/app/model" \
     --volume "$(pwd)/sites.geojson" \
     --volume "$(pwd)/hawaii-hazard-output:/app/output" \
-    code.usgs.gov:5001/ghsc/nshmp/nshmp-haz/nshmp-haz
+    usgs/nshmp-haz
 ```
 
 #### [`DisaggCalc`](../../src/main/java/gov/usgs/earthquake/nshmp/DisaggCalc.java) Example
@@ -179,7 +178,7 @@ assumption a GeoJSON [site](./Site-Specification.md) file exists named `sites.ge
 git clone https://code.usgs.gov/ghsc/nshmp/nshms/nshm-hawaii.git
 
 # Pull image
-docker pull code.usgs.gov:5001/ghsc/nshmp/nshmp-haz/nshmp-haz:latest 
+docker pull usgs/nshmp-haz:latest 
 
 # Run nshmp-haz DisaggCalc
 docker run \
@@ -188,7 +187,7 @@ docker run \
     --volume "$(pwd)/nshm-hawaii:/app/model" \
     --volume "$(pwd)/sites.geojson" \
     --volume "$(pwd)/hawaii-disagg-output:/app/output" \
-    code.usgs.gov:5001/ghsc/nshmp/nshmp-haz/nshmp-haz:latest
+    usgs/nshmp-haz:latest
 ```
 
 #### [`RateCalc`](../../src/main/java/gov/usgs/earthquake/nshmp/RateCalc.java) Example
@@ -202,7 +201,7 @@ assumption a GeoJSON [site](./Site-Specification.md) file exists named `sites.ge
 git clone https://code.usgs.gov/ghsc/nshmp/nshms/nshm-hawaii.git
 
 # Pull image
-docker pull code.usgs.gov:5001/ghsc/nshmp/nshmp-haz/nshmp-haz:latest 
+docker pull usgs/nshmp-haz:latest 
 
 # Run nshmp-haz RateCalc
 docker run \
@@ -210,7 +209,7 @@ docker run \
     --volume "$(pwd)/nshm-hawaii:/app/model" \
     --volume "$(pwd)/sites.geojson" \
     --volume "$(pwd)/hawaii-rate-output:/app/output" \
-    code.usgs.gov:5001/ghsc/nshmp/nshmp-haz/nshmp-haz
+    usgs/nshmp-haz
 ```
 
 ### Run Customization
@@ -222,13 +221,13 @@ be set with the environment flag (-e, -env):
 docker run \
     --env JAVA_MEMORY=<MEMORY> \
     ...
-    code.usgs.gov:5001/ghsc/nshmp/nshmp-haz/nshmp-haz
+    usgs/nshmp-haz
 
 # Example
 docker run \
     --env JAVA_MEMORY="12g" \
     ...
-    code.usgs.gov:5001/ghsc/nshmp/nshmp-haz/nshmp-haz
+    usgs/nshmp-haz
 ```
 
 Where:
diff --git a/docs/pages/Web-Services.md b/docs/pages/Web-Services.md
index 3076ca1db..bbfa9ced8 100644
--- a/docs/pages/Web-Services.md
+++ b/docs/pages/Web-Services.md
@@ -119,12 +119,12 @@ Open browser to [http://localhost:8080/](http://localhost:8080/).
 
 ### Run from Container Registry
 
-A public Docker image is avaialable from this repository's
-[container registry](https://code.usgs.gov/ghsc/nshmp/nshmp-haz/container_registry).
+A public Docker image is avaialable from [Docker hub](https://hub.docker.com/r/usgs/nshmp-haz-ws).
 
-There are 3 main tags:
+There are 4 main tags:
 
 * `latest`: Refers to the latest updates from the main or production branch
+* `development-latest`: Refers to forks of the repository.
 * `staging-latest`: Refers to the
 [main](https://code.usgs.gov/ghsc/nshmp/nshmp-haz/-/tree/main) branch and is the latest updates
 * `production-latest`: Refers to the
@@ -132,10 +132,10 @@ There are 3 main tags:
 
 ```bash
 # Pull image
-docker pull code.usgs.gov:5001/ghsc/nshmp/nshmp-haz/nshmp-haz-ws:latest 
+docker pull usgs/nshmp-haz-ws:latest 
 
 # Run
-docker run -p 8080:8080 -v "/path/to/model:/model" code.usgs.gov:5001/ghsc/nshmp/nshmp-haz/nshmp-haz-ws
+docker run -p 8080:8080 -v "/path/to/model:/model" usgs/nshmp-haz-ws
 ```
 
 Web service runs on [http://localhost:8080/](http://localhost:8080/)
@@ -146,14 +146,14 @@ The hazard model is read in via Docker volumes.
 
 ```bash
 # Pull image
-docker pull code.usgs.gov:5001/ghsc/nshmp/nshmp-haz/nshmp-haz-ws:latest 
+docker pull usgs/nshmp-haz-ws:latest 
 
 # Download NSHM CONUS
 cd ..
 git clone https://code.usgs.gov/ghsc/nshmp/nshms/nshm-conus
 
 # Run web services
-docker run -p 8080:8080 -v "$(pwd):/model" code.usgs.gov:5001/ghsc/nshmp/nshmp-haz/nshmp-haz-ws
+docker run -p 8080:8080 -v "$(pwd):/model" usgs/nshmp-haz-ws
 ```
 
 Open browser to [http://localhost:8080/](http://localhost:8080/).
-- 
GitLab


From be8a2beab72f52d3c8c7339977269855d98f9de6 Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Wed, 4 May 2022 11:29:30 -0600
Subject: [PATCH 10/11] format

---
 docs/pages/Building-&-Running.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/pages/Building-&-Running.md b/docs/pages/Building-&-Running.md
index 64a04b86e..8464fb14d 100644
--- a/docs/pages/Building-&-Running.md
+++ b/docs/pages/Building-&-Running.md
@@ -73,7 +73,7 @@ files. Disaggregations also have some independent
 
 ## Run with [Docker](https://docs.docker.com/install/)
 
-nshmp-haz is available as a public image from [Docker hub](https://hub.docker.com/r/usgs/nshmp-haz) 
+nshmp-haz is available as a public image from [Docker hub](https://hub.docker.com/r/usgs/nshmp-haz)
 with tags:
 
 * `latest`: Refers to the latest updates from the main or production branch
-- 
GitLab


From 4cdb5dc341b7255f3ac21f4f2e1bae0ed7a6bc12 Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Wed, 4 May 2022 12:27:13 -0600
Subject: [PATCH 11/11] fix docker push

---
 .gitlab-ci.yml | 20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 2111babe6..7fc13f023 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -104,26 +104,28 @@ default:
       docker build \
         ${BUILD_ARGS} \
         --pull \
-        --tag "${latest_image_name}" \
+        --tag "${env_image_name}" \
         --file "${CI_PROJECT_DIR}/${DOCKERFILE}" \
         "${CI_PROJECT_DIR}/.";
-    - docker push "${latest_image_name}";
+    - docker push "${env_image_name}";
     - |
-      docker tag "${latest_image_name}" "${env_image_name}";
-      docker push "${env_image_name}";
-    - |
-      docker tag "${latest_image_name}" "${sha_image_name}";
+      docker tag "${env_image_name}" "${sha_image_name}";
       docker push "${sha_image_name}";
     - |
-      docker_latest_iamge="usgs/${CI_PROJECT_NAME}:latest";
+      docker_latest_image="usgs/${CI_PROJECT_NAME}:latest";
       docker_env_image="usgs/${CI_PROJECT_NAME}:${ENVIRONMENT}-latest";
 
+      if [[ "${ENVIRONMENT}" != "development" ]]; then
+        docker tag "${env_image_name}" "${latest_image_name}";
+        docker push "${latest_image_name}";
+      fi
+
       if [[ "${PUSH_DOCKER}" == true ]]; then
-        docker tag "${latest_image_name}" "${docker_env_image}";
+        docker tag "${env_image_name}" "${docker_env_image}";
         docker push "${docker_env_image}";
 
         if  [[ "${ENVIRONMENT}" != "development" ]]; then
-          docker tag "${latest_image_name}" "${docker_latest_image}";
+          docker tag "${env_image_name}" "${docker_latest_image}";
           docker push "${docker_latest_image}";
         fi
       fi
-- 
GitLab