Merge pull request #21 from frdeso/kprobe_fuzzing_pr
[lttng-ci.git] / jobs / lttng-baremetal-tests.yaml
index a8b879e36b42890c451d95b253797724687b2332..b13ff54d3228ee80a2be170cd2f6724f1dfa2a13 100644 (file)
@@ -5,7 +5,7 @@
 
     triggers:
       - pollscm:
-          cron: "@hourly"
+          cron: "H * * * 1-5"
     logrotate:
       numToKeep: 10
 
       - credentials-binding:
           - text:
               credential-id: jenkins_lava_key
-              variable: LAVA_FRDESO_TOKEN
+              variable: LAVA_JENKINS_TOKEN
+          - file:
+              credential-id: system_tests_storage_key
+              variable: identity_file
       - inject:
           properties-content: |
             TOOLS_BRANCH={lttngversion}
@@ -41,6 +44,7 @@
         - gallery-type: archived-images-gallery
           title: Results
           includes: '*.png'
+      - workspace-cleanup
     scm:
       - git:
           url: git://git-mirror.internal.efficios.com/lttng/lttng-tools.git
@@ -69,6 +73,7 @@
 
     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'
       - 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: kvm_tests
+    name: vm_tests
     description: |
       Runs baremetal kernel tests over different combination of kernel and lttng configurations.
     project-type: freestyle
@@ -93,7 +97,7 @@
             - 'kvm-tests'
     triggers:
       - pollscm:
-          cron: "@hourly"
+          cron: "H * * * 1-5"
     logrotate:
       numToKeep: 10
 
       - credentials-binding:
           - text:
               credential-id: jenkins_lava_key
-              variable: LAVA_FRDESO_TOKEN
+              variable: LAVA_JENKINS_TOKEN
       - inject:
           properties-content: |
             BUILD_DEVICE=kvm
     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
       - trigger-builds:
           properties-file: properties.txt
       - shell: !include-raw-escape: scripts/lttng-baremetal-tests/run-kvm-tests.sh
 
+- 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: |
             - 'baremetal-tests'
     triggers:
       - pollscm:
-          cron: "@hourly"
+          cron: "H * * * 1-5"
     logrotate:
       numToKeep: 10
 
       - credentials-binding:
           - text:
               credential-id: jenkins_lava_key
-              variable: LAVA_FRDESO_TOKEN
+              variable: LAVA_JENKINS_TOKEN
       - inject:
           properties-content: |
             UST_BRANCH={lttngversion}
     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
       - trigger-builds:
     name: baremetal_benchmarks_k{kversion}_l{lttngversion}
     defaults: baremetal_benchmarks
 - job-template:
-    name: kvm_tests_k{kversion}_l{lttngversion}
-    defaults: kvm_tests
+    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: kvm_tests_k{kversion}_l{lttngversion}_canary
-    defaults: kvm_tests
+    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: kvm_tests_kmainline_l{lttngversion}
-    defaults: kvm_tests
-    triggers:
-      - pollscm:
-          cron: "@daily"
-    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
-          refspec: "+refs/tags/*:refs/remotes/origin/tags/*"
-          branches:
-            - "master"
-          fastpoll: true
-          basedir: src/linux
+    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:
+        - project: "build_kernel_PARAM"
+          property-file: 'properties.txt'
+          block: true
+      - inject:
+          properties-file: properties.txt
+      - shell: !include-raw-escape: scripts/lttng-baremetal-tests/run-kvm-fuzzing-tests.sh
 
 - job-template:
-    name: baremetal_tests_kmainline_l{lttngversion}
+    name: baremetal_tests_kmainline_t{toolsversion}_m{modulesversion}_u{ustversion}
     defaults: baremetal_tests
     triggers:
       - pollscm:
-          cron: "@daily"
+          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:
-            - "{lttngversion}"
+            - "{toolsversion}"
           shallow-clone: true
           skip-tag: true
           fastpoll: true
       - git:
           url: git://git-mirror.internal.efficios.com/lttng/lttng-modules.git
           branches:
-            - "{lttngversion}"
+            - "{modulesversion}"
           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
+          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
       - credentials-binding:
           - text:
               credential-id: jenkins_lava_key
-              variable: LAVA_FRDESO_TOKEN
+              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
-    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-benchmarks.sh
-- job-template:
-    name: baremetal_benchmarks_kmainline_l{lttngversion}
-    defaults: baremetal_benchmarks
-    triggers:
-      - pollscm:
-          cron: "@daily"
     scm:
       - git:
           url: git://git-mirror.internal.efficios.com/lttng/lttng-tools.git
           branches:
-            - "{lttngversion}"
+            - "{toolsversion}"
           shallow-clone: true
           skip-tag: true
           fastpoll: true
       - git:
           url: git://git-mirror.internal.efficios.com/lttng/lttng-modules.git
           branches:
-            - "{lttngversion}"
+            - "{modulesversion}"
           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
+          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
-    wrappers:
-      - workspace-cleanup
-      - timestamps
-      - ansicolor
-      - credentials-binding:
-          - text:
-              credential-id: jenkins_lava_key
-              variable: LAVA_FRDESO_TOKEN
-      - inject:
-          properties-content: |
-            BUILD_DEVICE=baremetal
-    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-benchmarks.sh
 
 - job:
     name: build_kernel_PARAM
     concurrent: true
 
     logrotate:
-      numToKeep: 20
+      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: '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:
-      - 'kvm_tests_k{kversion}_l{lttngversion}'
+      - 'vm_tests_k{kversion}_l{lttngversion}'
       - 'baremetal_benchmarks_k{kversion}_l{lttngversion}'
       - 'baremetal_tests_k{kversion}_l{lttngversion}'
 
     lttngversion:
       - stable-2.7
     jobs:
-      - 'kvm_tests_k{kversion}_l{lttngversion}':
+      - 'vm_tests_k{kversion}_l{lttngversion}':
       - 'baremetal_tests_k{kversion}_l{lttngversion}':
       - 'baremetal_benchmarks_k{kversion}_l{lttngversion}':
 
     lttngversion:
       - v2.8.1
     jobs:
-      - 'kvm_tests_k{kversion}_l{lttngversion}_canary'
+      - '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
-    lttngversion:
-      - v2.8.1
+    toolsversion:
+      - v2.9.3
+    ustversion:
+      - v2.9.0
+    modulesversion:
+      - stable-2.9
     jobs:
-      - 'kvm_tests_kmainline_l{lttngversion}'
-      - 'baremetal_tests_kmainline_l{lttngversion}'
-      - 'baremetal_benchmarks_kmainline_l{lttngversion}'
+      - '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.030209 seconds and 4 git commands to generate.