X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=jobs%2Flttng-baremetal-tests.yaml;h=3f055b0defe84518749d609e299ab130cdd87af6;hb=d2d979a6686924636aa1edb218251d86138476df;hp=9f6a664d276d80deb435be74a3afc1b64144969e;hpb=a2a6063c6e30d683ec52f45fcf90fcdf03b70705;p=lttng-ci.git diff --git a/jobs/lttng-baremetal-tests.yaml b/jobs/lttng-baremetal-tests.yaml index 9f6a664..3f055b0 100644 --- a/jobs/lttng-baremetal-tests.yaml +++ b/jobs/lttng-baremetal-tests.yaml @@ -1,11 +1,73 @@ - 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 + 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-ext: + recipients: '{obj:email_to}' + reply-to: ci-notification@lists.lttng.org + always: false + unstable: false + first-failure: true + first-unstable: true + not-built: false + aborted: false + regression: false + failure: false + second-failure: false + improvement: false + still-failing: false + success: false + fixed: false + fixed-unhealthy: true + still-unstable: false + pre-build: false + matrix-trigger: only-parent + send-to: + - recipients + - 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 @@ -32,26 +94,39 @@ 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: + - build-discarder: + num-to-keep: 10 - 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" -## 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 @@ -59,12 +134,64 @@ - 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-ext: + recipients: '{obj:email_to}' + reply-to: ci-notification@lists.lttng.org + always: false + unstable: false + first-failure: true + first-unstable: true + not-built: false + aborted: false + regression: false + failure: false + second-failure: false + improvement: false + still-failing: false + success: false + fixed: false + fixed-unhealthy: true + still-unstable: false + pre-build: false + matrix-trigger: only-parent + send-to: + - recipients + - workspace-cleanup + builders: - shell: !include-raw-escape: scripts/lttng-baremetal-tests/generate-properties-master.sh - trigger-builds: @@ -73,16 +200,31 @@ 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} - description: | - Runs baremetal kernel benchmarks over different combination of kernel and lttng configurations. - defaults: lttng-baremetal-tests - logrotate: - numToKeep: 5 +- 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 @@ -101,13 +243,34 @@ 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: - - "{kversion}" - shallow-clone: true - skip-tag: true + - "master" fastpoll: true basedir: src/linux + + +- defaults: + name: baremetal_tests + description: | + 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 @@ -115,7 +278,111 @@ - credentials-binding: - text: credential-id: jenkins_lava_key - variable: LAVA_FRDESO_TOKEN + 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 + 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: + - workspace-cleanup + - email-ext: + recipients: '{obj:email_to}' + reply-to: ci-notification@lists.lttng.org + always: false + unstable: false + first-failure: true + first-unstable: true + not-built: false + aborted: false + regression: false + failure: false + second-failure: false + improvement: false + still-failing: false + success: false + fixed: false + fixed-unhealthy: true + still-unstable: false + pre-build: false + matrix-trigger: only-parent + send-to: + - recipients + + 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: @@ -124,27 +391,129 @@ 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_l{lttngversion} + 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={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-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-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: @@ -171,6 +540,10 @@ - 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.' @@ -189,29 +562,63 @@ - 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 + email_to: 'ci-notification@lists.lttng.org, cc:francis.deslauriers@efficios.com' 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 + email_to: 'ci-notification@lists.lttng.org, cc:francis.deslauriers@efficios.com' kversion: - linux-3.18.y - linux-4.4.y 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 + email_to: 'ci-notification@lists.lttng.org, cc:francis.deslauriers@efficios.com' + 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 + email_to: 'ci-notification@lists.lttng.org, cc:francis.deslauriers@efficios.com' + jobs: + - 'vm_tests_kmainline_l{lttngversion}' + - 'vm_tests_fuzzing_kmainline_l{lttngversion}' + - 'baremetal_tests_kmainline_l{lttngversion}' + - 'baremetal_benchmarks_kmainline_l{lttngversion}'