X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;ds=sidebyside;f=jobs%2Flttng-modules.yaml;h=d124750c9b6334658fa632a5f70452afcd228f03;hb=ad59aae8600b681d244d6acaab7e9a77242631e8;hp=0bfeb30e2489c786d7e8bd56dc68b23f0ede05d0;hpb=c4b8d4b384030080b6805ea56128677dbe67739a;p=lttng-ci.git diff --git a/jobs/lttng-modules.yaml b/jobs/lttng-modules.yaml index 0bfeb30..d124750 100644 --- a/jobs/lttng-modules.yaml +++ b/jobs/lttng-modules.yaml @@ -1,4 +1,121 @@ --- +## Anchors +- lttng-modules_build_parameters_defaults: <tng-modules_build_parameters_defaults + name: 'lttng-modules_build_parameters_defaults' + 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: '{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://git-mirror.internal.efficios.com/git/linux-all.git' + description: 'The linux kernel git repository url.' + - string: + name: 'kbuildjob' + default: 'lttng-modules_VERSION_param-{parambuildtype}' + description: 'The parametrized job to use for child builds.' + +- lttng-modules_build_parameters_ubuntu: <tng-modules_build_parameters_ubuntu + name: 'lttng-modules_build_parameters_ubuntu' + 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: '{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://git-mirror.internal.efficios.com/git/ubuntu-{uversion}.git' + description: 'The linux kernel git repository url.' + - string: + name: 'kbuildjob' + default: 'lttng-modules_VERSION_param-{parambuildtype}' + description: 'The parametrized job to use for child builds.' + - string: + name: 'uversion' + default: '{uversion}' + description: 'The lowest kernel version to build.' + +- lttng-modules_build_parameters_rt: <tng-modules_build_parameters_rt + name: 'lttng-modules_build_parameters_rt' + 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: '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://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.' + +- lttng-modules_build_builders_defaults: <tng-modules_build_builders_defaults + name: 'lttng-modules_build_builders_defaults' + builders: + - system-groovy: + command: + !include-raw-escape: scripts/lttng-modules/master.groovy + +- lttng-modules_build_rt_builders_defaults: <tng-modules_build_rt_builders_defaults + name: 'lttng-modules_build_rt_builders_defaults' + builders: + - system-groovy: + command: + !include-raw-escape: scripts/lttng-modules/master-rt.groovy + + +## Defaults - defaults: name: lttng-modules description: | @@ -22,9 +139,10 @@ branches: - "{mversion}" shallow-clone: true - skip-tag: true fastpoll: true basedir: src/lttng-modules + wipe-workspace: false + skip-tag: true triggers: - pollscm: @@ -36,38 +154,40 @@ - github: url: https://github.com/{github_user}/{github_name} + publishers: + - workspace-cleanup + ## Templates - job-template: - name: lttng-modules_{mversion}_{kversion}_{buildtype} + name: lttng-modules_ALL_trigger-vanilla defaults: lttng-modules + description: | + The LTTng modules provide Linux kernel tracing capability to the LTTng + 2.0 tracer toolset. - project-type: matrix - node: 'master' # Applies only to matrix flyweight task - axes: - - axis: - type: slave - name: arch - values: '{obj:arch}' + This job will trigger the build jobs when a new tag is added to the vanilla + and stable kernel trees. + +
Job is managed by Jenkins Job Builder.
+ + node: 'master' + + wrappers: + - timestamps + - ansicolor + + scm: [] + + triggers: + - timed: "@hourly" builders: - - copyartifact: - project: kernel_{kversion}_{buildtype}/arch=$arch - which-build: last-successful - 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://git-mirror.internal.efficios.com/git/linux-all.git src/linux - - shell: - !include-raw-escape: scripts/lttng-modules/build.sh + - system-groovy: + command: + !include-raw-escape: scripts/lttng-modules/trigger-vanilla.groovy - publishers: - - archive: - artifacts: 'build/**' - allow-empty: false - - workspace-cleanup + publishers: [] - job-template: name: lttng-modules_{mversion}_{buildtype}-vanilla @@ -76,90 +196,74 @@ 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 + This job will build the {mversion} branch against stable vanilla kernel tags.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: '{kverfloor}' - description: 'The lowest kernel version to build.' - - string: - name: 'kverfilter' - default: '{kverfilter}' - description: 'Kernel versions list filtering strategy.' - - string: - name: 'kgitrepo' - 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-{buildtype}' - description: 'The parametrized job to use for child builds.' + <<: *lttng-modules_build_parameters_defaults + <<: *lttng-modules_build_builders_defaults - builders: - - system-groovy: - command: - !include-raw-escape: scripts/lttng-modules/master-vanilla.groovy +- job-template: + name: lttng-modules_{mversion}_fullbuild-vanilla + defaults: lttng-modules + description: | + The LTTng modules provide Linux kernel tracing capability to the LTTng + 2.0 tracer toolset. - publishers: - - workspace-cleanup + This job will build the {mversion} branch against all stable vanilla + kernel tags. + +Job is managed by Jenkins Job Builder.
+ + node: 'master' + + <<: *lttng-modules_build_parameters_defaults + <<: *lttng-modules_build_builders_defaults + + triggers: + - pollscm: + cron: "@midnight" - job-template: - name: lttng-modules_{mversion}_build-{uversion} + name: lttng-modules_{mversion}_{buildtype}-{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} + This job will build the {mversion} branch against Ubuntu {uversion} released kernels, including the LTS backport 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: 'uversion' - default: '{uversion}' - description: 'The lowest kernel version to build.' - - string: - name: 'kgitrepo' - default: 'git://git-mirror.internal.efficios.com/git/ubuntu-{uversion}.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.' + <<: *lttng-modules_build_parameters_ubuntu + <<: *lttng-modules_build_builders_defaults - builders: - - system-groovy: - command: - !include-raw-escape: scripts/lttng-modules/master-ubuntu.groovy +- job-template: + name: lttng-modules_{mversion}_fullbuild-{uversion} + defaults: lttng-modules + description: | + The LTTng modules provide Linux kernel tracing capability to the LTTng + 2.0 tracer toolset. - publishers: - - workspace-cleanup + This job will build the {mversion} branch against Ubuntu {uversion} + released kernels, including the LTS backport kernels. + +Job is managed by Jenkins Job Builder.
+ + node: 'master' + + <<: *lttng-modules_build_parameters_ubuntu + <<: *lttng-modules_build_builders_defaults + + triggers: + - pollscm: + cron: "@midnight" - job-template: name: lttng-modules_{mversion}_build-rt @@ -175,35 +279,8 @@ 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 + <<: *lttng-modules_build_parameters_rt + <<: *lttng-modules_build_rt_builders_defaults - job-template: name: lttng-modules_VERSION_param-build @@ -232,7 +309,7 @@ default: 'master' description: 'The lttng-modules branch to build.' - string: - name: 'kversion' + name: 'ktag' default: '' description: 'The linux kernel git tag to build against.' - string: @@ -256,13 +333,10 @@ 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/lttng-modules/param-build.sh - publishers: - - workspace-cleanup - - job-template: name: lttng-modules_VERSION_param-crossbuild defaults: lttng-modules @@ -290,7 +364,7 @@ default: 'master' description: 'The lttng-modules branch to build.' - string: - name: 'kversion' + name: 'ktag' default: '' description: 'The linux kernel git tag to build against.' - string: @@ -314,13 +388,10 @@ 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/lttng-modules/param-build.sh - publishers: - - workspace-cleanup - - job-template: name: lttng-modules_{mversion}_coverity defaults: lttng-modules @@ -343,7 +414,7 @@ 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 + git clone --depth=1 -b v4.10 --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 @@ -351,9 +422,6 @@ - shell: !include-raw-escape: scripts/common/coverity.sh - publishers: - - workspace-cleanup - - job-template: name: lttng-modules_{mversion}_cppcheck defaults: lttng-modules @@ -373,10 +441,6 @@ allow-empty: false - cppcheck: pattern: 'cppcheck.xml' - - email: - recipients: 'ci-notification@lists.lttng.org' - notify-every-unstable-build: true - send-to-individuals: false - job-template: name: lttng-modules_{mversion}_sloccount @@ -403,6 +467,7 @@ allow-empty: false - sloccount: report-files: 'cloc.xml' + - workspace-cleanup ## Project @@ -410,31 +475,112 @@ name: lttng-modules github_user: lttng github_name: lttng-modules - mversion: - - stable-2.7 - - stable-2.8 - - stable-2.9 - - master jobs: + +# Vanilla normal builds - 'lttng-modules_{mversion}_{buildtype}-vanilla': + mversion: + - stable-2.9 + - stable-2.10 + - master buildtype: build + parambuildtype: build kverfloor: v2.6.36 + kverceil: '' + kverfilter: stable-head + - 'lttng-modules_{mversion}_{buildtype}-vanilla': + mversion: stable-2.7 + buildtype: build + parambuildtype: build + kverfloor: v2.6.36 + kverceil: v4.8-rc0 + kverfilter: stable-head + - 'lttng-modules_{mversion}_fullbuild-vanilla': + mversion: + - stable-2.9 + - stable-2.10 + - master + buildtype: build + parambuildtype: build + kverfloor: v2.6.36 + kverceil: '' kverfilter: none + - 'lttng-modules_{mversion}_fullbuild-vanilla': + mversion: stable-2.7 + buildtype: build + parambuildtype: build + kverfloor: v2.6.36 + kverceil: v4.8-rc0 + kverfilter: none + +# RT normal builds - 'lttng-modules_{mversion}_build-rt': mversion: master - - 'lttng-modules_{mversion}_build-{uversion}': + kverceil: '' + kverfilter: stable-head + +# Ubuntu normal builds + - 'lttng-modules_{mversion}_{buildtype}-{uversion}': + mversion: + - stable-2.9 + - stable-2.10 + - master uversion: - trusty - xenial + buildtype: build + parambuildtype: build + kverfloor: '' + kverceil: '' + kverfilter: stable-head + +# Vanilla crossbuilds + - 'lttng-modules_{mversion}_{buildtype}-vanilla': + mversion: + - stable-2.9 + - stable-2.10 + - master + buildtype: crossbuild + parambuildtype: crossbuild + kverfloor: v3.16 + kverceil: '' + kverfilter: stable-head - 'lttng-modules_{mversion}_{buildtype}-vanilla': + mversion: stable-2.7 buildtype: crossbuild + parambuildtype: crossbuild kverfloor: v3.16 + kverceil: v4.8-rc0 kverfilter: stable-head + +# Ubuntu cross builds + - 'lttng-modules_{mversion}_{buildtype}-{uversion}': + mversion: + - stable-2.9 + - stable-2.10 + - master + uversion: + - trusty + - xenial + buildtype: crossbuild + parambuildtype: crossbuild + kverfloor: '' + kverceil: '' + kverfilter: stable-head + +# Parametrized kernel and modules build jobs - 'lttng-modules_VERSION_param-build': arch: !!python/tuple [x86-32, x86-64] - 'lttng-modules_VERSION_param-crossbuild': cross_arch: !!python/tuple [armhf, arm64, powerpc, ppc64el] - - 'lttng-modules_{mversion}_cppcheck' + +# Misc jobs + - 'lttng-modules_ALL_trigger-vanilla' + - 'lttng-modules_{mversion}_cppcheck': + mversion: + - stable-2.9 + - stable-2.10 + - master - 'lttng-modules_{mversion}_sloccount': mversion: master - 'lttng-modules_{mversion}_coverity':