fix(hicn.yaml): fix triggers for build/ftest jobs
[ci-management.git] / jjb / hicn / hicn.yaml
index 4a998bf..7506119 100644 (file)
@@ -1,70 +1,76 @@
+# Copyright (c) 2021 Cisco and/or its affiliates.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at:
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
 ---
 - project:
-    name: hicn
+    name: hicn-x86_64
     jobs:
-      - 'hicn-verify-{stream}-{os}'
-      - 'hicn-merge-{stream}-{os}'
-
-    project: 'hicn'
-    os:
-      - ubuntu1804:
-          repo-os-part: 'ubuntu.bionic.main'
-      - ubuntu1604:
-          repo-os-part: 'ubuntu.xenial.main'
-      - centos7:
-          repo-os-part: 'centos7'
-
+      - "hicn-verify-build-{stream}-{os}-{executor-arch}"
+      - "hicn-verify-functest-{stream}-{os}-{executor-arch}"
+      - "hicn-merge-{stream}-{os}-{executor-arch}"
+    project: "hicn"
+    os: ubuntu2004
+    executor-arch: "x86_64"
     stream:
-      - master:
-          branch: 'master'
-          repo-stream-part: 'master'
-
-    type:
-      - short
-      - long
+      - hicn:
+          branch: "master"
 
 - project:
-    name: hicn-arm
+    name: hicn-aarch64
     jobs:
-      - 'hicn-arm-verify-{stream}-{os}'
-      - 'hicn-arm-merge-{stream}-{os}'
-
-    project: 'hicn'
-    os:
-      - ubuntu1804:
-          repo-os-part: 'ubuntu-arm.bionic.main'
-
+      - "hicn-verify-build-{stream}-{os}-{executor-arch}"
+      - "hicn-merge-{stream}-{os}-{executor-arch}"
+    project: "hicn"
+    os: ubuntu2004
+    executor-arch: "aarch64"
     stream:
-      - master:
-          branch: 'master'
-          repo-stream-part: 'master'
-
-    type:
-      - short
-      - long
+      - hicn:
+          branch: "master"
 
 - project:
     name: hicn-misc
     jobs:
-      - 'hicn-checkstyle-verify-{stream}'
-    project: 'hicn'
+      - "hicn-checkstyle-verify-{stream}-{os}-{executor-arch}"
+    project: "hicn"
     stream:
-      - master:
-          branch: 'master'
-          repo-stream-part: 'master'
-    os: ubuntu1604
+      - hicn:
+          branch: "master"
+    os: ubuntu2004
+    executor-arch: "x86_64"
 
 - project:
-    name: hicn-sysrepo
+    name: hicn-extras-x86_64
     jobs:
-      - 'hicn-sysrepo-plugin-verify-{stream}'
-      - 'hicn-sysrepo-plugin-merge-{stream}'
-    project: 'hicn'
+      - "hicn-extras-verify-{stream}-{os}-{executor-arch}"
+      - "hicn-extras-build-{stream}-{os}-{executor-arch}"
+    project: "hicn"
+    os: ubuntu2004
+    executor-arch: "x86_64"
     stream:
-      - master:
-          branch: 'master'
-          repo-stream-part: 'master'
-    os: ubuntu1804
+      - hicn:
+          branch: "master"
+
+- project:
+    name: hicn-extras-aarch64
+    jobs:
+      - "hicn-extras-verify-{stream}-{os}-{executor-arch}"
+      - "hicn-extras-build-{stream}-{os}-{executor-arch}"
+    project: "hicn"
+    os: ubuntu2004
+    executor-arch: "aarch64"
+    stream:
+      - hicn:
+          branch: "master"
 
 - project:
     name: hicn-view
       - project-view
     project-name: hicn
 
+- project:
+    name: hicn-sonar
+    jobs:
+      - hicn-sonar-scanner
+    project: hicn
+    sonarcloud: true
+    sonarcloud-project-organization: "{sonarcloud_project_organization}"
+    sonarcloud-api-token: "{sonarcloud_api_token}"
+    sonarcloud-project-key: "{sonarcloud_project_organization}-{project}"
+    stream:
+      - hicn:
+          branch: "master"
+
+- job-template:
+    name: hicn-sonar-scanner
+
+    project-type: freestyle
+    node: centos7-docker-4c-4g
+    concurrent: true
+
+    parameters:
+      - project-parameter:
+          project: "{project}"
+      - gerrit-parameter:
+          branch: "{branch}"
+      - stream-parameter:
+          stream: "{stream}"
+
+    scm:
+      - gerrit-trigger-scm:
+          credentials-id: "jenkins-gerrit-credentials"
+          refspec: ""
+          choosing-strategy: "default"
+
+    wrappers:
+      - fdio-infra-wrappers:
+          build-timeout: "{build-timeout}"
+
+    triggers:
+      - gerrit-trigger-patch-merged:
+          name: "{project}"
+          branch: "{branch}"
+
+    builders:
+      - inject:
+          properties-content: |
+            SONAR_HOST_URL=https://sonarcloud.io
+            PROJECT_KEY={sonarcloud-project-key}
+            PROJECT_ORGANIZATION={sonarcloud-project-organization}
+            API_TOKEN={sonarcloud-api-token}
+      - shell: !include-raw-escape:
+          - ../scripts/hicn/sonar.sh
+
 - job-template:
-    name: 'hicn-checkstyle-verify-{stream}'
+    name: "hicn-checkstyle-verify-{stream}-{os}-{executor-arch}"
 
     project-type: freestyle
-    node: '{os}-us'
+    node: "builder-{os}-prod-{executor-arch}"
     concurrent: true
-    archive-artifacts: '**/tmp/hicn-failed-unittests/*/* **/core'
 
-    build-discarder:
-      daysToKeep: '{build-days-to-keep}'
-      numToKeep: '{build-num-to-keep}'
-      artifactDaysToKeep: '{build-artifact-days-to-keep}'
-      artifactNumToKeep: '{build-artifact-num-to-keep}'
+    properties:
+      - lf-infra-properties:
+          build-days-to-keep: "{build-days-to-keep}"
 
     parameters:
       - project-parameter:
-          project: '{project}'
+          project: "{project}"
       - gerrit-parameter:
-          branch: '{branch}'
+          branch: "{branch}"
       - os-parameter:
-          os: '{os}'
-      - repo-name-parameter:
-          repo-name: '{repo-stream-part}.ubuntu.xenial.main'
-      - string:
-          name: ARCHIVE_ARTIFACTS
-          default: '{archive-artifacts}'
-          description: Artifacts to archive to the logs server.
+          os: "{os}"
 
     scm:
       - gerrit-trigger-scm:
-          credentials-id: 'jenkins-gerrit-credentials'
-          refspec: '$GERRIT_REFSPEC'
-          choosing-strategy: 'gerrit'
+          credentials-id: "jenkins-gerrit-credentials"
+          refspec: "$GERRIT_REFSPEC"
+          choosing-strategy: "gerrit"
 
     wrappers:
       - fdio-infra-wrappers:
-          build-timeout: '{build-timeout}'
+          build-timeout: "{build-timeout}"
 
     triggers:
       - gerrit:
-          server-name: 'Primary'
+          server-name: "Primary"
           trigger-on:
             - patchset-created-event:
-                exclude-drafts: 'true'
-                exclude-trivial-rebase: 'false'
-                exclude-no-code-change: 'true'
+                exclude-drafts: "true"
+                exclude-trivial-rebase: "false"
+                exclude-no-code-change: "true"
             - draft-published-event
             - comment-added-contains-event:
-                comment-contains-value: 'checkstylecheck'
+                comment-contains-value: "checkstylecheck"
             - comment-added-contains-event:
-                comment-contains-value: 'docsonly'
+                comment-contains-value: "docsonly"
             - comment-added-contains-event:
-                comment-contains-value: 'recheck'
+                comment-contains-value: "recheck"
             - comment-added-contains-event:
-                comment-contains-value: 'reverify'
+                comment-contains-value: "reverify"
           projects:
-            - project-compare-type: 'ANT'
-              project-pattern: '{project}'
+            - project-compare-type: "ANT"
+              project-pattern: "{project}"
               branches:
-                - branch-compare-type: 'ANT'
-                  branch-pattern: '**/{branch}'
+                - branch-compare-type: "ANT"
+                  branch-pattern: "**/{branch}"
               file-paths:
                 - compare-type: REG_EXP
                   pattern: ^((?!\/COMMIT_MSG|docs|_abc|_def[\/\.]).)*$
-              disable-strict-forbidden-file-verification: 'true'
+              disable-strict-forbidden-file-verification: "true"
           override-votes: true
           gerrit-build-notbuilt-verified-value: 0
           gerrit-build-successful-verified-value: 1
           # yamllint disable-line rule:line-length
-          notbuilt-message: 'Automatic retry of failed jobs may be in process. A proper vote should be set when retry completes.'
+          notbuilt-message: "Automatic retry of failed jobs may be in process. A proper vote should be set when retry completes."
           # yamllint disable-line rule:line-length
-          failed-message: 'Checkstyle failed. No further verify jobs will be started.'
-          successful-message: 'checkstyle_success'
+          failed-message: "Checkstyle failed. No further verify jobs will be started."
+          successful-message: "checkstyle_success"
           skip-vote:
             successful: true
             failed: false
             notbuilt: false
 
     builders:
-      - shell:
-          !include-raw-escape: include-raw-hicn-checkstyle.sh
+      - shell: !include-raw-escape:
+          - ../scripts/setup_executor_env.sh
+      - shell: !include-raw-escape:
+          - ../scripts/hicn/checkstyle.sh
 
     publishers:
-      - fdio-infra-shiplogs:
-          maven-version: 'mvn33-new'
+      - fdio-infra-publish
       - naginator:
           rerun-unstable-builds: true
           max-failed-builds: 1
           fixed-delay: 90
 
 - job-template:
-    name: 'hicn-verify-{stream}-{os}'
+    name: "hicn-verify-build-{stream}-{os}-{executor-arch}"
 
     project-type: freestyle
-    node: '{os}-us'
+    node: "builder-{os}-prod-{executor-arch}"
     concurrent: true
-    archive-artifacts: >
-      **/build/*.rpm,
-      **/build/*.deb
-    allow-empty: 'true'
-    fingerprint: false
-    only-if-success: true
-    default-excludes: false
-
-    build-discarder:
-      daysToKeep: '{build-days-to-keep}'
-      numToKeep: 100
-      artifactDaysToKeep: '{build-artifact-days-to-keep}'
-      artifactNumToKeep: '{build-artifact-num-to-keep}'
+
+    properties:
+      - lf-infra-properties:
+          build-days-to-keep: "{build-days-to-keep}"
 
     parameters:
       - project-parameter:
-          project: '{project}'
+          project: "{project}"
       - gerrit-parameter:
-          branch: '{branch}'
+          branch: "{branch}"
       - os-parameter:
-          os: '{os}'
-      - repo-name-parameter:
-          repo-name: '{repo-stream-part}.{repo-os-part}'
+          os: "{os}"
       - stream-parameter:
-          stream: '{stream}'
-      - string:
-          name: ARCHIVE_ARTIFACTS
-          default: '{archive-artifacts}'
-          description: Artifacts to archive to the logs server.
+          stream: "{stream}"
 
     scm:
       - gerrit-trigger-scm:
-          credentials-id: 'jenkins-gerrit-credentials'
-          refspec: '$GERRIT_REFSPEC'
-          choosing-strategy: 'gerrit'
+          credentials-id: "jenkins-gerrit-credentials"
+          refspec: "$GERRIT_REFSPEC"
+          choosing-strategy: "gerrit"
 
     wrappers:
       - fdio-infra-wrappers:
           build-timeout: 120
 
     triggers:
-      - gerrit-trigger-checkstyle:
-          name: '{project}'
-          branch: '{branch}'
+      - gerrit:
+          server-name: "Primary"
+          trigger-on:
+            - comment-added-contains-event:
+                comment-contains-value: "checkstyle_success"
+          projects:
+            - project-compare-type: "ANT"
+              project-pattern: "{project}"
+              branches:
+                - branch-compare-type: "ANT"
+                  branch-pattern: "**/{branch}"
+          override-votes: true
+          gerrit-build-notbuilt-verified-value: 0
+          gerrit-build-successful-verified-value: 1
+          # yamllint disable-line rule:line-length
+          notbuilt-message: "Automatic retry of failed jobs may be in process. A proper vote should be set when retry completes."
+          # yamllint disable-line rule:line-length
+          failed-message: "Build failed. No further verify jobs will be started."
+          successful-message: "build_success"
+          skip-vote:
+            successful: true
+            failed: false
+            unstable: false
+            notbuilt: false
 
     builders:
-      - shell:
-          !include-raw-escape:
-          - include-raw-hicn-build.sh
+      - shell: !include-raw-escape:
+          - ../scripts/setup_executor_env.sh
+      - shell: !include-raw-escape:
+          - ../scripts/hicn/build.sh
 
     publishers:
-      - fdio-infra-shiplogs:
-          maven-version: 'mvn33-new'
+      - fdio-infra-publish
 
 - job-template:
-    name: 'hicn-arm-verify-{stream}-{os}'
+    name: "hicn-verify-functest-{stream}-{os}-{executor-arch}"
 
     project-type: freestyle
-    node: '{os}arm-us'
+    node: "centos7-docker-4c-4g"
     concurrent: true
-    archive-artifacts: >
-      **/build/*.deb
-    allow-empty: 'true'
-    fingerprint: false
-    only-if-success: true
-    default-excludes: false
-
-    build-discarder:
-      daysToKeep: '{build-days-to-keep}'
-      numToKeep: 100
-      artifactDaysToKeep: '{build-artifact-days-to-keep}'
-      artifactNumToKeep: '{build-artifact-num-to-keep}'
+
+    properties:
+      - lf-infra-properties:
+          build-days-to-keep: "{build-days-to-keep}"
 
     parameters:
       - project-parameter:
-          project: '{project}'
+          project: "{project}"
       - gerrit-parameter:
-          branch: '{branch}'
+          branch: "{branch}"
       - os-parameter:
-          os: '{os}'
-      - repo-name-parameter:
-          repo-name: '{repo-stream-part}.{repo-os-part}'
+          os: "{os}"
       - stream-parameter:
-          stream: '{stream}'
-      - string:
-          name: ARCHIVE_ARTIFACTS
-          default: '{archive-artifacts}'
-          description: Artifacts to archive to the logs server.
+          stream: "{stream}"
 
     scm:
       - gerrit-trigger-scm:
-          credentials-id: 'jenkins-gerrit-credentials'
-          refspec: '$GERRIT_REFSPEC'
-          choosing-strategy: 'gerrit'
+          credentials-id: "jenkins-gerrit-credentials"
+          refspec: "$GERRIT_REFSPEC"
+          choosing-strategy: "gerrit"
 
     wrappers:
       - fdio-infra-wrappers:
           build-timeout: 120
 
     triggers:
-      - gerrit-trigger-checkstyle:
-          name: '{project}'
-          branch: '{branch}'
+      - gerrit-trigger-build:
+          name: "{project}"
+          branch: "{branch}"
 
     builders:
-      - shell:
-          !include-raw-escape:
-          - include-raw-hicn-build.sh
+      - shell: !include-raw-escape:
+          - ../scripts/hicn/functest.sh
 
     publishers:
-      - fdio-infra-shiplogs:
-          maven-version: 'mvn33-new'
+      - robot-report:
+          output-path: "tests"
 
 - job-template:
-    name: 'hicn-merge-{stream}-{os}'
+    name: "hicn-merge-{stream}-{os}-{executor-arch}"
 
     project-type: freestyle
-    node: '{os}-us'
-    archive-artifacts: >
-      **/build/*.rpm,
-      **/build/*.deb
-    allow-empty: 'true'
-    fingerprint: false
-    only-if-success: true
-    default-excludes: false
-
-    build-discarder:
-      daysToKeep: '{build-days-to-keep}'
-      numToKeep: 100
-      artifactDaysToKeep: '{build-artifact-days-to-keep}'
-      artifactNumToKeep: '{build-artifact-num-to-keep}'
-
-    parameters:
-      - project-parameter:
-          project: '{project}'
-      - gerrit-parameter:
-          branch: '{branch}'
-      - os-parameter:
-          os: '{os}'
-      - maven-project-parameter:
-          maven: 'mvn33-new'
-      - maven-exec:
-          maven-version: 'mvn33-new'
-      - stream-parameter:
-          stream: 'release'
-      - repo-name-parameter:
-          repo-name: '{repo-stream-part}.{repo-os-part}'
-      - string:
-          name: ARCHIVE_ARTIFACTS
-          default: '{archive-artifacts}'
-          description: Artifacts to archive to the logs server.
-
-    scm:
-      - gerrit-trigger-scm:
-          credentials-id: 'jenkins-gerrit-credentials'
-          refspec: ''
-          choosing-strategy: 'default'
+    node: "builder-{os}-prod-{executor-arch}"
 
-    wrappers:
-      - fdio-infra-wrappers:
-          build-timeout: '{build-timeout}'
-
-    triggers:
-      - gerrit-trigger-patch-merged:
-          name: '{project}'
-          branch: '{branch}'
-
-    builders:
-      - config-file-provider:
-          files:
-            - file-id: '.packagecloud'
-              target: '/root'
-      - config-file-provider:
-          files:
-            - file-id: 'packagecloud_api'
-              target: '/root'
-      - maven-target:
-          maven-version: 'mvn33-new'
-          goals: '--version'
-          settings: 'hicn-settings'
-          settings-type: cfp
-          global-settings: 'global-settings'
-          global-settings-type: cfp
-      - shell:
-          !include-raw-escape:
-          - include-raw-hicn-checkstyle.sh
-      - shell:
-          !include-raw-escape:
-          - include-raw-hicn-build.sh
-      - provide-maven-settings:
-          settings-file: 'hicn-settings'
-          global-settings-file: 'global-settings'
-      - shell:
-          !include-raw-escape:
-          - ../scripts/packagecloud_push.sh
-      - shell:
-          !include-raw-escape:
-          - ../scripts/maven_push_functions.sh
-          - include-raw-hicn-maven-push.sh
-
-    publishers:
-      - fdio-infra-shiplogs:
-          maven-version: 'mvn33-new'
-      - naginator:
-          rerun-unstable-builds: false
-          max-failed-builds: 1
-          fixed-delay: 90
-
-- job-template:
-    name: 'hicn-arm-merge-{stream}-{os}'
-
-    project-type: freestyle
-    node: '{os}arm-us'
-    archive-artifacts: >
-      **/build/*.deb
-    allow-empty: 'true'
-    fingerprint: false
-    only-if-success: true
-    default-excludes: false
-
-    build-discarder:
-      daysToKeep: '{build-days-to-keep}'
-      numToKeep: 100
-      artifactDaysToKeep: '{build-artifact-days-to-keep}'
-      artifactNumToKeep: '{build-artifact-num-to-keep}'
+    properties:
+      - lf-infra-properties:
+          build-days-to-keep: "{build-days-to-keep}"
 
     parameters:
       - project-parameter:
-          project: '{project}'
+          project: "{project}"
       - gerrit-parameter:
-          branch: '{branch}'
+          branch: "{branch}"
       - os-parameter:
-          os: '{os}'
-      - maven-project-parameter:
-          maven: 'mvn33-new'
-      - maven-exec:
-          maven-version: 'mvn33-new'
+          os: "{os}"
       - stream-parameter:
-          stream: 'release'
-      - repo-name-parameter:
-          repo-name: '{repo-stream-part}.{repo-os-part}'
-      - string:
-          name: ARCHIVE_ARTIFACTS
-          default: '{archive-artifacts}'
-          description: Artifacts to archive to the logs server.
+          stream: "{stream}"
 
     scm:
       - gerrit-trigger-scm:
-          credentials-id: 'jenkins-gerrit-credentials'
-          refspec: ''
-          choosing-strategy: 'default'
+          credentials-id: "jenkins-gerrit-credentials"
+          refspec: ""
+          choosing-strategy: "default"
 
     wrappers:
       - fdio-infra-wrappers:
-          build-timeout: '{build-timeout}'
+          build-timeout: "{build-timeout}"
 
     triggers:
       - gerrit-trigger-patch-merged:
-          name: '{project}'
-          branch: '{branch}'
+          name: "{project}"
+          branch: "{branch}"
 
     builders:
       - config-file-provider:
           files:
-            - file-id: '.packagecloud'
-              target: '/root'
+            - file-id: ".packagecloud"
+              target: "/root/.packagecloud"
       - config-file-provider:
           files:
-            - file-id: 'packagecloud_api'
-              target: '/root'
-      - maven-target:
-          maven-version: 'mvn33-new'
-          goals: '--version'
-          settings: 'hicn-settings'
-          settings-type: cfp
-          global-settings: 'global-settings'
-          global-settings-type: cfp
-      - shell:
-          !include-raw-escape:
-          - include-raw-hicn-checkstyle.sh
-      - shell:
-          !include-raw-escape:
-          - include-raw-hicn-build.sh
-      - provide-maven-settings:
-          settings-file: 'hicn-settings'
-          global-settings-file: 'global-settings'
-      - shell:
-          !include-raw-escape:
+            - file-id: "packagecloud_api"
+              target: "/root/packagecloud_api"
+      - shell: !include-raw-escape:
+          - ../scripts/setup_executor_env.sh
+      - shell: !include-raw-escape:
+          - ../scripts/hicn/checkstyle.sh
+      - shell: !include-raw-escape:
+          - ../scripts/hicn/build.sh
+      - shell: !include-raw-escape:
           - ../scripts/packagecloud_push.sh
-      - shell:
-          !include-raw-escape:
-          - ../scripts/maven_push_functions.sh
-          - include-raw-hicn-maven-push.sh
 
     publishers:
-      - fdio-infra-shiplogs:
-          maven-version: 'mvn33-new'
-      - naginator:
-          rerun-unstable-builds: false
-          max-failed-builds: 1
-          fixed-delay: 90
-
-- project:
-    name: hicn-sonar
-    project: hicn
-    project-name: hicn
-    mvn-settings: hicn-settings
-    mvn-version: 'mvn33-new'
-    branch: master
-    build-node: ubuntu1604-basebuild-4c-4g
-    jobs:
-      - gerrit-maven-sonar
+      - fdio-infra-publish
 
 - job-template:
-    name: 'hicn-sysrepo-plugin-verify-{stream}'
+    name: "hicn-extras-verify-{stream}-{os}-{executor-arch}"
 
     project-type: freestyle
-    node: '{os}-us'
+    node: "builder-{os}-prod-{executor-arch}"
     concurrent: true
-    archive-artifacts: >
-      **/build/*.rpm,
-      **/build/*.deb
-    allow-empty: 'true'
-    fingerprint: false
-    only-if-success: true
-    default-excludes: false
-
-    build-discarder:
-      daysToKeep: '{build-days-to-keep}'
-      numToKeep: 100
-      artifactDaysToKeep: '{build-artifact-days-to-keep}'
-      artifactNumToKeep: '{build-artifact-num-to-keep}'
+
+    properties:
+      - lf-infra-properties:
+          build-days-to-keep: "{build-days-to-keep}"
 
     parameters:
       - project-parameter:
-          project: '{project}'
+          project: "{project}"
       - gerrit-parameter:
-          branch: '{branch}'
+          branch: "{branch}"
       - os-parameter:
-          os: '{os}'
-      - repo-name-parameter:
-          repo-name: '{repo-stream-part}.ubuntu.bionic.main'
+          os: "{os}"
       - stream-parameter:
-          stream: '{stream}'
-      - string:
-          name: ARCHIVE_ARTIFACTS
-          default: '{archive-artifacts}'
-          description: Artifacts to archive to the logs server.
+          stream: "{stream}"
 
     scm:
       - gerrit-trigger-scm:
-          credentials-id: 'jenkins-gerrit-credentials'
-          refspec: '$GERRIT_REFSPEC'
-          choosing-strategy: 'gerrit'
+          credentials-id: "jenkins-gerrit-credentials"
+          refspec: "$GERRIT_REFSPEC"
+          choosing-strategy: "gerrit"
 
     wrappers:
       - fdio-infra-wrappers:
 
     triggers:
       - gerrit:
-          server-name: 'Primary'
+          server-name: "Primary"
           trigger-on:
             - comment-added-contains-event:
-                comment-contains-value: 'verify_sysrepo'
+                comment-contains-value: "verify-extras"
           projects:
-            - project-compare-type: 'ANT'
-              project-pattern: '{project}'
+            - project-compare-type: "ANT"
+              project-pattern: "{project}"
               branches:
-                - branch-compare-type: 'ANT'
-                  branch-pattern: '**/{branch}'
+                - branch-compare-type: "ANT"
+                  branch-pattern: "**/{branch}"
 
     builders:
-      - shell:
-          !include-raw-escape:
-          - include-raw-hicn-sysrepo-build.sh
+      - shell: !include-raw-escape:
+          - ../scripts/setup_executor_env.sh
+      - shell: !include-raw-escape:
+          - ../scripts/hicn/build-extras.sh
 
     publishers:
-      - fdio-infra-shiplogs:
-          maven-version: 'mvn33-new'
+      - fdio-infra-publish
 
 - job-template:
-    name: 'hicn-sysrepo-plugin-merge-{stream}'
+    name: "hicn-extras-build-{stream}-{os}-{executor-arch}"
 
     project-type: freestyle
-    node: '{os}-us'
-    archive-artifacts: >
-      **/build/*.rpm,
-      **/build/*.deb
-    allow-empty: 'true'
-    fingerprint: false
-    only-if-success: true
-    default-excludes: false
-
-    build-discarder:
-      daysToKeep: '{build-days-to-keep}'
-      numToKeep: 100
-      artifactDaysToKeep: '{build-artifact-days-to-keep}'
-      artifactNumToKeep: '{build-artifact-num-to-keep}'
+    node: "builder-{os}-prod-{executor-arch}"
+
+    properties:
+      - lf-infra-properties:
+          build-days-to-keep: "{build-days-to-keep}"
 
     parameters:
       - project-parameter:
-          project: '{project}'
+          project: "{project}"
       - gerrit-parameter:
-          branch: '{branch}'
+          branch: "{branch}"
       - os-parameter:
-          os: '{os}'
-      - maven-project-parameter:
-          maven: 'mvn33-new'
-      - maven-exec:
-          maven-version: 'mvn33-new'
+          os: "{os}"
       - stream-parameter:
-          stream: 'release'
-      - repo-name-parameter:
-          repo-name: '{repo-stream-part}.ubuntu.bionic.main'
-      - string:
-          name: ARCHIVE_ARTIFACTS
-          default: '{archive-artifacts}'
-          description: Artifacts to archive to the logs server.
+          stream: "hicn"
 
     scm:
       - gerrit-trigger-scm:
-          credentials-id: 'jenkins-gerrit-credentials'
-          refspec: ''
-          choosing-strategy: 'default'
+          credentials-id: "jenkins-gerrit-credentials"
+          refspec: ""
+          choosing-strategy: "default"
 
     wrappers:
       - fdio-infra-wrappers:
-          build-timeout: '{build-timeout}'
+          build-timeout: "{build-timeout}"
 
     triggers:
       - gerrit:
-          server-name: 'Primary'
+          server-name: "Primary"
           trigger-on:
             - comment-added-contains-event:
-                comment-contains-value: 'merge_sysrepo'
+                comment-contains-value: "build-extras"
           projects:
-            - project-compare-type: 'ANT'
-              project-pattern: '{project}'
+            - project-compare-type: "ANT"
+              project-pattern: "{project}"
               branches:
-                - branch-compare-type: 'ANT'
-                  branch-pattern: '**/{branch}'
+                - branch-compare-type: "ANT"
+                  branch-pattern: "**/{branch}"
 
     builders:
       - config-file-provider:
           files:
-            - file-id: '.packagecloud'
-              target: '/root'
+            - file-id: ".packagecloud"
+              target: "/root/.packagecloud"
       - config-file-provider:
           files:
-            - file-id: 'packagecloud_api'
-              target: '/root'
-      - maven-target:
-          maven-version: 'mvn33-new'
-          goals: '--version'
-          settings: 'hicn-settings'
-          settings-type: cfp
-          global-settings: 'global-settings'
-          global-settings-type: cfp
-      - shell:
-          !include-raw-escape:
-          - include-raw-hicn-checkstyle.sh
-      - shell:
-          !include-raw-escape:
-          - include-raw-hicn-sysrepo-build.sh
-      - provide-maven-settings:
-          settings-file: 'hicn-settings'
-          global-settings-file: 'global-settings'
-      - shell:
-          !include-raw-escape:
+            - file-id: "packagecloud_api"
+              target: "/root/packagecloud_api"
+      - shell: !include-raw-escape:
+          - ../scripts/setup_executor_env.sh
+      - shell: !include-raw-escape:
+          - ../scripts/hicn/build-extras.sh
+      - shell: !include-raw-escape:
           - ../scripts/packagecloud_push.sh
-      - shell:
-          !include-raw-escape:
-          - ../scripts/maven_push_functions.sh
-          - include-raw-hicn-maven-push.sh
 
     publishers:
-      - fdio-infra-shiplogs:
-          maven-version: 'mvn33-new'
-      - naginator:
-          rerun-unstable-builds: false
-          max-failed-builds: 1
-          fixed-delay: 90
+      - fdio-infra-publish
 
 - project:
     name: hicn-info
     project-name: hicn
     jobs:
       - gerrit-info-yaml-verify
-    build-node: centos7-builder-4c-4g
+    build-node: centos7-builder-2c-2g
     project: hicn
     branch: master