- defaults:
- name: ctf-java
+ name: ctf-java-mvn
description: |
Nightly build of CTF Java.
- github:
url: https://github.com/{github_user}/{github_name}
+- defaults:
+ name: ctf-java
+ description: |
+ Nightly build of CTF Java.
+
+ <p>Job is managed by Jenkins Job Builder.</p>
+
+ 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:
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
- master
jobs:
- 'ctf-java_{version}_build'
+ - 'ctf-java_{version}_coverity':
+ version: master
- defaults:
- name: jabberwocky
+ name: jabberwocky-mvn
description: |
Nightly build of Jabberwocky.
- github:
url: https://github.com/{github_user}/{github_name}
+- defaults:
+ name: jabberwocky
+ description: |
+ Nightly build of Jabberwocky.
+
+ <p>Job is managed by Jenkins Job Builder.</p>
+
+ 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:
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
- master
jobs:
- 'jabberwocky_{version}_build'
+ - 'jabberwocky_{version}_coverity':
+ version: master
- defaults:
- name: libdelorean-java
+ name: libdelorean-java-mvn
description: |
Nightly build of libdelorean Java.
- github:
url: https://github.com/{github_user}/{github_name}
+- defaults:
+ name: libdelorean-java
+ description: |
+ Nightly build of libdelorean Java.
+
+ <p>Job is managed by Jenkins Job Builder.</p>
+
+ 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:
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
- master
jobs:
- 'libdelorean-java_{version}_build'
+ - 'libdelorean-java_{version}_coverity':
+ version: master
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
# 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" \
-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