Skip to content
Snippets Groups Projects
.gitlab-ci.yml 2.03 KiB
variables:
  JACOCO_HTML_DIR: build/reports/jacoco/test/html
  JUNIT_FILES: build/test-results/test/TEST-*.xml

include:
  - project: 'ghsc/hazdev/pipeline-build-template'
    ref: '1.1.3'
    file: 'templates/library.yml'

stages:
  - build
  - publish

####
# Templates
####

.gradle:
  extends:
    - .tags::development
  stage: build
  image: ${DEVOPS_REGISTRY}usgs/java:11

.docker-build:
  extends:
    - .dind
    - .tags::build
  script:
    - ls
    - pwd
    - ls scripts
    - ls scripts/gitlab-ci
    - scripts/gitlab-ci/docker-build.sh
  stage: build
  variables:
    DOCKER_BUILD_ARGS: |
      BUILD_IMAGE=${DEVOPS_REGISTRY}usgs/java:11
      FROM_IMAGE=${DEVOPS_REGISTRY}usgs/java:11
      ci_job_token=${CI_JOB_TOKEN}
    DOCKERFILE: Dockerfile
    IMAGE_NAME: ${CI_PROJECT_NAME}

####
# Stage: build
####

Build Project:
  extends:
    - .gradle
  script:
    - ./gradlew assemble

Build Lambda:
  extends:
    - .gradle
  script:
    - ./gradlew assemble
    - ./gradlew libs
  artifacts:
    expire_in: 1 yr
    paths:
      - build/libs/nshmp-haz-v2.jar
      - build/libs/nshmp-haz-dependencies.zip

Unit Tests:
  extends:
    - .gradle
  coverage: '/Total.*?([0-9]{1,3})%/'
  script:
    - ./gradlew check
    - cat ${JACOCO_HTML_DIR}/index.html
  artifacts:
    paths:
      - ${JACOCO_HTML_DIR}
    reports:
      junit: ${JUNIT_FILES}

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
####

Maven:
  extends:
    .gradle
  stage: publish
  only:
    - tags@ghsc/nshmp/nshmp-ws
  script:
    - ./gradlew publish -P version=${CI_COMMIT_TAG}

Trigger nshmp-deploy:
  stage: publish
  only:
    - master@ghsc/nshmp/nshmp-haz-v2
    - tags@ghsc/nshmp/nshmp-haz-v2
  script:
    - apk add curl
    - |
      curl -X POST \
          -F token=${NSHMP_DEPLOY_TRIGGER_TOKEN} \
          -F ref=master \
          https://code.chs.usgs.gov/api/v4/projects/5047/trigger/pipeline