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