default: '{project}'
description: "GERRIT_PROJECT parameter if not given by trigger"
+- parameter:
+ name: os-parameter
+ parameters:
+ - string:
+ name: OS
+ default: '{os}'
+ description: "OS parameter"
+
- parameter:
name: gerrit-refspec-parameter
parameters:
default: '{refspec}'
description: "GERRIT_REFSPEC parameter not given by trigger"
+- parameter:
+ name: maven-project-parameter
+ parameters:
+ - string:
+ name: MAVEN_SELECTOR
+ default: '{maven}'
+ description: 'Maven selector to be used by shell scripts'
+
+- parameter:
+ name: maven-exec
+ parameters:
+ - string:
+ name: MVN
+ default: '/w/tools/hudson.tasks.Maven_MavenInstallation/{maven-version}/bin/mvn'
+ description: 'Maven selector to be used by shell scripts'
+
+- parameter:
+ name: repo-name-parameter
+ parameters:
+ - string:
+ name: REPO_NAME
+ default: '{repo-name}'
+ description: 'Name of repo to which to publish packaging'
+
+- parameter:
+ name: compiler-parameter
+ parameters:
+ - string:
+ name: CC
+ default: '{cc}'
+ description: "CC parameter, can be gnu or clang"
+
+- parameter:
+ name: is-csit-vpp-job-parameter
+ parameters:
+ - string:
+ name: IS_CSIT_VPP_JOB
+ default: '{is-csit-vpp-job}'
+ description: "Parameter is True if this is a CSIT vpp job."
+
+
##### SCMS
- scm:
name: git-scm
url: '$GIT_BASE'
refspec: ''
branches:
- - 'origin/${branch}'
+ - 'origin/{branch}'
skip-tag: true
wipe-workspace: true
skip-tag: true
choosing-strategy: '{choosing-strategy}'
+- scm:
+ name: zuul-trigger-scm
+ scm:
+ - git:
+ url: '$ZUUL_URL/$ZUUL_PROJECT'
+ refspec: '{refspec}'
+ branches:
+ - '{commit}'
+ skip-tag: true
+ wipe-workspace: true
+
###### WRAPPERS
- wrapper:
name: build-timeout
timeout: 360
fail: true
+- wrapper:
+ # This wrapper is used for all jobs that require no-activity timeouts
+ name: fdio-infra-wrappers-non-activity-timeout
+ wrappers:
+ - timeout:
+ type: no-activity
+ timeout: '{build-timeout}'
+ fail: true
+ - timestamps
+ - ssh-agent-credentials:
+ users:
+ - 'jenkins-gerrit-credentials'
+ - jclouds:
+ single-use: True
+ - openstack:
+ single-use: True
+
+- wrapper:
+ # This wrapper is required for all jobs as it configures the wrappers
+ # needed by the fd.io infra.
+ name: fdio-infra-wrappers
+ wrappers:
+ - timeout:
+ type: absolute
+ timeout: '{build-timeout}'
+ timeout-var: 'BUILD_TIMEOUT'
+ fail: true
+ - timestamps
+ - ssh-agent-credentials:
+ users:
+ - 'jenkins-gerrit-credentials'
+ - jclouds:
+ single-use: True
+ - openstack:
+ single-use: True
+
###### TRIGGERS
- trigger:
name: gerrit-trigger-patch-submitted
triggers:
- gerrit:
- server-name: 'Default'
+ server-name: 'Primary'
trigger-on:
- patchset-created-event:
exclude-drafts: 'false'
- branch-compare-type: 'ANT'
branch-pattern: '**/{branch}'
+- trigger:
+ name: gerrit-trigger-manually-triggered
+ triggers:
+ - gerrit:
+ server-name: 'Primary'
+ trigger-on:
+ - comment-added-contains-event:
+ comment-contains-value: '{comment-trigger-value}'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: '{name}'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+
- trigger:
name: gerrit-trigger-patch-merged
triggers:
- gerrit:
- server-name: 'Default'
+ server-name: 'Primary'
trigger-on:
- change-merged-event
- comment-added-contains-event:
branches:
- branch-compare-type: 'ANT'
branch-pattern: '**/{branch}'
+ # Force Jenkins always vote the values it should already have voted
+ # during the prior verify phase
+ override-votes: true
+ gerrit-build-started-verified-value: 1
+ gerrit-build-successful-verified-value: 1
+ gerrit-build-failed-verified-value: 1
+ gerrit-build-unstable-verified-value: 1
+ gerrit-build-notbuilt-verified-value: 1
+ gerrit-build-started-codereview-value: 0
+ gerrit-build-successful-codereview-value: 0
+ gerrit-build-failed-codereview-value: 0
+ gerrit-build-unstable-codereview-value: 0
+ gerrit-build-notbuilt-codereview-value: 0
+
+# Publishers
+- publisher:
+ name: archive-artifacts
+ publishers:
+ - archive:
+ artifacts: '{artifacts}'
+ allow-empty: true
+ fingerprint: true
+ latest-only: true
+
+- publisher:
+ name: email-notification
+ publishers:
+ - email-ext:
+ recipients: 'nobody@projectrotterdam.info'
+ reply-to:
+ content-type: default
+ subject: '{email-prefix} $PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS!'
+ body: |
+ $PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS:
+
+ Check console output at $BUILD_URL to view the results.
+ unstable: true
+ fixed: true
+ send-to:
+ - developers
+ - recipients
+
+- publisher:
+ name: jacoco-report
+ publishers:
+ - jacoco:
+ exec-pattern: '**/**.exec'
+ class-pattern: '**/classes'
+ source-pattern: '**/src/main/java'
+ exclusion-pattern: '**/gen**,**/generated-sources/**,**/yang-gen**,**/pax/**'
+ status-update: true
+ targets:
+ - branch:
+ healthy: 10
+ unhealthy: 20
+ - method:
+ healthy: 50
+ unhealthy: 40
+
+- publisher:
+ name: robot-report
+ publishers:
+ - robot:
+ output-path: '{output-path}'
+ other-files: ''
###### BUILDERS
- builder:
- shell: |
$WORKSPACE/scripts/check-unicode.sh jjb/
-
+- builder:
+ name: provide-maven-settings
+ builders:
+ - config-file-provider:
+ files:
+ - file-id: '{global-settings-file}'
+ variable: 'GLOBAL_SETTINGS_FILE'
+ - file-id: '{settings-file}'
+ variable: 'SETTINGS_FILE'