iec, rec: Abstract out common seba_on_arm usecase
[ci-management.git] / jjb / akraino-templates / akraino-usecase-templates.yaml
diff --git a/jjb/akraino-templates/akraino-usecase-templates.yaml b/jjb/akraino-templates/akraino-usecase-templates.yaml
new file mode 100644 (file)
index 0000000..2e245ea
--- /dev/null
@@ -0,0 +1,60 @@
+---
+- job-template: &akraino-usecase-phase-rec
+    id: akraino-usecase-phase-rec
+    name: 'rec-{slave_label}-{phase}-{usecase}-{job_frequency}-{stream}'
+    concurrent: true
+    node: '{slave_label}'
+    # Support usecases that reside in a different project repo, e.g.
+    # seba_on_arm usecase uses the 'iec' project git repo, even if this
+    # job targets a different project, 'rec'.
+    usecase_project: 'iec'
+    properties:
+      - throttle:
+          enabled: true
+          max-total: 4
+          max-per-node: 1
+          option: 'project'
+      - build-blocker:
+          use-build-blocker: true
+          blocking-jobs:
+            - '.*-{usecase}-.*'
+          block-level: 'NODE'
+
+    parameters:
+      - lf-infra-parameters:
+          project: '{usecase_project}'
+          stream: '{stream}'
+          branch: '{branch}'
+      - '{project}-defaults'
+      - '{usecase}-defaults'
+
+    scm:
+      - lf-infra-gerrit-scm:
+          jenkins-ssh-credential: '{jenkins-ssh-credential}'
+          git-url: '{git-url}/{usecase_project}.git'
+          refspec: '$GERRIT_REFSPEC'
+          branch: '$GERRIT_BRANCH'
+          submodule-recursive: false
+          submodule-timeout: '{submodule-timeout}'
+          submodule-disable: true
+          choosing-strategy: default
+
+    builders:
+      - shell:
+          !include-raw-escape: ../shell/{usecase}.sh
+
+    publishers:
+      - '{usecase}-{phase}-publisher'
+
+- job-template:
+    <<: *akraino-usecase-phase-rec
+    id: akraino-usecase-phase-iec
+    name: 'iec-{iecType}-{phase}-{usecase}-{installer}-{deploy_type}-{os}-daily-{stream}'
+    parameters:
+      - lf-infra-parameters:
+          project: '{usecase_project}'
+          stream: '{stream}'
+          branch: '{branch}'
+      - '{project}-defaults'
+      - '{installer}-{os}-defaults'
+      - '{usecase}-defaults'