Add email notification to libdelorean jobs
[lttng-ci.git] / jobs / lttng-baremetal-tests.yaml
index 894f9b991c03d564fe77ed77dc7630871e9fee47..266c2d41c7f4b60c253cd6ac47bc5533a030517e 100644 (file)
@@ -1,11 +1,53 @@
 - defaults:
-    name: lttng-baremetal-tests
+    name: baremetal_benchmarks
+    description: |
+      Runs baremetal kernel tests over different combination of kernel and lttng configurations.
 
-    logrotate:
-      numToKeep: 5
+    triggers:
+      - pollscm:
+          cron: "H * * * 1-5"
+
+    properties:
+      - build-discarder:
+          num-to-keep: 10
+      - 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
 
-    publishers:
-      - email:
-          recipients: 'francis.deslauriers@efficios.com'
 
-## Templates
-- job-template:
-    name: baremetal_tests_k{kversion}_l{lttngversion}
+- defaults:
+    name: vm_tests
     description: |
       Runs baremetal kernel tests over different combination of kernel and lttng configurations.
-    defaults: lttng-baremetal-tests
+    project-type: freestyle
+    node: 'master'
+
     properties:
+      - build-discarder:
+          num-to-keep: 10
       - throttle:
           max-total: 2
           option: 'category'
           categories:
             - 'kvm-tests'
+
+    triggers:
+      - pollscm:
+          cron: "H * * * 1-5"
+
     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}
-            BUILD_DEVICE=kvm
+
+    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={lttngversion}
+            MODULES_BRANCH={lttngversion}
+            UST_BRANCH={lttngversion}
+            BUILD_DEVICE=baremetal
+    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/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
-    logrotate:
-      numToKeep: 5
+      Runs baremetal kernel tests over different combination of kernel and lttng configurations.
+    project-type: freestyle
+    node: 'master'
 
     properties:
+      - build-discarder:
+          num-to-keep: 10
       - throttle:
           max-total: 2
           option: 'category'
           categories:
             - 'baremetal-tests'
+
+    triggers:
+      - pollscm:
+          cron: "H * * * 1-5"
+
+    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
+
+    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:
+        - 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_l{lttngversion}
+    defaults: vm_tests_kmainline
+
+- job-template:
+    name: vm_tests_fuzzing_kmainline_l{lttngversion}
+    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}
+    defaults: baremetal_tests
+
+    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
       - inject:
           properties-content: |
+            TOOLS_BRANCH={lttngversion}
+            MODULES_BRANCH={lttngversion}
+            UST_BRANCH={lttngversion}
             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
+
+    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/torvalds/linux.git
+          refspec: "+refs/tags/*:refs/remotes/origin/tags/*"
+          branches:
+            - "master"
+          fastpoll: true
+          basedir: src/linux
+
+
+- job-template:
+    name: baremetal_benchmarks_kmainline_l{lttngversion}
+    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-file: properties.txt
-      - shell: !include-raw-escape: scripts/lttng-baremetal-tests/run-benchmarks.sh
+          properties-content: |
+            TOOLS_BRANCH={lttngversion}
+            MODULES_BRANCH={lttngversion}
+            UST_BRANCH={lttngversion}
+            BUILD_DEVICE=baremetal
+
+    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/torvalds/linux.git
+          refspec: "+refs/tags/*:refs/remotes/origin/tags/*"
+          branches:
+            - "master"
+          fastpoll: true
+          basedir: src/linux
+
 
 - 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'
 
+    properties:
+      - build-discarder:
+          num-to-keep: 100
+
     wrappers:
       - workspace-cleanup
       - timestamps
       - 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
       - inject:
       - 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.'
           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
+    lttngversion:
+      - master
+    jobs:
+      - 'vm_tests_kmainline_l{lttngversion}'
+      - 'vm_tests_fuzzing_kmainline_l{lttngversion}'
+      - 'baremetal_tests_kmainline_l{lttngversion}'
+      - 'baremetal_benchmarks_kmainline_l{lttngversion}'
This page took 0.03658 seconds and 4 git commands to generate.