Add verification jobs for ccsdk/distribution 62/116262/6
authorLasse Kaihlavirta <l.kaihlavirt@partner.samsung.com>
Wed, 9 Dec 2020 14:30:49 +0000 (16:30 +0200)
committerLasse Kaihlavirta <l.kaihlavirt@partner.samsung.com>
Thu, 10 Dec 2020 14:43:58 +0000 (16:43 +0200)
 - replace existing CCSDK CSIT jobs with project-specific CSIT job
 - add docker snapshot and docker staging jobs - snapshot images are
   still being done with maven, but tagging the images with STAGING
   is moved from maven to plain shell script (both of these have been
   implemented in https://gerrit.onap.org/r/c/ccsdk/distribution/+/116082)
 - add maven docker snapshot job template to support UNIQUE_DOCKER_TAG
 - note that this commit requires
   https://gerrit.onap.org/r/c/ccsdk/distribution/+/116082 to work
   properly in review and merge verification phases!
 - note also that this is not final commit related to this change
   as the maven docker template is still named with -PoC postfix
   and original artifact builds still remain triggered by review
   separately (the latter should be ultimately replaced by or
   included in review and merge verification jobs)

Issue-ID: CCSDK-3018, CCSDK-3019
Signed-off-by: Lasse Kaihlavirta <l.kaihlavirt@partner.samsung.com>
Change-Id: Id4c922e180c9d0ddadae6c99632d6ff6cdcbb59f

jjb/ccsdk/ccsdk-csit.yaml
jjb/ccsdk/distribution.yaml
jjb/ccsdk/tag-ccsdk-distribution-images-staging.sh [new file with mode: 0755]
jjb/integration/integration-maven-jobs.yaml [new file with mode: 0644]

index 676d2f5..ecabee0 100644 (file)
@@ -1,17 +1,22 @@
 ---
 - project:
-    name: ccsdk-csit
+    name: ccsdk-distribution-csit
     jobs:
-      - '{project-name}-{stream}-verify-csit-{functionality}'
-      - '{project-name}-{stream}-csit-{functionality}'
-    project-name: 'ccsdk'
+      - '{project-name}-{stream}-project-csit'
+      - '{project-name}-review-verification-{stream}'
+      - '{project-name}-merge-verification-{stream}'
+    project-name: 'ccsdk-distribution'
     recipients: 'dtimoney@att.com'
+    # project name in gerrit
+    project: 'ccsdk/distribution'
     stream:
       - 'master':
           branch: 'master'
-    functionality:
-      - 'healthcheck':
-          trigger_jobs:
+    artifact-type: 'maven'
+    java-version: openjdk11
+    mvn-version: 'mvn36'
+    mvn-settings: 'ccsdk-distribution-settings'
+    mvn-global-settings: global-settings
     robot-options: ''
     branch: 'master'
 
index a644435..6f0c160 100644 (file)
           cron: '@daily'
       - '{project-name}-gerrit-release-jobs':
           build-node: centos7-docker-8c-8g
+      - gerrit-maven-docker-snapshot-PoC:
+          build-node: ubuntu1804-docker-8c-8g
+          container-public-registry: 'nexus3.onap.org:10001'
+          container-snapshot-registry: 'nexus3.onap.org:10003'
+          mvn-params: '-Dmaven.test.skip=true -P docker'
+          maven-versions-plugin: true
+      - '{project-name}-{stream}-docker-staging':
+          script:
+            !include-raw-escape: 'tag-ccsdk-distribution-images-staging.sh'
+
     project: 'ccsdk/distribution'
     stream:
       - 'master':
diff --git a/jjb/ccsdk/tag-ccsdk-distribution-images-staging.sh b/jjb/ccsdk/tag-ccsdk-distribution-images-staging.sh
new file mode 100755 (executable)
index 0000000..b965cfe
--- /dev/null
@@ -0,0 +1,8 @@
+#!/bin/bash
+
+echo '=========== CALLING SCRIPT TO TAG DOCKER IMAGES AS STAGING ==========='
+echo "=========== Unique docker tag: ${UNIQUE_DOCKER_TAG}"
+
+chmod 755 ./deployment/*.sh
+cd ./deployment
+./tag-docker-staging.sh
diff --git a/jjb/integration/integration-maven-jobs.yaml b/jjb/integration/integration-maven-jobs.yaml
new file mode 100644 (file)
index 0000000..5c7a503
--- /dev/null
@@ -0,0 +1,140 @@
+- integration_maven_common: &integration_maven_common
+    name: integration-maven-common
+
+    ######################
+    # Default parameters #
+    ######################
+
+    archive-artifacts: >
+      **/*.log
+      **/hs_err_*.log
+      **/target/**/feature.xml
+      **/target/failsafe-reports/failsafe-summary.xml
+      **/target/surefire-reports/*-output.txt
+
+    #####################
+    # Job Configuration #
+    #####################
+
+    project-type: freestyle
+    node: "{build-node}"
+
+    properties:
+      - lf-infra-properties:
+          build-days-to-keep: "{build-days-to-keep}"
+
+    parameters:
+      - lf-infra-parameters:
+          project: "{project}"
+          branch: "{branch}"
+          stream: "{stream}"
+      - lf-infra-maven-parameters:
+          mvn-opts: "{mvn-opts}"
+          mvn-params: "{mvn-params}"
+          mvn-version: "{mvn-version}"
+      - string:
+          name: ARCHIVE_ARTIFACTS
+          default: "{archive-artifacts}"
+          description: Artifacts to archive to the logs server.
+
+    scm:
+      - lf-infra-gerrit-scm:
+          jenkins-ssh-credential: "{jenkins-ssh-credential}"
+          git-url: "{git-url}"
+          refspec: "$GERRIT_REFSPEC"
+          branch: "$GERRIT_BRANCH"
+          submodule-recursive: "{submodule-recursive}"
+          submodule-timeout: "{submodule-timeout}"
+          submodule-disable: "{submodule-disable}"
+          choosing-strategy: default
+
+    wrappers:
+      - lf-infra-wrappers:
+          build-timeout: "{build-timeout}"
+          jenkins-ssh-credential: "{jenkins-ssh-credential}"
+
+    publishers:
+      - lf-infra-publish
+
+#############################
+# Maven Snapshot for Docker #
+#############################
+
+- integration_maven_docker_snapshot: &integration_maven_docker_snapshot
+    name: integration-maven-docker-snapshot
+
+    builders:
+      - lf-infra-pre-build
+      - lf-jacoco-nojava-workaround
+      - lf-maven-install:
+          mvn-version: "{mvn-version}"
+      - lf-update-java-alternatives:
+          java-version: "{java-version}"
+      - lf-infra-docker-login:
+          global-settings-file: "{mvn-global-settings}"
+          settings-file: "{mvn-settings}"
+      # must provide maven settings AFTER docker-login due to its cleanup
+      - lf-provide-maven-settings:
+          global-settings-file: "{mvn-global-settings}"
+          settings-file: "{mvn-settings}"
+      - lf-maven-versions-plugin:
+          maven-versions-plugin: "{maven-versions-plugin}"
+          version-properties-file: "{version-properties-file}"
+          mvn-version: "{mvn-version}"
+          mvn-pom: "{mvn-pom}"
+          mvn-settings: "{mvn-settings}"
+      - inject:
+          properties-content: |
+            CONTAINER_PULL_REGISTRY={container-public-registry}
+            CONTAINER_PUSH_REGISTRY={container-snapshot-registry}
+      - lf-maven-build:
+          mvn-goals: "{mvn-goals}"
+      - lf-sigul-sign-dir:
+          sign-artifacts: "{sign-artifacts}"
+          sign-dir: "$WORKSPACE/m2repo"
+          sign-mode: "{sign-mode}"
+      - lf-provide-maven-settings-cleanup
+
+- job-template:
+    name: "{project-name}-{stream}-maven-docker-snapshot"
+    id: gerrit-maven-docker-snapshot-PoC
+    <<: *integration_maven_common
+    # yamllint disable-line rule:key-duplicates
+    <<: *integration_maven_docker_snapshot
+
+    ######################
+    # Default parameters #
+    ######################
+
+    branch: master
+    build-days-to-keep: 30 # 30 days in case a release takes long to get approved.
+    build-timeout: 60
+    disable-job: false
+    git-url: "$GIT_URL/$PROJECT"
+    github-url: "https://github.com"
+    java-version: openjdk8
+    maven-versions-plugin: false
+    version-properties-file: version.properties
+    mvn-central: false
+    mvn-global-settings: global-settings
+    mvn-goals: clean deploy
+    mvn-opts: ""
+    mvn-params: ""
+    mvn-version: mvn35
+    ossrh-profile-id: ""
+    mvn-pom: ""
+    sign-artifacts: false
+    sign-mode: serial
+    stream: master
+    submodule-recursive: true
+    submodule-timeout: 10
+    submodule-disable: false
+
+    parameters:
+      - infra-parameters:
+          project: '{project}'
+          branch: '{branch}'
+          refspec: 'refs/heads/{branch}'
+          artifacts: '{archive-artifacts}'
+      - integration-unique-docker-tag:
+          unique-docker-tag: ''