X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=jobs%2Flttng-modules.yaml;h=80897d82d41174518de7bfe185f9866f0eff3f56;hb=64d4186531e1d38372a06e35100a70ea9bb7a7c1;hp=c2743a46b456ff16dab3f567ece982a72cb5864e;hpb=f3d8604b477b84631d624aed305afdd944ffa5c6;p=lttng-ci.git diff --git a/jobs/lttng-modules.yaml b/jobs/lttng-modules.yaml index c2743a4..80897d8 100644 --- a/jobs/lttng-modules.yaml +++ b/jobs/lttng-modules.yaml @@ -9,9 +9,6 @@ project-type: freestyle - logrotate: - numToKeep: 2 - wrappers: - workspace-cleanup - timestamps @@ -19,23 +16,25 @@ scm: - git: - url: git://github.com/lttng/lttng-modules.git + url: git://github.com/{github_user}/{github_name}.git browser: githubweb - browser-url: https://github.com/lttng/lttng-modules + browser-url: https://github.com/{github_user}/{github_name} branches: - "{mversion}" 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/lttng/lttng-modules + url: https://github.com/{github_user}/{github_name} ## Templates @@ -55,12 +54,12 @@ - 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 @@ -71,8 +70,16 @@ - 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 + 2.0 tracer toolset. + + This job will build the {mversion} branch against all stable vanilla + kernel tags. + +

Job is managed by Jenkins Job Builder.

node: 'master' @@ -83,25 +90,33 @@ description: 'The lttng-modules branch to build.' - string: name: 'maxConcurrentBuild' - default: '4' + default: '20' 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: - system-groovy: command: - !include-raw-escape: scripts/lttng-modules/master.groovy + !include-raw-escape: scripts/lttng-modules/master-vanilla.groovy publishers: - workspace-cleanup @@ -109,6 +124,14 @@ - job-template: name: lttng-modules_{mversion}_build-{uversion} defaults: lttng-modules + description: | + The LTTng modules provide Linux kernel tracing capability to the LTTng + 2.0 tracer toolset. + + This job will build the {mversion} branch against all Ubuntu {uversion} + released kernels, including the LTS backport kernels. + +

Job is managed by Jenkins Job Builder.

node: 'master' @@ -119,7 +142,7 @@ description: 'The lttng-modules branch to build.' - string: name: 'maxConcurrentBuild' - default: '4' + default: '20' description: 'The maximum number of concurrent child build to run.' - string: name: 'uversion' @@ -127,7 +150,7 @@ 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' @@ -142,6 +165,50 @@ publishers: - workspace-cleanup +- job-template: + name: lttng-modules_{mversion}_build-rt + defaults: lttng-modules + description: | + The LTTng modules provide Linux kernel tracing capability to the LTTng + 2.0 tracer toolset. + + This job will build the {mversion} branch against all Linutronix RT + kernels. + +

Job is managed by Jenkins Job Builder.

+ + node: 'master' + + parameters: + - string: + name: 'mversion' + default: '{mversion}' + description: 'The lttng-modules branch to build.' + - string: + name: 'maxConcurrentBuild' + default: '20' + description: 'The maximum number of concurrent child build to run.' + - string: + name: 'kverfloor' + default: 'v2.6.36-rt0-rebase' + description: 'The lowest kernel version to build.' + - string: + name: 'kgitrepo' + default: 'git://git-mirror.internal.efficios.com/kernel/rt/linux-rt-devel.git' + description: 'The linux kernel git repository url.' + - string: + name: 'kbuildjob' + default: 'lttng-modules_VERSION_param-build' + description: 'The parametrized job to use for child builds.' + + builders: + - system-groovy: + command: + !include-raw-escape: scripts/lttng-modules/master-rt.groovy + + publishers: + - workspace-cleanup + - job-template: name: lttng-modules_VERSION_param-build defaults: lttng-modules @@ -159,6 +226,10 @@ name: arch values: '{obj:arch}' + properties: + - build-discarder: + days-to-keep: 2 + parameters: - string: name: 'mversion' @@ -170,12 +241,10 @@ 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: -1 scm: - git: @@ -185,11 +254,13 @@ branches: - "${{mversion}}" skip-tag: true - basedir: lttng-modules + basedir: src/lttng-modules + + triggers: builders: - shell: | - git clone --depth=1 -b "$kversion" --reference $HOME/gitcache/linux-stable.git/ "$kgitrepo" linux + 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 @@ -197,13 +268,41 @@ - 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" +

Job is managed by Jenkins Job Builder.

+ + 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: @@ -211,7 +310,29 @@ 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 @@ -225,6 +346,12 @@ password: COVERITY_SCAN_TOKEN builders: + - shell: | + 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 - shell: !include-raw-escape: scripts/common/coverity.sh @@ -239,18 +366,10 @@ - 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: @@ -263,20 +382,99 @@ notify-every-unstable-build: true send-to-individuals: false +- job-template: + name: lttng-modules_{mversion}_sloccount + defaults: lttng-modules + description: | + The LTTng modules provide Linux kernel tracing capability to the LTTng + 2.0 tracer toolset. + + This job runs the sloccount utility and generates a trend report. + +

Job is managed by Jenkins Job Builder.

+ + triggers: + - pollscm: + cron: "@daily" + + builders: + - shell: | + cloc --by-file --xml --out=cloc.xml src/lttng-modules/ + + publishers: + - archive: + artifacts: 'cloc.xml' + allow-empty: false + - sloccount: + report-files: 'cloc.xml' + ## Project - project: name: lttng-modules - mversion: - !include: jobs/inc/lttng-modules-versions.yaml.inc + github_user: lttng + github_name: lttng-modules 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': mversion: master