---
## Anchors
-- system_tests_parameters_defaults: &system_tests_parameters_defaults
+- _system_tests_parameters_defaults: &system_tests_parameters_defaults
name: 'system_tests_parameters_defaults'
parameters:
- string:
send-to:
- recipients
-## Defaults
-- defaults:
- name: baremetal_benchmarks
- description: |
- Runs baremetal kernel benchmarks over different combination of kernel and lttng configurations.
- project-type: freestyle
- node: 'amd64'
-
- <<: *system_tests_parameters_defaults
-
- properties:
- - build-discarder:
- num-to-keep: 10
- - throttle:
- max-total: 2
- option: 'category'
- categories:
- - 'baremetal-tests'
-
- wrappers:
- - workspace-cleanup
- - timestamps
- - ansicolor
- - credentials-binding:
- - text:
- credential-id: jenkins_lava_key
- variable: LAVA_JENKINS_TOKEN
- - text:
- credential-id: jenkins_lava2_key
- variable: LAVA2_JENKINS_TOKEN
- - file:
- credential-id: system_tests_storage_key
- variable: identity_file
- - inject:
- properties-content: |
- BUILD_DEVICE=baremetal
- scm:
- - git:
- url: https://github.com/lttng/lttng-ci
- basedir: src/lttng-ci/
-
- builders:
- - shell: !include-raw-escape: scripts/system-tests/generate-properties-master.sh
- - shell: !include-raw-escape: scripts/system-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/system-tests/run-baremetal-benchmarks.sh
- - shell: !include-raw-escape: scripts/system-tests/summarize-results.sh
-
- publishers:
- - archive:
- artifacts: '*.png,*.csv'
- stable: true
- do-not-fingerprint: true
- - image-gallery:
- - gallery-type: archived-images-gallery
- title: Results
- includes: '*.png'
- - workspace-cleanup
-
-- defaults:
- name: vm_tests
+- job-template:
+ name: vm_tests_k{kversion}_l{lttngversion}
description: |
Runs root_regression and root_destructive_tests on a virtual machine over different combinations of kernel and lttng configurations.
project-type: freestyle
- build-discarder:
num-to-keep: 10
- throttle:
- max-total: 2
+ max-total: 4
option: 'category'
categories:
- 'kvm-tests'
- inject:
properties-content: |
BUILD_DEVICE=kvm
+ LTTNG_VERSION={lttngversion}
scm:
- git:
publishers:
- workspace-cleanup
+ - email-ext:
+ recipients: '{obj:email_to}'
+ 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: true
+ success: false
+ fixed: false
+ fixed-unhealthy: true
+ still-unstable: false
+ pre-build: false
+ matrix-trigger: only-parent
+ send-to:
+ - recipients
-- defaults:
- name: vm_tests_fuzzing
- description: |
- Runs virtual machine fuzzing tests over different combination of kernel and lttng configurations.
- project-type: freestyle
- node: 'amd64'
- <<: *system_tests_parameters_defaults
-
- properties:
- - build-discarder:
- num-to-keep: 10
- - throttle:
- max-total: 2
- option: 'category'
- categories:
- - 'kvm-tests'
-
- wrappers:
- - workspace-cleanup
- - timestamps
- - ansicolor
- - credentials-binding:
- - text:
- credential-id: jenkins_lava_key
- variable: LAVA_JENKINS_TOKEN
- - text:
- credential-id: jenkins_lava2_key
- variable: LAVA2_JENKINS_TOKEN
- - inject:
- properties-content: |
- BUILD_DEVICE=kvm
-
- scm:
- - git:
- url: https://github.com/lttng/lttng-ci
- basedir: src/lttng-ci/
-
- builders:
- - shell: !include-raw-escape: scripts/system-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/system-tests/run-kvm-fuzzing-tests.sh
-
- publishers:
- - workspace-cleanup
-
-- defaults:
- name: baremetal_tests
+- job-template:
+ name: baremetal_tests_k{kversion}_l{lttngversion}
description: |
Runs perf_regression tests on a baremetal machine over different combinations of kernel and lttng configurations.
project-type: freestyle
properties:
- build-discarder:
num-to-keep: 10
+ artifact-num-to-keep: 2
- throttle:
max-total: 2
option: 'category'
- inject:
properties-content: |
BUILD_DEVICE=baremetal
+ LTTNG_VERSION={lttngversion}
scm:
- git:
publishers:
- workspace-cleanup
-## Templates
- job-template:
name: build_kernel_PARAM
description: |
- git:
url: https://github.com/lttng/lttng-ci
basedir: src/lttng-ci/
- - git:
- url : $LTTNG_MODULES_REPO
- basedir: src/lttng-modules/
- branches:
- - $LTTNG_MODULES_COMMIT_ID
builders:
+ - shell: !include-raw-escape: scripts/system-tests/checkout-modules.sh
- shell: !include-raw-escape: scripts/system-tests/generate-properties-slave.sh
- inject:
properties-file: properties.txt
project-type: freestyle
node: 'master'
+ parameters:
+ - bool:
+ name: 'FORCE_JOB_RUN'
+ default: false
+ description: 'Force the child jobs to run'
+ - bool:
+ name: 'FORCE_FAILED_JOB_RUN'
+ default: false
+ description: 'Force the failed child jobs to run'
properties:
- build-discarder:
publishers:
- system_tests_email_ext_default
-- 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
-
-- job-template:
- name: vm_tests_fuzzing_k{kversion}_l{lttngversion}
- defaults: vm_tests_fuzzing
+## Project
# 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_benchmarks_canary
- defaults: baremetal_benchmarks
-
-- job-template:
- name: baremetal_tests_canary
- defaults: baremetal_tests
-- job-template:
- name: vm_tests_canary
- defaults: vm_tests
-
-## Project
+# Only build the "supported" version against the master kernel since
+# "unsupported" version do not get backport for new kernel.
- project:
- name: system-tests
+ name: system-tests-supported-kmaster
+ email_to: 'ci-notification@lists.lttng.org, cc:jgalar@efficios.com'
kversion:
- master
- - linux-4.4.y
- - linux-4.9.y
lttngversion:
- master
- - stable-2.9
- - stable-2.10
+ - stable-2.12
+ - stable-2.13
jobs:
- 'vm_tests_k{kversion}_l{lttngversion}'
- - 'baremetal_benchmarks_k{kversion}_l{lttngversion}'
- 'baremetal_tests_k{kversion}_l{lttngversion}'
+# Test against particular linux version.
- project:
- name: system-tests-oldkernel
+ name: system-tests
+ email_to: 'ci-notification@lists.lttng.org, cc:jgalar@efficios.com'
kversion:
- - linux-3.18.y
+ - canary
+ - linux-4.9.y
+ - linux-4.14.y
+ - linux-4.19.y
+ - linux-5.4.y
+ - linux-5.10.y
+ - linux-5.15.y
+ - linux-5.16.y
lttngversion:
- - stable-2.7
+ - canary
+ - master
+ - stable-2.12
+ - stable-2.13
jobs:
- - 'vm_tests_k{kversion}_l{lttngversion}':
- - 'baremetal_tests_k{kversion}_l{lttngversion}':
- - 'baremetal_benchmarks_k{kversion}_l{lttngversion}':
-
+ - 'vm_tests_k{kversion}_l{lttngversion}'
+ - 'baremetal_tests_k{kversion}_l{lttngversion}'
- project:
- name: system-tests-canary
+ name: system-tests-vm-only
+ email_to: 'ci-notification@lists.lttng.org, cc:jgalar@efficios.com'
+ kversion:
+ - linux-3.18.y
+ lttngversion:
+ - master
+ - stable-2.12
+ - stable-2.13
jobs:
- - 'vm_tests_canary'
- - 'baremetal_tests_canary'
- - 'baremetal_benchmarks_canary'
+ - 'vm_tests_k{kversion}_l{lttngversion}'
-- project:
- name: system-fuzzing-tests
- kversion: master
- lttngversion: master
- jobs:
- - 'vm_tests_fuzzing_k{kversion}_l{lttngversion}'
- project:
name: system-general
test_type:
- vm_tests
- baremetal_tests
- - baremetal_benchmarks
jobs:
- 'build_kernel_PARAM'
- 'system_ALL_{test_type}_trigger'