From e3f027ec4776a46dba6e961111e00b3327bb6387 Mon Sep 17 00:00:00 2001 From: Michael Jeanson Date: Wed, 15 Mar 2017 11:43:43 -0400 Subject: [PATCH] jjb: Add coverity jobs Signed-off-by: Michael Jeanson --- jobs/ctf-java.yml | 85 +++++++++++++++++++++++++++++++++++++- jobs/jabberwocky.yml | 85 +++++++++++++++++++++++++++++++++++++- jobs/libdelorean-java.yml | 85 +++++++++++++++++++++++++++++++++++++- scripts/common/coverity.sh | 20 ++++++--- 4 files changed, 264 insertions(+), 11 deletions(-) diff --git a/jobs/ctf-java.yml b/jobs/ctf-java.yml index 1ed0034..f2575b8 100644 --- a/jobs/ctf-java.yml +++ b/jobs/ctf-java.yml @@ -1,5 +1,5 @@ - defaults: - name: ctf-java + name: ctf-java-mvn description: | Nightly build of CTF Java. @@ -39,11 +39,44 @@ - github: url: https://github.com/{github_user}/{github_name} +- defaults: + name: ctf-java + description: | + Nightly build of CTF Java. + +

Job is managed by Jenkins Job Builder.

+ + project-type: freestyle + + wrappers: + - workspace-cleanup + - timestamps + - ansicolor + + scm: + - git: + url: git://github.com/{github_user}/{github_name}.git + browser: githubweb + browser-url: https://github.com/{github_user}/{github_name} + branches: + - origin/{version} + skip-tag: true + + triggers: + - pollscm: + cron: "@hourly" + + properties: + - build-discarder: + num-to-keep: 2 + - github: + url: https://github.com/{github_user}/{github_name} + ## Templates - job-template: name: ctf-java_{version}_build - defaults: ctf-java + defaults: ctf-java-mvn publishers: - warnings: @@ -60,6 +93,52 @@ recipients: alex@voxpopuli.im matrix-trigger: only-parent +- job-template: + name: ctf-java_{version}_coverity + defaults: ctf-java + node: 'x86-64' + + triggers: + - pollscm: + cron: "@daily" + + wrappers: + - workspace-cleanup + - timestamps + - ansicolor: + colormap: xterm + - credentials-binding: + - username-password-separated: + credential-id: ctf-java_coverity_token + username: COVERITY_SCAN_PROJECT_NAME + password: COVERITY_SCAN_TOKEN + + scm: + - git: + url: git://github.com/{github_user}/{github_name}.git + browser: githubweb + browser-url: https://github.com/{github_user}/{github_name} + branches: + - origin/{version} + skip-tag: true + basedir: src/ctf-java + + builders: + - maven-target: + maven-version: "default" + goals: "-version" + private-repository: true + settings: 'org.jenkinsci.plugins.configfiles.maven.MavenSettingsConfig277b7a2d-b7a6-4ae4-a32d-18c02514e9e4' + - shell: + !include-raw-escape: scripts/common/coverity.sh + + publishers: + - workspace-cleanup + - archive: + artifacts: 'analysis-results.tgz,cov-int/**' + allow-empty: false + + ## Project - project: name: ctf-java @@ -69,3 +148,5 @@ - master jobs: - 'ctf-java_{version}_build' + - 'ctf-java_{version}_coverity': + version: master diff --git a/jobs/jabberwocky.yml b/jobs/jabberwocky.yml index 9eca7d2..de6f02c 100644 --- a/jobs/jabberwocky.yml +++ b/jobs/jabberwocky.yml @@ -1,5 +1,5 @@ - defaults: - name: jabberwocky + name: jabberwocky-mvn description: | Nightly build of Jabberwocky. @@ -39,11 +39,44 @@ - github: url: https://github.com/{github_user}/{github_name} +- defaults: + name: jabberwocky + description: | + Nightly build of Jabberwocky. + +

Job is managed by Jenkins Job Builder.

+ + project-type: freestyle + + wrappers: + - workspace-cleanup + - timestamps + - ansicolor + + scm: + - git: + url: git://github.com/{github_user}/{github_name}.git + browser: githubweb + browser-url: https://github.com/{github_user}/{github_name} + branches: + - origin/{version} + skip-tag: true + + triggers: + - pollscm: + cron: "@hourly" + + properties: + - build-discarder: + num-to-keep: 2 + - github: + url: https://github.com/{github_user}/{github_name} + ## Templates - job-template: name: jabberwocky_{version}_build - defaults: jabberwocky + defaults: jabberwocky-mvn publishers: - warnings: @@ -60,6 +93,52 @@ recipients: alex@voxpopuli.im matrix-trigger: only-parent +- job-template: + name: jabberwocky_{version}_coverity + defaults: jabberwocky + node: 'x86-64' + + triggers: + - pollscm: + cron: "@daily" + + wrappers: + - workspace-cleanup + - timestamps + - ansicolor: + colormap: xterm + - credentials-binding: + - username-password-separated: + credential-id: jabberwocky_coverity_token + username: COVERITY_SCAN_PROJECT_NAME + password: COVERITY_SCAN_TOKEN + + scm: + - git: + url: git://github.com/{github_user}/{github_name}.git + browser: githubweb + browser-url: https://github.com/{github_user}/{github_name} + branches: + - origin/{version} + skip-tag: true + basedir: src/jabberwocky + + builders: + - maven-target: + maven-version: "default" + goals: "-version" + private-repository: true + settings: 'org.jenkinsci.plugins.configfiles.maven.MavenSettingsConfig277b7a2d-b7a6-4ae4-a32d-18c02514e9e4' + - shell: + !include-raw-escape: scripts/common/coverity.sh + + publishers: + - workspace-cleanup + - archive: + artifacts: 'analysis-results.tgz,cov-int/**' + allow-empty: false + + ## Project - project: name: jabberwocky @@ -69,3 +148,5 @@ - master jobs: - 'jabberwocky_{version}_build' + - 'jabberwocky_{version}_coverity': + version: master diff --git a/jobs/libdelorean-java.yml b/jobs/libdelorean-java.yml index 68ee18d..68c28c5 100644 --- a/jobs/libdelorean-java.yml +++ b/jobs/libdelorean-java.yml @@ -1,5 +1,5 @@ - defaults: - name: libdelorean-java + name: libdelorean-java-mvn description: | Nightly build of libdelorean Java. @@ -39,11 +39,44 @@ - github: url: https://github.com/{github_user}/{github_name} +- defaults: + name: libdelorean-java + description: | + Nightly build of libdelorean Java. + +

Job is managed by Jenkins Job Builder.

+ + project-type: freestyle + + wrappers: + - workspace-cleanup + - timestamps + - ansicolor + + scm: + - git: + url: git://github.com/{github_user}/{github_name}.git + browser: githubweb + browser-url: https://github.com/{github_user}/{github_name} + branches: + - origin/{version} + skip-tag: true + + triggers: + - pollscm: + cron: "@hourly" + + properties: + - build-discarder: + num-to-keep: 2 + - github: + url: https://github.com/{github_user}/{github_name} + ## Templates - job-template: name: libdelorean-java_{version}_build - defaults: libdelorean-java + defaults: libdelorean-java-mvn publishers: - warnings: @@ -60,6 +93,52 @@ recipients: alex@voxpopuli.im matrix-trigger: only-parent +- job-template: + name: libdelorean-java_{version}_coverity + defaults: libdelorean-java + node: 'x86-64' + + triggers: + - pollscm: + cron: "@daily" + + wrappers: + - workspace-cleanup + - timestamps + - ansicolor: + colormap: xterm + - credentials-binding: + - username-password-separated: + credential-id: libdelorean-java_coverity_token + username: COVERITY_SCAN_PROJECT_NAME + password: COVERITY_SCAN_TOKEN + + scm: + - git: + url: git://github.com/{github_user}/{github_name}.git + browser: githubweb + browser-url: https://github.com/{github_user}/{github_name} + branches: + - origin/{version} + skip-tag: true + basedir: src/libdelorean-java + + builders: + - maven-target: + maven-version: "default" + goals: "-version" + private-repository: true + settings: 'org.jenkinsci.plugins.configfiles.maven.MavenSettingsConfig277b7a2d-b7a6-4ae4-a32d-18c02514e9e4' + - shell: + !include-raw-escape: scripts/common/coverity.sh + + publishers: + - workspace-cleanup + - archive: + artifacts: 'analysis-results.tgz,cov-int/**' + allow-empty: false + + ## Project - project: name: libdelorean-java @@ -69,3 +148,5 @@ - master jobs: - 'libdelorean-java_{version}_build' + - 'libdelorean-java_{version}_coverity': + version: master diff --git a/scripts/common/coverity.sh b/scripts/common/coverity.sh index 35352cf..dae6b54 100755 --- a/scripts/common/coverity.sh +++ b/scripts/common/coverity.sh @@ -52,27 +52,34 @@ export TMPDIR case "$COVERITY_SCAN_PROJECT_NAME" in babeltrace) CONF_OPTS="--enable-python-bindings --enable-python-bindings-doc" + BUILD_TYPE="autotools" ;; liburcu) CONF_OPTS="" + BUILD_TYPE="autotools" ;; lttng-modules) CONF_OPTS="" + BUILD_TYPE="autotools" ;; lttng-tools) CONF_OPTS="" + BUILD_TYPE="autotools" ;; lttng-ust) CONF_OPTS="--enable-java-agent-all --enable-python-agent" + BUILD_TYPE="autotools" export CLASSPATH="/usr/share/java/log4j-1.2.jar" ;; -lttng-scope) +lttng-scope|ctf-java|libdelorean-java|jabberwocky) CONF_OPTS="" + BUILD_TYPE="maven" MVN_BIN="$HOME/tools/hudson.tasks.Maven_MavenInstallation/default/bin/mvn" ;; *) echo "Generic project, no configure options." CONF_OPTS="" + BUILD_TYPE="autotools" ;; esac @@ -153,9 +160,8 @@ fi # Build echo -e "\033[33;1mRunning Coverity Scan Analysis Tool...\033[0m" -case "$COVERITY_SCAN_PROJECT_NAME" in -lttng-scope) - export +case "$BUILD_TYPE" in +maven) cov-configure --java cov-build --dir "$RESULTS_DIR" $COVERITY_SCAN_BUILD_OPTIONS "$MVN_BIN" \ -s "$MVN_SETTINGS" \ @@ -166,9 +172,13 @@ lttng-scope) -DskipTests \ clean verify ;; -*) +autotools) cov-build --dir "$RESULTS_DIR" $COVERITY_SCAN_BUILD_OPTIONS make -j"$NPROC" V=1 ;; +*) + echo "Unsupported build type: $BUILD_TYPE" + exit 1 + ;; esac -- 2.34.1