X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=jobs%2Flatency-tracker.yaml;h=827d84943acf0e2a38208ea083c5ba4cec8a9b30;hb=c4952db9716707571df5a8e200612238749486d5;hp=0a27371b88cf61911c7b0cf916bd4e0161cd5737;hpb=3522265a374898913049aac554aa41711e511bd6;p=lttng-ci.git diff --git a/jobs/latency-tracker.yaml b/jobs/latency-tracker.yaml index 0a27371..827d849 100644 --- a/jobs/latency-tracker.yaml +++ b/jobs/latency-tracker.yaml @@ -57,7 +57,7 @@ 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 @@ -66,9 +66,32 @@ 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 @@ -94,24 +117,52 @@ 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} @@ -137,9 +188,17 @@ 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' @@ -148,16 +207,41 @@ 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 @@ -186,6 +270,14 @@ 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' @@ -203,7 +295,27 @@ 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 @@ -232,12 +344,12 @@ 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 @@ -256,7 +368,65 @@ 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. + +

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 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 @@ -285,7 +455,7 @@ 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 @@ -306,19 +476,37 @@ builders: - shell: | - rm -f cppcheck.xml - cppcheck --enable=all --xml --xml-version=2 $WORKSPACE/src/latency-tracker 2> cppcheck.xml + rm -f cppcheck-result.xml + cppcheck --enable=all --xml --xml-version=2 $WORKSPACE/src/latency-tracker 2> cppcheck-result.xml publishers: - archive: - artifacts: 'cppcheck.xml' + artifacts: 'cppcheck-result.xml' allow-empty: false - cppcheck: - pattern: 'cppcheck.xml' - - email: - recipients: 'ci-notification@lists.lttng.org' - notify-every-unstable-build: true - send-to-individuals: false + pattern: 'cppcheck-result.xml' + - 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 @@ -352,16 +540,22 @@ 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