Merge pull request #21 from frdeso/kprobe_fuzzing_pr
[lttng-ci.git] / jobs / lttng-baremetal-tests.yaml
index 9f6a664d276d80deb435be74a3afc1b64144969e..b13ff54d3228ee80a2be170cd2f6724f1dfa2a13 100644 (file)
@@ -1,11 +1,50 @@
 - defaults:
-    name: lttng-baremetal-tests
+    name: baremetal_benchmarks
+    description: |
+      Runs baremetal kernel tests over different combination of kernel and lttng configurations.
 
+    triggers:
+      - pollscm:
+          cron: "H * * * 1-5"
     logrotate:
-      numToKeep: 5
+      numToKeep: 10
 
+    properties:
+      - throttle:
+          max-total: 2
+          option: 'category'
+          categories:
+            - 'baremetal-tests'
     project-type: freestyle
-    node: 'master'
+    node: 'x86-64'
+    wrappers:
+      - workspace-cleanup
+      - timestamps
+      - ansicolor
+      - credentials-binding:
+          - text:
+              credential-id: jenkins_lava_key
+              variable: LAVA_JENKINS_TOKEN
+          - file:
+              credential-id: system_tests_storage_key
+              variable: identity_file
+      - inject:
+          properties-content: |
+            TOOLS_BRANCH={lttngversion}
+            UST_BRANCH={lttngversion}
+            BUILD_DEVICE=baremetal
+    publishers:
+      - archive:
+          artifacts: '*.png,*.csv'
+          stable: true
+          do-not-fingerprint: true
+      - email:
+          recipients: 'francis.deslauriers@efficios.com'
+      - image-gallery:
+        - gallery-type: archived-images-gallery
+          title: Results
+          includes: '*.png'
+      - workspace-cleanup
     scm:
       - git:
           url: git://git-mirror.internal.efficios.com/lttng/lttng-tools.git
           fastpoll: true
           basedir: src/linux
 
-    triggers:
-      - pollscm:
-          cron: "@hourly"
+    builders:
+      - shell: !include-raw-escape: scripts/lttng-baremetal-tests/generate-properties-master.sh
+      - shell: !include-raw-escape: scripts/lttng-baremetal-tests/inject-ssh-commands.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-baremetal-benchmarks.sh
+      - shell: !include-raw-escape: scripts/lttng-baremetal-tests/summarize-results.sh
 
+- defaults:
+    name: vm_tests
+    description: |
+      Runs baremetal kernel tests over different combination of kernel and lttng configurations.
+    project-type: freestyle
+    node: 'master'
     properties:
       - throttle:
-          max-total: 3
+          max-total: 2
           option: 'category'
           categories:
-            - 'baremetal-tests'
-    publishers:
-      - email:
-          recipients: 'francis.deslauriers@efficios.com'
+            - 'kvm-tests'
+    triggers:
+      - pollscm:
+          cron: "H * * * 1-5"
+    logrotate:
+      numToKeep: 10
 
-## 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
       - credentials-binding:
           - text:
               credential-id: jenkins_lava_key
-              variable: LAVA_FRDESO_TOKEN
+              variable: LAVA_JENKINS_TOKEN
       - inject:
           properties-content: |
+            BUILD_DEVICE=kvm
             TOOLS_BRANCH={lttngversion}
             UST_BRANCH={lttngversion}
+    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
+
+    publishers:
+      - email:
+          recipients: 'francis.deslauriers@efficios.com'
+      - ircbot:
+          strategy: new-failure-and-fixed
+          message-type: summary
+          channels:
+            - name: '#lttng'
+      - workspace-cleanup
 
     builders:
       - shell: !include-raw-escape: scripts/lttng-baremetal-tests/generate-properties-master.sh
           block: true
       - inject:
           properties-file: properties.txt
-      - shell: !include-raw-escape: scripts/lttng-baremetal-tests/run-tests.sh
+      - shell: !include-raw-escape: scripts/lttng-baremetal-tests/run-kvm-tests.sh
 
-- job-template:
-    name: baremetal_benchmarks_k{kversion}_l{lttngversion}
+- defaults:
+    name: vm_tests_kmainline
+    defaults: vm_tests
+    triggers:
+      - pollscm:
+          cron: "0 1 * * 1-5"
+    wrappers:
+      - workspace-cleanup
+      - timestamps
+      - ansicolor
+      - credentials-binding:
+          - text:
+              credential-id: jenkins_lava_key
+              variable: LAVA_JENKINS_TOKEN
+      - inject:
+          properties-content: |
+            TOOLS_BRANCH={toolsversion}
+            MODULES_BRANCH={modulesversion}
+            UST_BRANCH={ustversion}
+            BUILD_DEVICE=baremetal
+    scm:
+      - git:
+          url: git://git-mirror.internal.efficios.com/lttng/lttng-tools.git
+          branches:
+            - "{toolsversion}"
+          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:
+            - "{modulesversion}"
+          shallow-clone: true
+          skip-tag: true
+          fastpoll: true
+          basedir: src/lttng-modules
+      - git:
+          url: git://git-mirror.internal.efficios.com/kernel/torvalds/linux.git
+          refspec: "+refs/tags/*:refs/remotes/origin/tags/*"
+          branches:
+            - "master"
+          fastpoll: true
+          basedir: src/linux
+
+- defaults:
+    name: baremetal_tests
     description: |
-      Runs baremetal kernel benchmarks over different combination of kernel and lttng configurations.
-    defaults: lttng-baremetal-tests
+      Runs baremetal kernel tests over different combination of kernel and lttng configurations.
+    project-type: freestyle
+    node: 'master'
+    properties:
+      - throttle:
+          max-total: 2
+          option: 'category'
+          categories:
+            - 'baremetal-tests'
+    triggers:
+      - pollscm:
+          cron: "H * * * 1-5"
     logrotate:
-      numToKeep: 5
+      numToKeep: 10
 
+    wrappers:
+      - workspace-cleanup
+      - timestamps
+      - ansicolor
+      - credentials-binding:
+          - text:
+              credential-id: jenkins_lava_key
+              variable: LAVA_JENKINS_TOKEN
+      - inject:
+          properties-content: |
+            UST_BRANCH={lttngversion}
+            BUILD_DEVICE=baremetal
     scm:
       - git:
           url: git://git-mirror.internal.efficios.com/lttng/lttng-tools.git
           skip-tag: true
           fastpoll: true
           basedir: src/linux
-    wrappers:
+
+    publishers:
+      - email:
+          recipients: 'francis.deslauriers@efficios.com'
+      - ircbot:
+          strategy: new-failure-and-fixed
+          message-type: summary
+          channels:
+            - name: '#lttng'
       - 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-baremetal-tests.sh
+
+- job-template:
+    name: baremetal_benchmarks_k{kversion}_l{lttngversion}
+    defaults: baremetal_benchmarks
+- job-template:
+    name: vm_tests_k{kversion}_l{lttngversion}
+    defaults: vm_tests
+- job-template:
+    name: baremetal_tests_k{kversion}_l{lttngversion}
+    defaults: baremetal_tests
+
+# Canary jobs are made to confirm that the whole Lava pipeline is working.
+# They are scheduled once a day always on the same (LTTng, Kernel) code. If any
+# of those jobs fails, it means that there is an issue with the configuration
+- job-template:
+    name: baremetal_tests_k{kversion}_l{lttngversion}_canary
+    defaults: baremetal_tests
+    triggers:
+      - timed: "0 1 * * 1-5"
+- job-template:
+    name: vm_tests_k{kversion}_l{lttngversion}_canary
+    defaults: vm_tests
+    triggers:
+      - timed: "0 1 * * 1-5"
+- job-template:
+    name: baremetal_benchmarks_k{kversion}_l{lttngversion}_canary
+    defaults: baremetal_benchmarks
+    triggers:
+      - timed: "0 1 * * 1-5"
+- job-template:
+    name: vm_tests_kmainline_t{toolsversion}_m{modulesversion}_u{ustversion}
+    defaults: vm_tests_kmainline
+
+- job-template:
+    name: vm_tests_fuzzing_kmainline_t{toolsversion}_m{modulesversion}_u{ustversion}
+    defaults: vm_tests_kmainline
+
     builders:
       - shell: !include-raw-escape: scripts/lttng-baremetal-tests/generate-properties-master.sh
       - trigger-builds:
           block: true
       - inject:
           properties-file: properties.txt
-      - shell: !include-raw-escape: scripts/lttng-baremetal-tests/run-benchmarks.sh
+      - shell: !include-raw-escape: scripts/lttng-baremetal-tests/run-kvm-fuzzing-tests.sh
+
+- job-template:
+    name: baremetal_tests_kmainline_t{toolsversion}_m{modulesversion}_u{ustversion}
+    defaults: baremetal_tests
+    triggers:
+      - pollscm:
+          cron: "0 1 * * 1-5"
+    wrappers:
+      - workspace-cleanup
+      - timestamps
+      - ansicolor
+      - credentials-binding:
+          - text:
+              credential-id: jenkins_lava_key
+              variable: LAVA_JENKINS_TOKEN
+      - inject:
+          properties-content: |
+            TOOLS_BRANCH={toolsversion}
+            MODULES_BRANCH={modulesversion}
+            UST_BRANCH={ustversion}
+            BUILD_DEVICE=baremetal
+    scm:
+      - git:
+          url: git://git-mirror.internal.efficios.com/lttng/lttng-tools.git
+          branches:
+            - "{toolsversion}"
+          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:
+            - "{modulesversion}"
+          shallow-clone: true
+          skip-tag: true
+          fastpoll: true
+          basedir: src/lttng-modules
+      - git:
+          url: git://git-mirror.internal.efficios.com/kernel/torvalds/linux.git
+          refspec: "+refs/tags/*:refs/remotes/origin/tags/*"
+          branches:
+            - "master"
+          fastpoll: true
+          basedir: src/linux
+- job-template:
+    name: baremetal_benchmarks_kmainline_t{toolsversion}_m{modulesversion}_u{ustversion}
+    defaults: baremetal_benchmarks
+    triggers:
+      - pollscm:
+          cron: "0 1 * * 1-5"
+    wrappers:
+      - workspace-cleanup
+      - timestamps
+      - ansicolor
+      - credentials-binding:
+          - text:
+              credential-id: jenkins_lava_key
+              variable: LAVA_JENKINS_TOKEN
+          - file:
+              credential-id: system_tests_storage_key
+              variable: identity_file
+      - inject:
+          properties-content: |
+            TOOLS_BRANCH={toolsversion}
+            MODULES_BRANCH={modulesversion}
+            UST_BRANCH={ustversion}
+            BUILD_DEVICE=baremetal
+    scm:
+      - git:
+          url: git://git-mirror.internal.efficios.com/lttng/lttng-tools.git
+          branches:
+            - "{toolsversion}"
+          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:
+            - "{modulesversion}"
+          shallow-clone: true
+          skip-tag: true
+          fastpoll: true
+          basedir: src/lttng-modules
+      - git:
+          url: git://git-mirror.internal.efficios.com/kernel/torvalds/linux.git
+          refspec: "+refs/tags/*:refs/remotes/origin/tags/*"
+          branches:
+            - "master"
+          fastpoll: true
+          basedir: src/linux
 
 - job:
     name: build_kernel_PARAM
     concurrent: true
 
     logrotate:
-      numToKeep: 2
+      numToKeep: 100
     node: 'x86-64'
 
     wrappers:
       - ansicolor
       - credentials-binding:
           - file:
-              credential-id: lava_jenkins_storage_frdeso
+              credential-id: system_tests_storage_key
               variable: identity_file
     builders:
       - shell: !include-raw-escape: scripts/lttng-baremetal-tests/generate-properties-slave.sh
       - string:
           name: 'LTTNG_MODULES_COMMIT_ID'
           description: 'The lttng-modules commmit to build.'
+      - string:
+          name: 'LTTNG_MODULES_REPO'
+          description: 'The LTTng Modules git repo to fetch from'
+          default: 'git://git-mirror.internal.efficios.com/lttng/lttng-modules.git'
       - string:
           name: 'KERNEL_COMMIT_ID'
           description: 'The kernel commit to build.'
       - string:
           name: 'STORAGE_LTTNG_MODULES'
           description: 'Path to store the LTTng Modules'
+      - string:
+          name: 'BUILD_DEVICE'
+          description: 'The target device. (kvm or baremetal)'
+    publishers:
+      - workspace-cleanup
 
 ## Project
 - project:
     name: lttng-kernel-tests
     kversion:
       - linux-4.4.y
-      - linux-4.8.y
+      - linux-4.9.y
       - v4.8.1
     lttngversion:
       - master
-      - stable-2.8
       - stable-2.9
+      - stable-2.10
     jobs:
-      - 'baremetal_tests_k{kversion}_l{lttngversion}'
+      - 'vm_tests_k{kversion}_l{lttngversion}'
       - 'baremetal_benchmarks_k{kversion}_l{lttngversion}'
+      - 'baremetal_tests_k{kversion}_l{lttngversion}'
 
 - project:
     name: lttng-kernel-tests-oldkernel
     lttngversion:
       - stable-2.7
     jobs:
+      - 'vm_tests_k{kversion}_l{lttngversion}':
       - 'baremetal_tests_k{kversion}_l{lttngversion}':
       - 'baremetal_benchmarks_k{kversion}_l{lttngversion}':
+
+- project:
+    name: lttng-kernel-tests-canary
+    kversion:
+      - v4.4.9
+    lttngversion:
+      - v2.8.1
+    jobs:
+      - 'vm_tests_k{kversion}_l{lttngversion}_canary'
+      - 'baremetal_tests_k{kversion}_l{lttngversion}_canary'
+      - 'baremetal_benchmarks_k{kversion}_l{lttngversion}_canary'
+
+- project:
+    name: lttng-kernel-tests-mainline
+    toolsversion:
+      - v2.9.3
+    ustversion:
+      - v2.9.0
+    modulesversion:
+      - stable-2.9
+    jobs:
+      - 'vm_tests_kmainline_t{toolsversion}_m{modulesversion}_u{ustversion}'
+      - 'vm_tests_fuzzing_kmainline_t{toolsversion}_m{modulesversion}_u{ustversion}'
+      - 'baremetal_tests_kmainline_t{toolsversion}_m{modulesversion}_u{ustversion}'
+      - 'baremetal_benchmarks_kmainline_t{toolsversion}_m{modulesversion}_u{ustversion}'
This page took 0.027409 seconds and 4 git commands to generate.