Add baremetal tests Jenkins job definition
authorFrancis Deslauriers <francis.deslauriers@efficios.com>
Thu, 10 Nov 2016 17:18:33 +0000 (12:18 -0500)
committerFrancis Deslauriers <francis.deslauriers@efficios.com>
Wed, 16 Nov 2016 22:36:54 +0000 (17:36 -0500)
jobs/lttng-baremetal-tests.yaml [new file with mode: 0644]

diff --git a/jobs/lttng-baremetal-tests.yaml b/jobs/lttng-baremetal-tests.yaml
new file mode 100644 (file)
index 0000000..9f6a664
--- /dev/null
@@ -0,0 +1,217 @@
+- defaults:
+    name: lttng-baremetal-tests
+
+    logrotate:
+      numToKeep: 5
+
+    project-type: freestyle
+    node: 'master'
+    scm:
+      - git:
+          url: git://git-mirror.internal.efficios.com/lttng/lttng-tools.git
+          branches:
+            - "{lttngversion}"
+          shallow-clone: true
+          skip-tag: true
+          fastpoll: true
+          basedir: src/lttng-tools
+      - git:
+          url: git://git-mirror.internal.efficios.com/lttng/lttng-modules.git
+          branches:
+            - "{lttngversion}"
+          shallow-clone: true
+          skip-tag: true
+          fastpoll: true
+          basedir: src/lttng-modules
+      - git:
+          url: git://git-mirror.internal.efficios.com/kernel/stable/linux-stable.git
+          branches:
+            - "{kversion}"
+          shallow-clone: true
+          skip-tag: true
+          fastpoll: true
+          basedir: src/linux
+
+    triggers:
+      - pollscm:
+          cron: "@hourly"
+
+    properties:
+      - throttle:
+          max-total: 3
+          option: 'category'
+          categories:
+            - 'baremetal-tests'
+    publishers:
+      - email:
+          recipients: 'francis.deslauriers@efficios.com'
+
+## Templates
+- job-template:
+    name: baremetal_tests_k{kversion}_l{lttngversion}
+    description: |
+      Runs baremetal kernel tests over different combination of kernel and lttng configurations.
+    defaults: lttng-baremetal-tests
+    wrappers:
+      - workspace-cleanup
+      - timestamps
+      - ansicolor
+      - credentials-binding:
+          - text:
+              credential-id: jenkins_lava_key
+              variable: LAVA_FRDESO_TOKEN
+      - inject:
+          properties-content: |
+            TOOLS_BRANCH={lttngversion}
+            UST_BRANCH={lttngversion}
+
+    builders:
+      - shell: !include-raw-escape: scripts/lttng-baremetal-tests/generate-properties-master.sh
+      - trigger-builds:
+        - project: "build_kernel_PARAM"
+          property-file: 'properties.txt'
+          block: true
+      - inject:
+          properties-file: properties.txt
+      - shell: !include-raw-escape: scripts/lttng-baremetal-tests/run-tests.sh
+
+- job-template:
+    name: baremetal_benchmarks_k{kversion}_l{lttngversion}
+    description: |
+      Runs baremetal kernel benchmarks over different combination of kernel and lttng configurations.
+    defaults: lttng-baremetal-tests
+    logrotate:
+      numToKeep: 5
+
+    scm:
+      - git:
+          url: git://git-mirror.internal.efficios.com/lttng/lttng-tools.git
+          branches:
+            - "{lttngversion}"
+          shallow-clone: true
+          skip-tag: true
+          fastpoll: true
+          basedir: src/lttng-tools
+      - git:
+          url: git://git-mirror.internal.efficios.com/lttng/lttng-modules.git
+          branches:
+            - "{lttngversion}"
+          shallow-clone: true
+          skip-tag: true
+          fastpoll: true
+          basedir: src/lttng-modules
+      - git:
+          url: git://git-mirror.internal.efficios.com/kernel/stable/linux-stable.git
+          branches:
+            - "{kversion}"
+          shallow-clone: true
+          skip-tag: true
+          fastpoll: true
+          basedir: src/linux
+    wrappers:
+      - workspace-cleanup
+      - timestamps
+      - ansicolor
+      - credentials-binding:
+          - text:
+              credential-id: jenkins_lava_key
+              variable: LAVA_FRDESO_TOKEN
+    builders:
+      - shell: !include-raw-escape: scripts/lttng-baremetal-tests/generate-properties-master.sh
+      - trigger-builds:
+        - project: "build_kernel_PARAM"
+          property-file: 'properties.txt'
+          block: true
+      - inject:
+          properties-file: properties.txt
+      - shell: !include-raw-escape: scripts/lttng-baremetal-tests/run-benchmarks.sh
+
+- job:
+    name: build_kernel_PARAM
+    description: |
+      Builds a Linux Kernel and LTTng Modules if necessary
+    defaults: global
+    concurrent: true
+
+    logrotate:
+      numToKeep: 2
+    node: 'x86-64'
+
+    wrappers:
+      - workspace-cleanup
+      - timestamps
+      - ansicolor
+      - credentials-binding:
+          - file:
+              credential-id: lava_jenkins_storage_frdeso
+              variable: identity_file
+    builders:
+      - shell: !include-raw-escape: scripts/lttng-baremetal-tests/generate-properties-slave.sh
+      - inject:
+          properties-file: properties.txt
+      - shell: !include-raw-escape: scripts/lttng-baremetal-tests/check-build-needs.sh
+      - conditional-step:
+          condition-kind: not
+          condition-operand:
+              condition-kind: file-exists
+              condition-filename: kernel-built.txt
+              condition-basedir: workspace
+          steps:
+              - shell: !include-raw-escape: scripts/lttng-baremetal-tests/build-kernel.sh
+      - conditional-step:
+          condition-kind: not
+          condition-operand:
+              condition-kind: file-exists
+              condition-filename: modules-built.txt
+              condition-basedir: workspace
+          steps:
+              - shell: !include-raw-escape: scripts/lttng-baremetal-tests/build-modules.sh
+
+    parameters:
+      - string:
+          name: 'LTTNG_MODULES_COMMIT_ID'
+          description: 'The lttng-modules commmit to build.'
+      - string:
+          name: 'KERNEL_COMMIT_ID'
+          description: 'The kernel commit to build.'
+      - string:
+          name: 'KGITREPO'
+          description: 'The kernel git repo to fetch from'
+      - string:
+          name: 'STORAGE_KERNEL_FOLDER'
+          description: 'Path to store the Kernel image'
+      - string:
+          name: 'STORAGE_KERNEL_IMAGE'
+          description: 'Path to store the Kernel IMAGE'
+      - string:
+          name: 'STORAGE_LINUX_MODULES'
+          description: 'Path to store the Kernel Modules'
+      - string:
+          name: 'STORAGE_LTTNG_MODULES'
+          description: 'Path to store the LTTng Modules'
+
+## Project
+- project:
+    name: lttng-kernel-tests
+    kversion:
+      - linux-4.4.y
+      - linux-4.8.y
+      - v4.8.1
+    lttngversion:
+      - master
+      - stable-2.8
+      - stable-2.9
+    jobs:
+      - 'baremetal_tests_k{kversion}_l{lttngversion}'
+      - 'baremetal_benchmarks_k{kversion}_l{lttngversion}'
+
+- project:
+    name: lttng-kernel-tests-oldkernel
+    kversion:
+      - linux-3.18.y
+      - linux-4.4.y
+    lttngversion:
+      - stable-2.7
+    jobs:
+      - 'baremetal_tests_k{kversion}_l{lttngversion}':
+      - 'baremetal_benchmarks_k{kversion}_l{lttngversion}':
This page took 0.024819 seconds and 4 git commands to generate.