Fixing Sonar Jobs for maven projects
[ci-management.git] / jjb / nonrtric-plt-ranpm / nonrtric-plt-ranpm.yaml
index 3fc481d..601c0d8 100644 (file)
     build-node: centos7-builder-1c-1g
     branch: master
     jobs:
-      - gerrit-info-yaml-verify
\ No newline at end of file
+      - gerrit-info-yaml-verify
+
+- _nonrtric-plt-ranpm_common: &nonrtric_plt_ranpm_jdk_common
+    name: nonrtric-plt-ranpm-common
+    # git repo
+    project: nonrtric/plt/ranpm
+    # jenkins job name prefix
+    project-name: nonrtric-plt-ranpm
+    # maven settings file has docker credentials
+    mvn-settings: nonrtric-plt-ranpm-settings
+    mvn-version: mvn36
+    java-version: openjdk17
+
+- project:
+    <<: *nonrtric_plt_ranpm_jdk_common
+    name: nonrtric-plt-ranpm-gerrit-release
+    project-name: nonrtric-plt-ranpm
+    # maven release requires sigul which requires centos
+    # container release requires docker
+    build-node: centos7-docker-2c-8g
+    jobs:
+      - "{project-name}-gerrit-release-jobs"
+
+# Jobs for nonrtric-plt-ranpm-datafilecollector
+- project:
+    <<: *nonrtric_plt_ranpm_jdk_common
+    name: nonrtric-plt-ranpm-datafilecollector-gerrit-maven-docker
+    #job name prefix
+    project-name: nonrtric-plt-ranpm-datafilecollector
+    mvn-params: "-f datafilecollector -Dbuild.number=${{BUILD_NUMBER}}"
+    gerrit_trigger_file_paths:
+      - compare-type: REG_EXP
+        pattern: "datafilecollector/.*"
+    jobs:
+      - gerrit-maven-clm
+      - gerrit-maven-verify-dependencies
+      - gerrit-maven-docker-merge
+      - gerrit-maven-docker-stage
+      - gerrit-maven-docker-verify
+    stream:
+      - master:
+          branch: master
+      - h-release:
+          branch: h-release
+
+# Jobs for nonrtric-plt-ranpm-pmproducer
+- project:
+    <<: *nonrtric_plt_ranpm_jdk_common
+    name: nonrtric-plt-ranpm-pmproducer-gerrit-maven-docker
+    #job name prefix
+    project-name: nonrtric-plt-ranpm-pmproducer
+    mvn-params: "-f pmproducer -Dbuild.number=${{BUILD_NUMBER}}"
+    gerrit_trigger_file_paths:
+      - compare-type: REG_EXP
+        pattern: "pmproducer/.*"
+    jobs:
+      - gerrit-maven-clm
+      - gerrit-maven-verify-dependencies
+      - gerrit-maven-docker-merge
+      - gerrit-maven-docker-stage
+      - gerrit-maven-docker-verify
+    stream:
+      - master:
+          branch: master
+      - h-release:
+          branch: h-release
+
+# Jobs for nonrtric-plt-ranpm-influxlogger
+- project:
+    <<: *nonrtric_plt_ranpm_jdk_common
+    name: nonrtric-plt-ranpm-influxlogger-gerrit-maven-docker
+    #job name prefix
+    project-name: nonrtric-plt-ranpm-influxlogger
+    mvn-params: "-f influxlogger -Dbuild.number=${{BUILD_NUMBER}}"
+    gerrit_trigger_file_paths:
+      - compare-type: REG_EXP
+        pattern: "influxlogger/.*"
+    jobs:
+      - gerrit-maven-clm
+      - gerrit-maven-verify-dependencies
+      - gerrit-maven-docker-merge
+      - gerrit-maven-docker-stage
+      - gerrit-maven-docker-verify
+    stream:
+      - master:
+          branch: master
+      - h-release:
+          branch: h-release
+
+- project:
+    <<: *nonrtric_plt_ranpm_jdk_common
+    name: nonrtric-plt-ranpm-pm-file-converter
+    project-name: "{name}"
+    # image name
+    docker-name: "o-ran-sc/nonrtric-plt-ranpm-pm-file-converter"
+    # get tag from YAML
+    container-tag-method: yaml-file
+    # use host network to clone from our gerrit
+    docker-build-args: "--network=host"
+    # Directory with Dockerfile
+    docker-root: "pm-file-converter"
+    # Directory where go test should be run
+    go-root: "pm-file-converter"
+    gerrit_trigger_file_paths:
+      - compare-type: REG_EXP
+        pattern: "pm-file-converter/.*"
+    build-node: ubuntu1804-docker-4c-4g
+    # Includes verify and merge jobs
+    jobs:
+      - "{project-name}-gerrit-docker-jobs"
+      - gerrit-go-verify
+    stream:
+      - master:
+          branch: master
+      - h-release:
+          branch: h-release
+
+# Jobs for nonrtric-plt-ranpm-pm-file-converter SONAR
+- project:
+    <<: *nonrtric_plt_ranpm_jdk_common
+    name: nonrtric-plt-ranpm-pm-file-converter-sonar
+    project-name: nonrtric-plt-ranpm-pm-file-converter
+    # prescan script requires ubuntu
+    # golang is only on docker-enabled nodes
+    build-node: ubuntu1804-docker-4c-4g
+    gerrit_trigger_file_paths:
+      - compare-type: REG_EXP
+        pattern: "pm-file-converter/.*"
+    sonar-prescan-script: !include-raw-escape: prescan-pm-file-converter-ubuntu.sh
+    sonar-project-file: ""
+    java-version: openjdk11
+    # use sonarcloud values from defaults.yaml
+    sonar-properties: |
+      sonar.login={sonarcloud_api_token}
+      sonar.projectKey={sonarcloud_project_organization}_{project-name}
+      sonar.organization={sonarcloud_project_organization}
+      sonar.projectName={project-name}
+      sonar.build.sourceEncoding=UTF-8
+      sonar.language=go
+      sonar.sources=.
+      sonar.go.coverage.reportPaths=pm-file-converter/coverage.txt
+      sonar.inclusions=pm-file-converter/main.go,pm-file-converter/common/**/**.go,pm-file-converter/components/**/**.go
+      sonar.exclusions=pm-file-converter/components/xmltransform/xmltransform_test.go
+    jobs:
+      - gerrit-sonar-prescan-script
+
+- project:
+    <<: *nonrtric_plt_ranpm_jdk_common
+    name: nonrtric-plt-ranpm-datafilecollector-sonar
+    project-name: nonrtric-plt-ranpm-datafilecollector
+    # template goal install builds docker image unnecessarily
+    mvn-params: "-f datafilecollector -Ddocker.skip=true"
+    gerrit_trigger_file_paths:
+      - compare-type: REG_EXP
+        pattern: "datafilecollector/.*"
+    sonarcloud: true
+    sonarcloud-api-token: "{sonarcloud_api_token}"
+    sonarcloud-project-key: "nonrtric-plt-ranpm-datafilecollector"
+    sonarcloud-project-organization: "{sonarcloud_project_organization}"
+    jobs:
+      - gerrit-maven-sonar