project-type: freestyle
- logrotate:
- numToKeep: 2
-
wrappers:
- workspace-cleanup
- timestamps
shallow-clone: true
skip-tag: true
fastpoll: true
- basedir: lttng-modules
+ basedir: src/lttng-modules
triggers:
- pollscm:
cron: "@hourly"
properties:
+ - build-discarder:
+ num-to-keep: 2
- github:
url: https://github.com/{github_user}/{github_name}
- copyartifact:
project: kernel_{kversion}_{buildtype}/arch=$arch
which-build: last-successful
- stable: true
+ stable: false
filter: 'build/**'
target: 'deps/linux'
do-not-fingerprint: true
- shell: |
- git clone --depth=1 -b "v{kversion}" --reference $HOME/gitcache/linux-stable.git/ git://artifacts.internal.efficios.com/git/linux-stable.git 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/lttng-modules/build.sh
- workspace-cleanup
- job-template:
- name: lttng-modules_{mversion}_build-vanilla
+ name: lttng-modules_{mversion}_{buildtype}-vanilla
defaults: lttng-modules
description: |
The LTTng modules provide Linux kernel tracing capability to the LTTng
description: 'The maximum number of concurrent child build to run.'
- string:
name: 'kverfloor'
- default: 'v2.6.36'
+ default: '{kverfloor}'
description: 'The lowest kernel version to build.'
+ - string:
+ name: 'kverceil'
+ default: '{kverceil}'
+ description: 'The highest kernel version to build. (excluded)'
+ - string:
+ name: 'kverfilter'
+ default: '{kverfilter}'
+ description: 'Kernel versions list filtering strategy.'
- string:
name: 'kgitrepo'
- default: 'git://artifacts.internal.efficios.com/git/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: 'lttng-modules_VERSION_param-build'
+ default: 'lttng-modules_VERSION_param-{buildtype}'
description: 'The parametrized job to use for child builds.'
builders:
description: 'The lowest kernel version to build.'
- string:
name: 'kgitrepo'
- default: 'git://artifacts.internal.efficios.com/git/ubuntu-{uversion}.git'
+ default: 'git://git-mirror.internal.efficios.com/git/ubuntu-{uversion}.git'
description: 'The linux kernel git repository url.'
- string:
name: 'kbuildjob'
description: 'The lowest kernel version to build.'
- string:
name: 'kgitrepo'
- default: 'git://artifacts.internal.efficios.com/git/linux-rt-devel.git'
+ default: 'git://git-mirror.internal.efficios.com/kernel/rt/linux-rt-devel.git'
description: 'The linux kernel git repository url.'
- string:
name: 'kbuildjob'
name: arch
values: '{obj:arch}'
+ properties:
+ - build-discarder:
+ days-to-keep: 2
+
parameters:
- string:
name: 'mversion'
description: 'The linux kernel git tag to build against.'
- string:
name: 'kgitrepo'
- default: 'git://artifacts.internal.efficios.com/git/linux-stable.git'
+ default: 'git://git-mirror.internal.efficios.com/git/linux-all.git'
description: 'The linux kernel git repository url.'
concurrent: true
- logrotate:
- daysToKeep: 2
scm:
- git:
- workspace-cleanup
- job-template:
- name: lttng-modules_{mversion}_coverity
+ name: lttng-modules_VERSION_param-crossbuild
defaults: lttng-modules
- node: 'x86-64'
+ description: |
+ This is a parametrized job used by 'master' jobs to build any combinations
+ of lttng-modules and linux kernel versions.
- triggers:
- - pollscm:
- cron: "@daily"
+ <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 lttng-modules branch to build.'
+ - string:
+ name: 'kversion'
+ 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:
browser: githubweb
browser-url: https://github.com/lttng/lttng-modules
branches:
- - "{mversion}"
+ - "${{mversion}}"
+ skip-tag: true
+ basedir: src/lttng-modules
+
+ triggers:
+
+ builders:
+ - shell: |
+ git clone --depth=1 -b "$kversion" --reference $HOME/gitcache/linux-stable.git/ "$kgitrepo" src/linux
+ - shell:
+ !include-raw-escape: scripts/lttng-modules/param-build.sh
+
+ publishers:
+ - workspace-cleanup
+
+- job-template:
+ name: lttng-modules_{mversion}_coverity
+ defaults: lttng-modules
+ node: 'x86-64'
+
+ triggers:
+ - pollscm:
+ cron: "@daily"
wrappers:
- workspace-cleanup
builders:
- shell: |
- git clone --depth=1 -b v4.4 --reference $HOME/gitcache/linux-stable.git/ git://artifacts.internal.efficios.com/git/linux-stable.git linux
- cd 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
make modules_prepare
- cd ..
- shell:
!include-raw-escape: scripts/common/coverity.sh
- pollscm:
cron: "@daily"
- scm:
- - git:
- url: git://github.com/lttng/lttng-modules.git
- browser: githubweb
- browser-url: https://github.com/lttng/lttng-modules
- branches:
- - "{mversion}"
-
builders:
- shell: |
rm -f cppcheck.xml
- cppcheck --enable=all --xml --xml-version=2 $WORKSPACE 2> cppcheck.xml
+ cppcheck --enable=all --xml --xml-version=2 $WORKSPACE/src/lttng-modules 2> cppcheck.xml
publishers:
- archive:
builders:
- shell: |
- cloc --by-file --xml --out=cloc.xml lttng-modules/
+ cloc --by-file --xml --out=cloc.xml src/lttng-modules/
publishers:
- archive:
name: lttng-modules
github_user: lttng
github_name: lttng-modules
- mversion:
- !include: jobs/inc/lttng-modules-versions.yaml.inc
jobs:
- - 'lttng-modules_{mversion}_build-vanilla'
+ - 'lttng-modules_{mversion}_{buildtype}-vanilla':
+ mversion:
+ - stable-2.9
+ - master
+ buildtype: build
+ kverfloor: v2.6.36
+ kverceil: ''
+ kverfilter: none
+ - 'lttng-modules_{mversion}_{buildtype}-vanilla':
+ mversion: stable-2.7
+ buildtype: build
+ kverfloor: v2.6.36
+ kverceil: v4.8-rc0
+ kverfilter: none
+ - 'lttng-modules_{mversion}_{buildtype}-vanilla':
+ mversion: stable-2.8
+ buildtype: build
+ kverfloor: v2.6.36
+ kverceil: v4.10-rc0
+ kverfilter: none
- 'lttng-modules_{mversion}_build-rt':
mversion: master
- 'lttng-modules_{mversion}_build-{uversion}':
+ mversion:
+ - stable-2.8
+ - stable-2.9
+ - master
uversion:
- trusty
- xenial
+ - 'lttng-modules_{mversion}_{buildtype}-vanilla':
+ mversion:
+ - stable-2.9
+ - master
+ buildtype: crossbuild
+ kverfloor: v3.16
+ kverceil: ''
+ kverfilter: stable-head
+ - 'lttng-modules_{mversion}_{buildtype}-vanilla':
+ mversion: stable-2.7
+ buildtype: crossbuild
+ kverfloor: v3.16
+ kverceil: v4.8-rc0
+ kverfilter: stable-head
+ - 'lttng-modules_{mversion}_{buildtype}-vanilla':
+ mversion: stable-2.8
+ buildtype: crossbuild
+ kverfloor: v3.16
+ kverceil: v4.10-rc0
+ kverfilter: stable-head
- 'lttng-modules_VERSION_param-build':
arch: !!python/tuple [x86-32, x86-64]
- - 'lttng-modules_{mversion}_cppcheck'
+ - 'lttng-modules_VERSION_param-crossbuild':
+ cross_arch: !!python/tuple [armhf, arm64, powerpc, ppc64el]
+ - 'lttng-modules_{mversion}_cppcheck':
+ mversion:
+ - stable-2.8
+ - stable-2.9
+ - master
- 'lttng-modules_{mversion}_sloccount':
mversion: master
- 'lttng-modules_{mversion}_coverity':