From cdb4cba49058be8d8bb098d3f45b9fc619928ee1 Mon Sep 17 00:00:00 2001 From: Michael Jeanson Date: Thu, 3 Sep 2015 09:56:20 -0400 Subject: [PATCH] Add coverity to lttng-ust --- jobs/inc/lttng-tools-versions.yaml.inc | 3 + jobs/lttng-tools.yaml | 251 +++++++++++++++++++++++++ jobs/lttng-ust.yaml | 54 ++++-- 3 files changed, 289 insertions(+), 19 deletions(-) create mode 100644 jobs/inc/lttng-tools-versions.yaml.inc create mode 100644 jobs/lttng-tools.yaml diff --git a/jobs/inc/lttng-tools-versions.yaml.inc b/jobs/inc/lttng-tools-versions.yaml.inc new file mode 100644 index 0000000..376c9f3 --- /dev/null +++ b/jobs/inc/lttng-tools-versions.yaml.inc @@ -0,0 +1,3 @@ +- stable-2.6 +- stable-2.7 +- master diff --git a/jobs/lttng-tools.yaml b/jobs/lttng-tools.yaml new file mode 100644 index 0000000..9ee52d8 --- /dev/null +++ b/jobs/lttng-tools.yaml @@ -0,0 +1,251 @@ +- defaults: + name: lttng-tools + description: | + +

Job is managed by Jenkins Job Builder.

+ + project-type: freestyle + + logrotate: + daysToKeep: -1 + numToKeep: 2 + artifactDaysToKeep: -1 + artifactNumToKeep: -1 + + wrappers: + - workspace-cleanup + - timestamps + - ansicolor + + scm: + - git: + url: git://github.com/lttng/lttng-tools.git + browser: githubweb + browser-url: https://github.com/lttng/lttng-tools + branches: + - origin/{version} + + triggers: + - pollscm: + cron: "@hourly" + + properties: + - github: + url: https://github.com/lttng/lttng-tools + + +## Templates +- job-template: + name: lttng-tools_{version}_{buildtype} + defaults: lttng-tools + + project-type: matrix + node: 'x86-32 || x86-64' # Applies only to matrix flyweight task + execution-strategy: + combination-filter: | + (build=="std") || (liburcu_version=="master") + axes: + - axis: + type: slave + name: arch + values: '{obj:arch}' + - axis: + type: user-defined + name: conf + values: + - std + - no_ust + - python_bindings + - java_agents + - axis: + type: user-defined + name: babeltrace_version + values: + !include jobs/inc/babeltrace-versions.yaml.inc + - axis: + type: user-defined + name: liburcu_version + values: + !include jobs/inc/liburcu-versions.yaml.inc + - axis: + type: user-defined + name: lttng-ust_version + values: + - {version} + - axis: + type: user-defined + name: build + values: '{obj:build}' + + builders: + - conditional-step: + condition-kind: strings-match + condition-string1: $conf + condition-string2: static + on-evaluation-failure: run + - copyartifact: + project: liburcu_${{liburcu_version}}_{buildtype}/arch=$arch,conf=std,build=std + which-build: last-successful + stable: true + filter: 'build/**' + target: 'deps/liburcu' + do-not-fingerprint: true + - copyartifact: + project: babeltrace_${{babeltrace_version}}_{buildtype}/arch=$arch,conf=std,build=std + which-build: last-successful + stable: true + filter: 'build/**' + target: 'deps/liburcu' + do-not-fingerprint: true + - copyartifact: + project: lttng-ust_${{lttng-ust_version}}_{buildtype}/arch=$arch,conf=std,build=std + which-build: last-successful + stable: true + filter: 'build/**' + target: 'deps/liburcu' + do-not-fingerprint: true + - shell: + !include-raw-escape scripts/lttng-tools/build.sh + + # TODO: Scan for open tasks + publishers: + - tap: + results: 'tap/**/*.tap' + failed-tests-mark-build-as-failure: true + - warnings: + console-log-parsers: + - 'GNU Make + GNU C Compiler (gcc)' + #total-thresholds: + # failed: + # total-all: 0 + # total-high: 0 + # total-normal: 0 + # total-low: 0 + - archive: + artifacts: 'build/**' + allow-empty: false + - workspace-cleanup + + +- job-template: + name: lttng-tools_{version}_cppcheck + defaults: lttng-tools + + triggers: + - pollscm: + cron: "@daily" + + builders: + - shell: | + rm -f lttng-tools-cppcheck.xml + cppcheck --enable=all --xml --xml-version=2 $WORKSPACE 2> lttng-tools-cppcheck.xml + + publishers: + - archive: + artifacts: 'lttng-tools-cppcheck.xml' + allow-empty: false + - cppcheck: + pattern: 'lttng-tools-cppcheck.xml' + - email: + recipients: 'ci-notification@lists.lttng.org' + notify-every-unstable-build: true + send-to-individuals: false + +- job-template: + name: lttng-tools_{version}_scan-build + defaults: lttng-tools + node: 'x86-64' + + triggers: + - pollscm: + cron: "@daily" + + builders: + - shell: + !include-raw-escape scripts/lttng-tools/scan-build.sh + + publishers: + - html-publisher: + name: 'HTML Report' + dir: 'scan-build-archive/' + files: 'index.html' + +# TODO: lttng-tools_{version}_coverity +#- job-template: +# name: lttng-tools_{version}_coverity +# defaults: lttng-tools +# node: 'x86-64' +# +# triggers: +# - pollscm: +# cron: "@daily" +# +# builders: +# - shell: +# !include-raw-escape scripts/lttng-tools/coverity.sh +# +# publishers: +# - html-publisher: +# name: 'HTML Report' +# dir: 'scan-build-archive/' +# files: 'index.html' + +- job-template: + name: lttng-tools_{version}_pylint + defaults: lttng-tools + node: 'x86-64' + + scm: [] + + triggers: + - pollscm: + cron: "@daily" + + builders: + - copyartifact: + project: lttng-tools-{version}/arch=x86-64,build=std,conf=python-agent + which-build: last-successful + stable: true + filter: 'build/**' + target: 'deps/lttng-tools' + do-not-fingerprint: true + - shell: + !include-raw-escape scripts/lttng-tools/pylint.sh + + publishers: + - archive: + artifacts: 'pep8.out,pylint.out' + - violations: + pep8: + pattern: pep8.out + min: 10 + max: 999 + unstable: 999 + pylint: + pattern: pylint.out + min: 10 + max: 999 + unstable: 999 + - email: + recipients: 'ci-notification@lists.lttng.org' + notify-every-unstable-build: true + send-to-individuals: false + + +## Project +- project: + name: lttng-tools + version: + !include jobs/inc/lttng-tools-versions.yaml.inc + jobs: + - 'lttng-tools_{version}_{buildtype}': + buildtype: build + arch: !!python/tuple [x86-32, x86-64] + build: !!python/tuple [std, oot, dist] + - 'lttng-tools_{version}_{buildtype}': + buildtype: portbuild + arch: !!python/tuple [armhf, powerpc] + build: !!python/tuple [std] + - 'lttng-tools_{version}_cppcheck' + - 'lttng-tools_{version}_scan-build' + diff --git a/jobs/lttng-ust.yaml b/jobs/lttng-ust.yaml index 8cee75c..fdce43a 100644 --- a/jobs/lttng-ust.yaml +++ b/jobs/lttng-ust.yaml @@ -144,25 +144,39 @@ dir: 'scan-build-archive/' files: 'index.html' -# TODO: lttng-ust_{version}_coverity -#- job-template: -# name: lttng-ust_{version}_coverity -# defaults: lttng-ust -# node: 'x86-64' -# -# triggers: -# - pollscm: -# cron: "@daily" -# -# builders: -# - shell: -# !include-raw-escape scripts/lttng-ust/coverity.sh -# -# publishers: -# - html-publisher: -# name: 'HTML Report' -# dir: 'scan-build-archive/' -# files: 'index.html' +- job-template: + name: lttng-ust_{version}_coverity + defaults: lttng-ust + node: 'x86-64' + + triggers: + - pollscm: + cron: "@daily" + + wrappers: + - workspace-cleanup + - timestamps + - ansicolor: + colormap: xterm + - credentials-binding: + - username-password-separated: + credential-id: lttng-ust_coverity_token + username: COVERITY_SCAN_PROJECT_NAME + password: COVERITY_SCAN_TOKEN + + builders: + - copyartifact: + project: liburcu_master_build/arch=x86-64,conf=std,build=std + which-build: last-successful + stable: true + filter: 'build/**' + target: 'deps/liburcu' + do-not-fingerprint: true + - shell: + !include-raw-escape scripts/common/coverity.sh + + publishers: + - workspace-cleanup - job-template: name: lttng-ust_{version}_pylint @@ -222,4 +236,6 @@ build: !!python/tuple [std] - 'lttng-ust_{version}_cppcheck' - 'lttng-ust_{version}_scan-build' + - 'lttng-ust_{version}_coverity': + version: master -- 2.34.1