CI: Add tests for onf-make

Since this is a library of makefiles, standard code tests can't be
implemented. Instead, this change introduces modified versions of
build & test jobs for other repos, which are kicked off by pushes
to onf-make, and test those builds with the change to the onf-make
library.

Signed-off-by: Eric Ball <eball@linuxfoundation.org>
Change-Id: I1e40e2a49996c5a04f0d5bc6cba7a0eb603ed8e5
diff --git a/jjb/voltha-e2e.yaml b/jjb/voltha-e2e.yaml
index 7ca459f..ad40e75 100755
--- a/jjb/voltha-e2e.yaml
+++ b/jjb/voltha-e2e.yaml
@@ -1999,6 +1999,182 @@
                 - compare-type: REG_EXP
                   pattern: '{all-files-regexp}'
 
+- job-template:
+    id: 'voltha-make-test'
+    name: '{name}'
+    #build-node: 'ubuntu18.04-basebuild-4c-8g'
+    build-node: 'ubuntu18.04-basebuild-8c-15g'
+    pipeline-script: 'voltha/bbsim-tests.groovy'
+    pipeline-branch: 'master'
+    override-branch: '$GERRIT_BRANCH'
+    sandbox: true
+    build-timeout: 20
+    timeout: 50
+    olts: 1
+    registry:  mirror.registry.opennetworking.org
+    logLevel: 'INFO'
+    test-project: 'voltha-go'
+    volthaSystemTestsChange: ''
+    volthaHelmChartsChange: ''
+    extraHelmFlags: ''
+    enableMacLearning: false
+    withMonitoring: false
+    robot-args: ''
+    branch-regexp: '{all-branches-regexp}'
+    testTargets: |
+      - target: sanity-kind-att
+        workflow: att
+        flags: ""
+        teardown: true
+        logging: true
+      - target: sanity-kind-dt
+        workflow: dt
+        flags: ""
+        teardown: true
+        logging: true
+      - target: sanity-kind-tt
+        workflow: tt
+        flags: ""
+        teardown: true
+        logging: true
+
+    description: |
+      <!-- Managed by Jenkins Job Builder -->
+      Created by {id} job-template from ci-management/jjb/voltha-e2e.yaml  <br /><br />
+      E2E Validation for Voltha 2.X
+
+    properties:
+      - onf-infra-volthadevs-permissions
+      - cord-infra-properties:
+          build-days-to-keep: '{build-days-to-keep}'
+          artifact-num-to-keep: '{artifact-num-to-keep}'
+
+    wrappers:
+      - lf-infra-wrappers:
+          build-timeout: '{build-timeout}'
+          jenkins-ssh-credential: '{jenkins-ssh-credential}'
+
+    parameters:
+      - string:
+          name: buildNode
+          default: '{build-node}'
+          description: 'Name of the Jenkins node to run the job on'
+
+      - string:
+          name: gerritProject
+          default: '{test-project}'
+          description: 'Name of the Gerrit project'
+
+      - string:
+          name: gerritRefspec
+          default: 'refs/heads/master'
+          description: 'PatchSet REFSPEC in Gerrit, example value: "refs/changes/79/18779/13"'
+
+      - string:
+          name: extraHelmFlags
+          default: '{extraHelmFlags}'
+          description: 'Helm flags to pass to every helm command'
+
+      # applicable for voltha-2.9 (excluding) onwards
+      - bool:
+          name: enableMacLearning
+          default: '{enableMacLearning}'
+          description: "Deploy and test with ONOS Mac-Learning app"
+
+      - string:
+          name: extraRobotArgs
+          default: '{robot-args}'
+          description: 'Arguments to pass to robot'
+
+      - string:
+          name: volthaSystemTestsChange
+          default: '{volthaSystemTestsChange}'
+          description: 'Download a change for gerrit in the voltha-system-tests repo, example value: "refs/changes/79/18779/13"'
+
+      - string:
+          name: volthaHelmChartsChange
+          default: '{volthaHelmChartsChange}'
+          description: 'Download a change for gerrit in the voltha-helm-charts repo, example value: "refs/changes/79/18779/13"'
+
+      - string:
+          name: branch
+          default: '{override-branch}'
+          description: 'Name of the branch to use'
+
+      # test configuration
+      # this is a parameter to drive the test execution, VOLTHA is redeployed each time with
+      # the provided configuration and then the make target is invoked,
+      # example value (has to be valid YAML):
+      # testTargets: |
+      #   - target: 1t1gem-openonu-go-adapter-test
+      #     workflow: att
+      #     flags: ""
+      #     teardown: true
+      #     logging: true
+      - text:
+          name: testTargets
+          default: '{testTargets}'
+          description: 'Test configuration, see the ci-management job definition for more info'
+
+      - string:
+          name: timeout
+          default: '{timeout}'
+          description: 'Timeout of pipeline job [minutes]'
+
+      - string:
+          name: olts
+          default: '{olts}'
+          description: 'How many BBSim instances to run'
+
+      - string:
+          name: registry
+          default: '{registry}'
+          description: 'Which registry to use (amazon vs menlo)'
+
+      - bool:
+          name: withMonitoring
+          default: '{withMonitoring}'
+          description: 'Option to install Prometheus'
+
+      - string:
+          name: logLevel
+          default: '{logLevel}'
+          description: 'Log level for all the components'
+
+    project-type: pipeline
+    concurrent: true
+
+    pipeline-scm:
+      scm:
+        - git:
+            url: https://gerrit.opencord.org/ci-management
+            branches:
+              - origin/{pipeline-branch}
+      script-path: jjb/pipeline/{pipeline-script}
+
+    triggers:
+      - gerrit:
+          server-name: '{gerrit-server-name}'
+          dependency-jobs: '{dependency-jobs}'
+          silent-start: true
+          trigger-on:
+            - patchset-created-event:
+                exclude-drafts: true
+                exclude-trivial-rebase: false
+                exclude-no-code-change: true
+            - draft-published-event
+            - comment-added-contains-event:
+                comment-contains-value: '(?i)^.*recheck$'
+          projects:
+            - project-compare-type: REG_EXP
+              project-pattern: '^{project}$'
+              branches:
+                - branch-compare-type: REG_EXP
+                  branch-pattern: '{branch-regexp}'
+              file-paths:
+                - compare-type: REG_EXP
+                  pattern: '{all-files-regexp}'
+
 # POD Per Patchset Pipeline Jobs
 # to use these parameters in a job: `<<: *voltha-physical-patchset-parameters`
 - _voltha-physical-patchset-parameters: &voltha-physical-patchset-parameters