Remove netide carbon jobs
[releng/builder.git] / jjb / releng-templates-java.yaml
index 3a118cf8924994ca7f5ae799453db6167fcd10cf..3f001989e03f86ceb4dfe49d45be272709dfb94e 100644 (file)
@@ -1,85 +1,48 @@
 ---
-- job-template:
-    # Template used for running CLM scans
-    # Arguements:
-    #   {name}         - Project Shortname
-    #   {project}      - Fully qualified project name
-    #   {mvn-settings} - Project maven settings file
-    #   {stream}
-    #   {jdk}
-    name: '{project-name}-clm-{stream}'
-
-    project-type: freestyle
-    node: '{build-node}'
-    jdk: '{jdk}'
-
-    properties:
-      - opendaylight-infra-properties:
-          build-days-to-keep: '{build-days-to-keep}'
-
-    parameters:
-      - opendaylight-infra-parameters:
-          os-cloud: '{os-cloud}'
-          project: '{project}'
-          branch: '{branch}'
-          refspec: 'refs/heads/{branch}'
-          artifacts: '{archive-artifacts}'
-
-    scm:
-      - git-scm:
-          refspec: ''
-          branch: '{branch}'
-
-    wrappers:
-      - opendaylight-infra-wrappers:
-          build-timeout: '{build-timeout}'
-
-    triggers:
-      - timed: 'H H * * 6'
-
-    builders:
-      - provide-maven-settings:
-          global-settings-file: 'global-settings'
-          settings-file: '{mvn-settings}'
-      - maven-target:
-          maven-version: 'mvn33'
-          pom: 'pom.xml'
-          goals: |
-              clean install dependency:tree com.sonatype.clm:clm-maven-plugin:index
-              -Pq
-              {opendaylight-infra-mvn-opts}
-          java-opts:
-            - '-Xmx4096m -XX:MaxPermSize=512m'
-          settings: '{mvn-settings}'
-          settings-type: cfp
-          global-settings: 'global-settings'
-          global-settings-type: cfp
-      - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
-      - check-clm:
-          application-name: '{project-name}'
-
-    publishers:
-      - email-notification:
-          email-recipients: '{email-recipients}'
-          email-prefix: '[{project-name}]'
-      - lf-infra-publish
+- job-group:
+    name: odl-maven-jobs
+
+    jobs:
+      - gerrit-maven-clm
+
+      # TODO: Figure out what's wrong with the gerrit-maven-merge job.
+      # - gerrit-maven-merge:
+      #     post_build_trigger:
+      #       - project:
+      #           - 'distribution-merge-{stream}'
+      #         condition: SUCCESS
+      #         trigger-with-no-params: true
+      - '{project-name}-merge-{stream}':
+          build-timeout: 180
+          mvn-goals: clean install -V -Dmaven.compile.fork=true -Dintegrationtests -Dvtn.build.jobs=2
+
+      - gerrit-maven-release
+      - gerrit-maven-verify
+      - gerrit-maven-verify-dependencies:
+          build-timeout: 180
 
 - job-template:
     name: '{project-name}-integration-{stream}'
 
-    # Job template for ODL integration verify jobs
-    #
-    # This is similar to a normal verify job, but it runs
-    # when a project that's a dependency of your project
-    # is successfully built.
-    #
-    # Required Variables:
-    #     stream:    release stream (eg. boron or carbon)
-    #     branch:    git branch (eg. stable/boron or master)
+    ######################
+    # Default parameters #
+    ######################
+
+    archive-artifacts: >
+      **/*.log
+      **/hs_err_*.log
+      **/target/**/feature.xml
+      **/target/failsafe-reports/failsafe-summary.xml
+      **/target/surefire-reports/*-output.txt
+    mvn-goals: clean install
+
+    #####################
+    # Job Configuration #
+    #####################
 
     project-type: freestyle
     node: '{build-node}'
-    jdk: '{jdk}'
+    jdk: '{java-version}'
 
     properties:
       - opendaylight-infra-properties:
           global-settings-file: 'global-settings'
           settings-file: '{mvn-settings}'
       - maven-target:
-          maven-version: 'mvn33'
+          maven-version: 'mvn35'
           goals: |
               {mvn-goals}
               {opendaylight-infra-mvn-opts}
           email-recipients: '{email-recipients}'
           email-prefix: '{email-upstream}'
       - findbugs
-      - jacoco-report
+      - lf-jacoco-report
       - lf-infra-publish
 
 - job-template:
     name: '{project-name}-merge-{stream}'
 
-    # Job template for ODL merge jobs
-    #
-    # The purpose of this job template is to setup a ODL merge job
-    # and deploy artifacts to Nexus.
-    #
-    # Required Variables:
-    #     stream:    release stream (eg. boron or carbon)
-    #     branch:    git branch (eg. stable/boron or master)
+    ######################
+    # Default parameters #
+    ######################
+
+    archive-artifacts: >
+      **/*.log
+      **/hs_err_*.log
+      **/target/**/feature.xml
+      **/target/failsafe-reports/failsafe-summary.xml
+      **/target/surefire-reports/*-output.txt
+    cron: 'H H * * 0'
+    mvn-opts: ''
+    mvn-version: mvn35
+    java-version: openjdk8
+
+    #####################
+    # Job Configuration #
+    #####################
 
     # Need to keep jobs that deploy to Nexus at end of build as Maven
     # projects. Maybe reconsider this once upstream moves deploy to a
     #     https://issues.apache.org/jira/browse/MNG-5666
     project-type: maven
     node: '{build-node}'
-    jdk: '{jdk}'
+    jdk: '{java-version}'
 
     properties:
       - opendaylight-infra-properties:
           build-timeout: '{build-timeout}'
 
     triggers:
-      - timed: 'H H * * 0'
+      - timed: '{obj:cron}'
       - gerrit-trigger-patch-merged:
-          server-name: '{server-name}'
+          gerrit-server-name: '{gerrit-server-name}'
           name: '{project}'
           branch: '{branch}'
 
       - provide-maven-settings:
           global-settings-file: 'global-settings'
           settings-file: '{mvn-settings}'
+      - lf-maven-install:
+          mvn-version: '{mvn-version}'
 
     # TODO: Do we want to apply sophisticated checks as in *-distribution-check-*?
     maven:
-      maven-name: 'mvn33'
+      maven-name: '{mvn-version}'
       goals: >
           {mvn-goals}
           -Dmerge
       global-settings-type: cfp
       post-step-run-condition: UNSTABLE
 
-    postbuilders:
-      - conditional-step:
-          condition-kind: file-exists
-          condition-filename: deploy-site.xml
-          condition-basedir: workspace
-
-          # The strategy here is intentional to run Maven site:deploy twice
-          # once using regular pom.xml to produce a staged-site which is
-          # then used by deploy-site.xml to push to Nexus. This is a
-          # workaround to Maven Site's default linking code which creates
-          # incorrect URLs for sites due to auto-detection assuming your
-          # project is configured in a certain way which ODL is not.
-          steps:
-            - maven-target:
-                maven-version: 'mvn33'
-                pom: pom.xml
-                goals: 'site:deploy -V -B -Dstream={stream}'
-                java-opts:
-                  - '-Xmx2g'
-                settings: '{mvn-settings}'
-                settings-type: cfp
-                global-settings: 'global-settings'
-                global-settings-type: cfp
-            - opendaylight-infra-deploy-maven-site:
-                settings-file: '{mvn-settings}'
-
     reporters:
       - findbugs
 
           id: ''
           unique-version: true
           deploy-unstable: false
-      - jacoco-report
+      - lf-jacoco-report
       - lf-infra-publish
       - trigger:
           project: 'distribution-merge-{stream}'
           threshold: SUCCESS
-
-- job-template:
-    name: '{project-name}-sonar'
-    disabled: false
-
-    project-type: freestyle
-    node: '{build-node}'
-    jdk: 'openjdk8'
-
-    properties:
-      - opendaylight-infra-properties:
-          build-days-to-keep: 7
-
-    parameters:
-      - opendaylight-infra-parameters:
-          os-cloud: '{os-cloud}'
-          project: '{project}'
-          branch: '{branch}'
-          refspec: 'refs/heads/{branch}'
-          artifacts: '{archive-artifacts}'
-
-    scm:
-      - git-scm:
-          refspec: ''
-          branch: 'master'
-
-    wrappers:
-      - opendaylight-infra-wrappers:
-          build-timeout: '{build-timeout}'
-
-    triggers:
-      - timed: 'H H * * 6'
-      - gerrit-trigger-patch-sonar:
-          server-name: '{server-name}'
-          name: '{project}'
-          # FIXME: Make sure this does not alter Gerrit votes, then update docs.
-
-    builders:
-      - jacoco-nojava-workaround
-      - provide-maven-settings:
-          global-settings-file: 'global-settings'
-          settings-file: '{mvn-settings}'
-      - maven-target:
-          maven-version: 'mvn33'
-          goals: |
-              {mvn-goals}
-              -Dsonar
-              {opendaylight-infra-mvn-opts}
-          maven-opts:
-            - '{mvn-opts}'
-          settings: '{mvn-settings}'
-          settings-type: cfp
-          global-settings: 'global-settings'
-          global-settings-type: cfp
-      - maven-target:
-          maven-version: 'mvn33'
-          # We should switch to the recommended configuration of sonar once
-          # JJB adds support for configurating the Sonar wrapper:
-          #    http://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner+for+Jenkins
-          goals: |
-              sonar:sonar
-              -Dsonar
-              -Dsonar.host.url=https://sonar.opendaylight.org
-              {opendaylight-infra-mvn-opts}
-          maven-opts:
-            - '{mvn-opts}'
-          settings: '{mvn-settings}'
-          settings-type: cfp
-          global-settings: 'global-settings'
-          global-settings-type: cfp
-
-    publishers:
-      - email-notification:
-          email-recipients: '{email-recipients}'
-          email-prefix: '[{project-name}]'
-      - jacoco-report
-      - findbugs
-      - lf-infra-publish
-
-- job-template:
-    name: '{project-name}-validate-autorelease-{stream}'
-    disabled: false
-
-    project-type: freestyle
-    node: '{build-node}'
-    concurrent: true
-    jdk: '{jdk}'
-
-    properties:
-      - opendaylight-infra-properties:
-          build-days-to-keep: 7
-
-    parameters:
-      - opendaylight-infra-parameters:
-          os-cloud: '{os-cloud}'
-          project: '{project}'
-          branch: '{branch}'
-          refspec: 'refs/heads/{branch}'
-          artifacts: '{archive-artifacts}'
-      - autorelease-release-tag:
-          release-tag: 'validate'
-      - string:
-          name: CLONE_URL
-          default: '{git-url}/releng/autorelease'
-          description: "Autorelease clone URL"
-
-    scm:
-      - git:
-          url: '$CLONE_URL'
-          credentials-id: 'opendaylight-jenkins-ssh'
-          refspec: ''
-          branches:
-            - 'origin/{branch}'
-          skip-tag: true
-          submodule:
-            recursive: true
-            timeout: 60
-
-    wrappers:
-      - opendaylight-infra-wrappers:
-          build-timeout: '{build-timeout}'
-
-    triggers:
-      - gerrit-trigger-patch-submitted:
-          server: '{server-name}'
-          project: '{project}'
-          branch: '{branch}'
-          files: '**/*.xml'
-
-    builders:
-      - jacoco-nojava-workaround
-      - autorelease-checkout-gerrit-patch
-      - autorelease-generate-release-patches
-      # In a perfect world projects should be releasing separately and we consume them
-      # via a project that pulls the release bits from each project from Nexus.
-      # Keep the patches compatible with that ideal, but apply an edit
-      # to enable building in a single maven reactor afterwards.
-      - autorelease-fix-relative-paths
-      - maven-target:
-          maven-version: 'mvn33'
-          pom: validate-pom.xml
-          goals: |
-              clean install dependency:tree
-              -T1.5C
-              -Pq
-              {opendaylight-infra-mvn-opts}
-          java-opts:
-            - '-Xmx8g'
-          settings: 'autorelease-settings'
-          settings-type: cfp
-          global-settings: 'global-settings'
-          global-settings-type: cfp
-      - maven-target:
-          maven-version: 'mvn33'
-          pom: 'pom.xml'
-          goals: |
-              clean validate
-              -Pq
-              {opendaylight-infra-mvn-opts}
-          java-opts:
-            - '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
-          settings: 'autorelease-settings'
-          settings-type: cfp
-          global-settings: 'global-settings'
-          global-settings-type: cfp
-
-    publishers:
-      - email-notification:
-          email-recipients: '{email-recipients}'
-          email-prefix: '[autorelease] [{project-name}]'
-      - lf-infra-publish
-
-- job-template:
-    name: '{project-name}-verify-{stream}-{maven}-{jdks}'
-
-    # Job template for ODL verify jobs
-    #
-    # The purpose of this job template is to setup a ODL verify job
-    #
-    # Required Variables:
-    #     stream:    release stream (eg. boron or carbon)
-    #     branch:    git branch (eg. stable/boron or master)
-
-    project-type: freestyle
-    node: '{build-node}'
-    concurrent: true
-    jdk: '{jdks}'
-
-    properties:
-      - opendaylight-infra-properties:
-          build-days-to-keep: 7
-
-    parameters:
-      - opendaylight-infra-parameters:
-          os-cloud: '{os-cloud}'
-          project: '{project}'
-          branch: '{branch}'
-          refspec: 'refs/heads/{branch}'
-          artifacts: '{archive-artifacts}'
-
-    scm:
-      - gerrit-trigger-scm:
-          refspec: '$GERRIT_REFSPEC'
-          choosing-strategy: 'gerrit'
-
-    wrappers:
-      - opendaylight-infra-wrappers:
-          build-timeout: '{build-timeout}'
-
-    triggers:
-      - gerrit-trigger-patch-submitted:
-          server: '{server-name}'
-          project: '{project}'
-          branch: '{branch}'
-          files: '**'
-
-    builders:
-      - jacoco-nojava-workaround
-      - provide-maven-settings:
-          global-settings-file: 'global-settings'
-          settings-file: '{mvn-settings}'
-      - maven-target:
-          maven-version: '{mvn-version}'
-          goals: |
-              {mvn-goals}
-              -Dstream={stream}
-              {opendaylight-infra-mvn-opts}
-          java-opts:
-            - '{mvn-opts}'
-          settings: '{mvn-settings}'
-          settings-type: cfp
-          global-settings: 'global-settings'
-          global-settings-type: cfp
-
-    publishers:
-      - findbugs
-      - email-notification:
-          email-recipients: '{email-recipients}'
-          email-prefix: '[{project-name}]'
-      - jacoco-report
-      - lf-infra-publish