---
## Anchors
-- system_tests_parameters_defaults: &system_tests_parameters_defaults
+- _system_tests_parameters_defaults: &system_tests_parameters_defaults
name: 'system_tests_parameters_defaults'
parameters:
- string:
name: 'LTTNG_UST_REPO'
default: 'https://github.com/lttng/lttng-ust.git'
description: 'LTTng-UST git repo to checkout the UST id'
+ - string:
+ name: 'ROOTFS_URL'
+ default: 'https://obj.internal.efficios.com/lava/rootfs_amd64_bookworm_2024-01-15.tar.gz'
+ description: 'The URL at which the system root FS can be downloaded'
+ - string:
+ name: 'LTTNG_CI_REPO'
+ default: 'https://github.com/lttng/lttng-ci.git'
+ description: 'LTTng-ci git repo to checkout the CI scripts'
+ - string:
+ name: 'LTTNG_CI_BRANCH'
+ default: 'master'
+ description: 'The branch of the CI repository to clone for job scripts'
+ - string:
+ name: 'LAVA_HOST'
+ default: 'lava-master-03.internal.efficios.com'
+ description: 'The hostname of the LAVA instance'
+ - choice:
+ name: 'LAVA_PROTO'
+ choices:
+ - 'http'
+ - 'https'
+ description: 'The protocol to use with the LAVA host'
- publisher:
name: 'system_tests_email_ext_default'
publishers:
- email-ext:
- recipients: 'ci-notification@lists.lttng.org, cc:francis.deslauriers@efficios.com'
+ recipients: 'ci-notification@lists.lttng.org'
reply-to: ci-notification@lists.lttng.org
always: false
unstable: false
send-to:
- recipients
-## Templates
-- job-template:
- name: baremetal_benchmarks_k{kversion}_l{lttngversion}
- 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
-
- 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
- node: 'amd64'
+ node: 'deb12-amd64'
<<: *system_tests_parameters_defaults
properties:
- inject:
properties-content: |
BUILD_DEVICE=kvm
+ LTTNG_VERSION={lttngversion}
+ LTTNG_CI_REPO=${{LTTNG_CI_REPO}}
+ LTTNG_CI_BRANCH=${{LTTNG_CI_BRANCH}}
+ LAVA_HOST=${{LAVA_HOST}}
+ LAVA_PROTO=${{LAVA_PROTO}}
scm:
- git:
- url: https://github.com/lttng/lttng-ci
+ url: "${{LTTNG_CI_REPO}}"
basedir: src/lttng-ci/
+ branches:
+ - "${{LTTNG_CI_BRANCH}}"
builders:
- shell: !include-raw-escape: scripts/system-tests/generate-properties-master.sh
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
- 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
- node: 'amd64'
+ node: 'deb12-amd64'
<<: *system_tests_parameters_defaults
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}
+ LTTNG_CI_REPO=${{LTTNG_CI_REPO}}
+ LTTNG_CI_BRANCH=${{LTTNG_CI_BRANCH}}
+ LAVA_HOST=${{LAVA_HOST}}
+ LAVA_PROTO=${{LAVA_PROTO}}
scm:
- git:
- url: https://github.com/lttng/lttng-ci
+ url: "${{LTTNG_CI_REPO}}"
basedir: src/lttng-ci/
+ branches:
+ - "${{LTTNG_CI_BRANCH}}"
builders:
- shell: !include-raw-escape: scripts/system-tests/generate-properties-master.sh
description: |
Builds a Linux Kernel and LTTng Modules if necessary
concurrent: true
- node: 'amd64'
+ node: 'deb12-amd64'
parameters:
- string:
- string:
name: 'S3_STORAGE_LTTNG_MODULES'
description: 'Path to store the LTTng Modules'
+ - string:
+ name: 'LTTNG_CI_REPO'
+ default: 'https://github.com/lttng/lttng-ci.git'
+ description: 'LTTng-ci git repo to checkout the CI scripts'
+ - string:
+ name: 'LTTNG_CI_BRANCH'
+ default: 'master'
+ description: 'The branch of the CI repository to clone for job scripts'
properties:
- build-discarder:
scm:
- git:
- url: https://github.com/lttng/lttng-ci
+ url: "${{LTTNG_CI_REPO}}"
basedir: src/lttng-ci/
- - git:
- url : $LTTNG_MODULES_REPO
- basedir: src/lttng-modules/
branches:
- - $LTTNG_MODULES_COMMIT_ID
+ - "${{LTTNG_CI_BRANCH}}"
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
description: 'Force the child jobs to run'
- bool:
name: 'FORCE_FAILED_JOB_RUN'
- default: false
+ default: true
description: 'Force the failed child jobs to run'
properties:
# 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
+# Only build the "supported" version against the master kernel since
+# "unsupported" version do not get backport for new kernel.
+- project:
+ name: system-tests-supported-kmaster
+ email_to: 'ci-notification@lists.lttng.org, cc:jgalar@efficios.com'
+ kversion:
+ - master
+ lttngversion:
+ - master
+ - stable-2.13
+ jobs:
+ - 'vm_tests_k{kversion}_l{lttngversion}'
+ - 'baremetal_tests_k{kversion}_l{lttngversion}'
+
+## Views
+- view-template:
+ name: 'System tests'
+ view-type: list
+ regex: 'vm_tests_.*|baremetal_tests_.*|baremetal_benchmarks_.*|system_.*'
+
+# Test against particular linux version.
- project:
name: system-tests
+ email_to: 'ci-notification@lists.lttng.org, cc:jgalar@efficios.com'
kversion:
- canary
- - master
- - linux-4.4.y
- linux-4.9.y
- linux-4.14.y
- linux-4.19.y
- - linux-5.0.y
- - linux-5.1.y
+ - linux-5.4.y
+ - linux-5.10.y
+ - linux-5.15.y
+ - linux-5.16.y
+ - linux-6.1.y
+ - linux-6.6.y
lttngversion:
- canary
- master
- - stable-2.9
- - stable-2.10
- - stable-2.11
+ - stable-2.13
+ jobs:
+ - 'vm_tests_k{kversion}_l{lttngversion}'
+ - 'baremetal_tests_k{kversion}_l{lttngversion}'
+- project:
+ name: system-tests-2.12
+ email_to: 'ci-notification@lists.lttng.org, cc:jgalar@efficios.com'
+ kversion:
+ - 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.12
jobs:
- 'vm_tests_k{kversion}_l{lttngversion}'
- - 'baremetal_benchmarks_k{kversion}_l{lttngversion}'
- 'baremetal_tests_k{kversion}_l{lttngversion}'
- project:
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.9
- - stable-2.10
- - stable-2.11
- stable-2.12
+ - stable-2.13
jobs:
- 'vm_tests_k{kversion}_l{lttngversion}'
test_type:
- vm_tests
- baremetal_tests
- - baremetal_benchmarks
jobs:
- 'build_kernel_PARAM'
- 'system_ALL_{test_type}_trigger'
+
+- project:
+ name: system-tests-views
+ views:
+ - 'System tests'