From e26698d3196c2967dcbe91d212c0e7b12d1c6543 Mon Sep 17 00:00:00 2001 From: Brandon Clayton <bclayton@usgs.gov> Date: Tue, 2 Mar 2021 10:30:56 -0700 Subject: [PATCH] add init stage and tasks --- .gitlab-ci.yml | 128 +++++++++++++++++++++++++++++---------------- .gitlab/Dockerfile | 12 ----- 2 files changed, 84 insertions(+), 56 deletions(-) delete mode 100644 .gitlab/Dockerfile diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 0c339a063..c245d4300 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,4 +1,5 @@ variables: + GRADLE_USER_HOME: ${CI_PROJECT_DIR}/tmp/.gradle IMAGE_NAME: ${CODE_REGISTRY_IMAGE}/${CI_PROJECT_NAME} JACOCO_HTML_DIR: build/reports/jacoco/test/html JUNIT_FILES: build/test-results/test/TEST-*.xml @@ -9,10 +10,16 @@ include: file: 'templates/library.yml' stages: - - image + - init - build - publish +# Do not run for merge requests +workflow: + rules: + - if: $CI_COMMIT_TAG + - if: $CI_COMMIT_BRANCH + #### # Templates #### @@ -40,36 +47,56 @@ stages: IMAGE_NAME: ${CI_PROJECT_NAME} #### -# Stage: image +# Stage: init #### -Image: +Init: + artifacts: + paths: + - '${GRADLE_USER_HOME}' extends: - - .dind + - .gradle + script: + - ./gradlew dependencies + stage: init + +#### +# Stage: build +#### + +Build Image Haz: + extends: + - .docker-build + variables: + IMAGE_NAME: nshmp-haz + +Build Image WS: + extends: + - .docker-build + variables: + IMAGE_NAME: nshmp-haz-ws + DOCKERFILE: ws.Dockerfile + +Build Lambda: + artifacts: + expire_in: 1 yr + paths: + - build/libs/nshmp-haz-v2.jar + - build/libs/nshmp-haz-dependencies.zip + extends: + - .gradle rules: - changes: - - .gitlab/Dockerfile + - 'src/**' + - '*gradle*' 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 -#### + - ./gradlew assemble + - ./gradlew libs Build Project: extends: @@ -77,7 +104,8 @@ Build Project: rules: - changes: - - '**/*.java' + - 'src/**' + - '*gradle*' when: on_success - allow_failure: true @@ -85,25 +113,49 @@ Build Project: script: - ./gradlew assemble -Build Lambda: - artifacts: - expire_in: 1 yr - paths: - - build/libs/nshmp-haz-v2.jar - - build/libs/nshmp-haz-dependencies.zip +Markdown Lint: extends: - .gradle rules: - changes: - - '**/*.java' + - '**/*.md' when: on_success - allow_failure: true when: manual script: - - ./gradlew assemble - - ./gradlew libs + - ./gradlew markdownlint; + +Spotbugs Main: + extends: + - .gradle + rules: + - + changes: + - 'src/**' + - '*gradle*' + when: on_success + - + allow_failure: true + when: manual + script: + - ./gradlew spotbugsMain; + +Spotbugs Test: + extends: + - .gradle + rules: + - + changes: + - 'src/**' + - '*gradle*' + when: on_success + - + allow_failure: true + when: manual + script: + - ./gradlew spotbugsTest; Unit Tests: artifacts: @@ -117,7 +169,8 @@ Unit Tests: rules: - changes: - - '**/*.java' + - 'src/**' + - '*gradle*' when: on_success - allow_failure: true @@ -126,19 +179,6 @@ Unit Tests: - ./gradlew check - cat ${JACOCO_HTML_DIR}/index.html -Build Haz Image: - extends: - - .docker-build - variables: - IMAGE_NAME: nshmp-haz - -Build WS Image: - extends: - - .docker-build - variables: - IMAGE_NAME: nshmp-haz-ws - DOCKERFILE: ws.Dockerfile - #### # Stage: Publish #### diff --git a/.gitlab/Dockerfile b/.gitlab/Dockerfile deleted file mode 100644 index 179fc7234..000000000 --- a/.gitlab/Dockerfile +++ /dev/null @@ -1,12 +0,0 @@ -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