target: 'deps/linux'
do-not-fingerprint: true
- shell: |
- git clone --depth=1 -b "v{kversion}" --reference $HOME/gitcache/linux-stable.git/ git://git-mirror.internal.efficios.com/kernel/stable/linux-stable.git src/linux
+ git clone --depth=1 -b "v{kversion}" --reference $HOME/gitcache/linux-stable.git/ git://git-mirror.internal.efficios.com/git/linux-all.git src/linux
- shell:
!include-raw-escape: scripts/latency-tracker/build.sh
artifacts: 'build/**'
allow-empty: false
- 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
+
- job-template:
- name: latency-tracker_{mversion}_build-vanilla
+ name: latency-tracker_{mversion}_{buildtype}-vanilla
defaults: latency-tracker
description: |
The LTTng modules provide Linux kernel tracing capability to the LTTng
name: 'kverfloor'
default: 'v3.12'
description: 'The lowest kernel version to build.'
+ - string:
+ name: 'kverceil'
+ default: ''
+ description: 'The highest kernel version to build. (excluded)'
+ - string:
+ name: 'kverfilter'
+ default: 'stable-head'
+ description: 'Kernel versions list filtering strategy.'
- string:
name: 'kgitrepo'
- default: 'git://git-mirror.internal.efficios.com/kernel/stable/linux-stable.git'
+ default: 'git://git-mirror.internal.efficios.com/git/linux-all.git'
description: 'The linux kernel git repository url.'
- string:
name: 'kbuildjob'
- default: 'latency-tracker_VERSION_param-build'
+ default: 'latency-tracker_VERSION_param-{buildtype}'
description: 'The parametrized job to use for child builds.'
builders:
- system-groovy:
command:
- !include-raw-escape: scripts/latency-tracker/master-vanilla.groovy
+ !include-raw-escape: scripts/latency-tracker/master.groovy
publishers:
- workspace-cleanup
- email-ext:
- recipients: jdesfossez@efficios.com
+ 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
- job-template:
name: latency-tracker_{mversion}_build-{uversion}
default: '20'
description: 'The maximum number of concurrent child build to run.'
- string:
- name: 'uversion'
- default: '{uversion}'
+ name: 'kverfloor'
+ default: ''
description: 'The lowest kernel version to build.'
+ - string:
+ name: 'kverceil'
+ default: ''
+ description: 'The highest kernel version to build. (excluded)'
+ - string:
+ name: 'kverfilter'
+ default: 'stable-head'
+ description: 'Kernel versions list filtering strategy.'
- string:
name: 'kgitrepo'
default: 'git://git-mirror.internal.efficios.com/git/ubuntu-{uversion}.git'
name: 'kbuildjob'
default: 'latency-tracker_VERSION_param-build'
description: 'The parametrized job to use for child builds.'
+ - string:
+ name: 'uversion'
+ default: '{uversion}'
+ description: 'The lowest kernel version to build.'
builders:
- system-groovy:
command:
- !include-raw-escape: scripts/latency-tracker/master-ubuntu.groovy
+ !include-raw-escape: scripts/latency-tracker/master.groovy
publishers:
- workspace-cleanup
- email-ext:
- recipients: jdesfossez@efficios.com
+ 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
+
- job-template:
name: latency-tracker_{mversion}_build-rt
name: 'kverfloor'
default: 'v2.6.36-rt0-rebase'
description: 'The lowest kernel version to build.'
+ - string:
+ name: 'kverceil'
+ default: ''
+ description: 'The highest kernel version to build. (excluded)'
+ - string:
+ name: 'kverfilter'
+ default: 'stable-head'
+ description: 'Kernel versions list filtering strategy.'
- string:
name: 'kgitrepo'
default: 'git://git-mirror.internal.efficios.com/kernel/rt/linux-rt-devel.git'
publishers:
- workspace-cleanup
- email-ext:
- recipients: jdesfossez@efficios.com
+ 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
- job-template:
name: latency-tracker_VERSION_param-build
default: 'master'
description: 'The latency-tracker branch to build.'
- string:
- name: 'kversion'
+ name: 'ktag'
default: ''
description: 'The linux kernel git tag to build against.'
- string:
name: 'kgitrepo'
- default: 'git://git-mirror.internal.efficios.com/kernel/stable/linux-stable.git'
+ default: 'git://git-mirror.internal.efficios.com/git/linux-all.git'
description: 'The linux kernel git repository url.'
concurrent: true
builders:
- shell: |
- git clone --depth=1 -b "$kversion" --reference $HOME/gitcache/linux-stable.git/ "$kgitrepo" src/linux
+ git clone --depth=1 -b "$ktag" --reference $HOME/gitcache/linux-stable.git/ "$kgitrepo" src/linux
+ - shell:
+ !include-raw-escape: scripts/latency-tracker/param-build.sh
+
+ publishers:
+ - workspace-cleanup
+
+- job-template:
+ name: latency-tracker_VERSION_param-crossbuild
+ defaults: latency-tracker
+ description: |
+ This is a parametrized job used by 'master' jobs to build any combinations
+ of latency-tracker and linux kernel versions.
+
+ <p>Job is managed by Jenkins Job Builder.</p>
+
+ project-type: matrix
+ node: 'master' # Applies only to matrix flyweight task
+ axes:
+ - axis:
+ type: user-defined
+ name: cross_arch
+ values: '{obj:cross_arch}'
+
+ properties:
+ - build-discarder:
+ days-to-keep: 2
+
+ parameters:
+ - string:
+ name: 'mversion'
+ default: 'master'
+ description: 'The latency-tracker branch to build.'
+ - string:
+ name: 'ktag'
+ default: ''
+ description: 'The linux kernel git tag to build against.'
+ - string:
+ name: 'kgitrepo'
+ default: 'git://git-mirror.internal.efficios.com/git/linux-all.git'
+ description: 'The linux kernel git repository url.'
+
+ concurrent: true
+
+ scm:
+ - git:
+ url: git://github.com/efficios/latency-tracker.git
+ browser: githubweb
+ browser-url: https://github.com/efficios/latency-tracker
+ branches:
+ - "${{mversion}}"
+ skip-tag: true
+ basedir: src/latency-tracker
+
+ triggers:
+
+ builders:
+ - shell: |
+ git clone --depth=1 -b "$ktag" --reference $HOME/gitcache/linux-stable.git/ "$kgitrepo" src/linux
- shell:
!include-raw-escape: scripts/latency-tracker/param-build.sh
builders:
- shell: |
- git clone --depth=1 -b v4.8 --reference $HOME/gitcache/linux-stable.git/ git://git-mirror.internal.efficios.com/kernel/stable/linux-stable.git src/linux
+ git clone --depth=1 -b v4.9 --reference $HOME/gitcache/linux-stable.git/ git://git-mirror.internal.efficios.com/kernel/stable/linux-stable.git src/linux
cd src/linux
make defconfig
sed -i "s/# CONFIG_KALLSYMS_ALL is not set/CONFIG_KALLSYMS_ALL=y/g" .config
allow-empty: false
- cppcheck:
pattern: 'cppcheck.xml'
- - email:
- recipients: 'ci-notification@lists.lttng.org'
- notify-every-unstable-build: true
- send-to-individuals: false
+ - 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
- job-template:
name: latency-tracker_{mversion}_sloccount
name: latency-tracker
github_user: efficios
github_name: latency-tracker
+ email_to: 'ci-notification@lists.lttng.org, cc:jdesfossez@efficios.com'
mversion:
- master
jobs:
- - 'latency-tracker_{mversion}_build-vanilla'
+ - 'latency-tracker_{mversion}_{buildtype}-vanilla':
+ buildtype: build
- 'latency-tracker_{mversion}_build-rt':
- 'latency-tracker_{mversion}_build-{uversion}':
uversion:
- xenial
+ - 'latency-tracker_{mversion}_{buildtype}-vanilla':
+ buildtype: crossbuild
- 'latency-tracker_VERSION_param-build':
arch: !!python/tuple [x86-32, x86-64]
+ - 'latency-tracker_VERSION_param-crossbuild':
+ cross_arch: !!python/tuple [armhf, arm64]
- 'latency-tracker_{mversion}_cppcheck'
- 'latency-tracker_{mversion}_sloccount':
mversion: master