+########################
+# Job configuration for fuel
+########################
- project:
+
name: fuel
+
+ project: 'fuel'
+
+ installer: 'fuel'
+
jobs:
- - 'fuel-verify'
- - 'fuel-merge'
+ - 'fuel-verify-build-{stream}'
+ - 'fuel-merge-build-{stream}'
+ - 'fuel-merge-deploy-virtual-{stream}'
- 'fuel-daily-{stream}'
+ - 'fuel-build-{stream}'
+ - 'fuel-deploy-{stream}'
+ - 'fuel-lab-reconfig-{stream}'
- # stream: branch with - in place of / (eg. stable-arno)
- # branch: branch (eg. stable/arno)
stream:
- master:
branch: 'master'
+ gs-pathname: ''
- project: 'fuel'
+########################
+# job templates
+########################
- job-template:
- name: 'fuel-verify'
+ name: 'fuel-verify-build-{stream}'
+
+ project-type: freestyle
node: ericsson-build
- project-type: freestyle
+ concurrent: true
+
+ properties:
+ - throttle:
+ enabled: true
+ max-total: 3
logrotate:
daysToKeep: 30
- project-parameter:
project: '{project}'
- gerrit-parameter:
- branch: 'master'
+ branch: '{branch}'
+ - fuel-parameter:
+ installer: '{installer}'
+ gs-pathname: '{gs-pathname}'
+
scm:
- gerrit-trigger-scm:
credentials-id: '{ssh-credentials}'
wrappers:
- ssh-agent-credentials:
user: '{ssh-credentials}'
+ - timeout:
+ timeout: 360
+ fail: true
triggers:
- gerrit:
comment-contains-value: 'reverify'
projects:
- project-compare-type: 'ANT'
- project-pattern: 'fuel'
+ project-pattern: '{project}'
branches:
- branch-compare-type: 'ANT'
- branch-pattern: '**/master'
+ branch-pattern: '**/{branch}'
builders:
- shell:
- echo "Hello World"
+ !include-raw ./fuel-build.sh
+ - shell:
+ !include-raw ./fuel-workspace-cleanup.sh
- job-template:
- name: 'fuel-merge'
+ name: 'fuel-merge-build-{stream}'
- # builder-merge job to run JJB update
- #
- # This job's purpose is to update all the JJB
+ project-type: freestyle
- node: master
+ node: ericsson-build
- project-type: freestyle
+ concurrent: true
+
+ properties:
+ - throttle:
+ enabled: true
+ max-total: 2
logrotate:
daysToKeep: 30
- project-parameter:
project: '{project}'
- gerrit-parameter:
- branch: 'master'
+ branch: '{branch}'
+ - fuel-parameter:
+ installer: '{installer}'
+ gs-pathname: ''
+ scm:
+ - gerrit-trigger-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: ''
+ choosing-strategy: 'default'
+
+ wrappers:
+ - ssh-agent-credentials:
+ user: '{ssh-credentials}'
+ - timeout:
+ timeout: 360
+ fail: true
+
+ triggers:
+ - gerrit:
+ trigger-on:
+ - change-merged-event
+ - comment-added-contains-event:
+ comment-contains-value: 'remerge'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: '{project}'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ builders:
+ - shell:
+ !include-raw ./fuel-build.sh
+ - shell:
+ !include-raw ./fuel-upload-artifact.sh
+ - shell:
+ !include-raw ./fuel-workspace-cleanup.sh
+
+- job-template:
+ name: 'fuel-merge-deploy-virtual-{stream}'
+
+ project-type: freestyle
+
+ node: fuel-deploy-virtual
+
+ concurrent: true
+
+ properties:
+ - throttle:
+ enabled: true
+ max-total: 2
+ max-per-node: 1
+
+ logrotate:
+ daysToKeep: 30
+ numToKeep: 40
+ artifactDaysToKeep: -1
+ artifactNumToKeep: 5
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - gerrit-parameter:
+ branch: '{branch}'
+ - fuel-parameter:
+ installer: '{installer}'
+ gs-pathname: ''
scm:
- gerrit-trigger-scm:
credentials-id: '{ssh-credentials}'
comment-contains-value: 'remerge'
projects:
- project-compare-type: 'ANT'
- project-pattern: 'fuel'
+ project-pattern: '{project}'
branches:
- branch-compare-type: 'ANT'
- branch-pattern: '**/master'
+ branch-pattern: '**/{branch}'
+ dependency-jobs: 'fuel-merge-build-{stream}'
builders:
- shell:
- echo "Hello World"
+ !include-raw ./fuel-download-artifact.sh
+ - shell:
+ !include-raw ./fuel-deploy-virtual.sh
+ - shell:
+ !include-raw ./fuel-workspace-cleanup.sh
+ publishers:
+ - email:
+ recipients: jonas.bjurel@ericsson.com stefan.k.berg@ericsson.com
- job-template:
name: 'fuel-daily-{stream}'
- # Job template for daily builders
- #
- # Required Variables:
- # stream: branch with - in place of / (eg. stable)
- # branch: branch (eg. stable)
- node: master
+ project-type: freestyle
- disabled: true
+ node: ericsson-build
- project-type: freestyle
+ disabled: false
+
+ triggers:
+ - 'fuel-{strem}-trigger'
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - fuel-parameter:
+ installer: '{installer}'
+ gs-pathname: '{gs-pathname}'
+
+ scm:
+ - git-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: ''
+ branch: '{branch}'
logrotate:
daysToKeep: '{build-days-to-keep}'
artifactDaysToKeep: '{build-artifact-days-to-keep}'
artifactNumToKeep: '{build-artifact-num-to-keep}'
+ builders:
+ - trigger-builds:
+ - project: 'fuel-build-{stream}'
+ git-revision: true
+ block: true
+ - trigger-builds:
+ - project: 'fuel-deploy-{stream}'
+ git-revision: true
+ block: true
+ - trigger-builds:
+ - project: 'functest-fuel-{stream}'
+ block: true
+ block-thresholds:
+ build-step-failure-threshold: 'never'
+ failure-threshold: 'never'
+ unstable-threshold: 'FAILURE'
+ - trigger-builds:
+ - project: 'yardstick-fuel-lf-{stream}'
+ block: true
+ block-thresholds:
+ build-step-failure-threshold: 'never'
+ failure-threshold: 'never'
+ unstable-threshold: 'FAILURE'
+
+ triggers:
+ - 'fuel-{stream}-daily-trigger'
+
+- job-template:
+ name: 'fuel-build-{stream}'
+
+ project-type: freestyle
+
+ node: ericsson-build
+
+ logrotate:
+ daysToKeep: 30
+ numToKeep: 10
+ artifactDaysToKeep: -1
+ artifactNumToKeep: -1
+
parameters:
- project-parameter:
project: '{project}'
+ - fuel-parameter:
+ installer: '{installer}'
+ gs-pathname: '{gs-pathname}'
scm:
- git-scm:
branch: '{branch}'
wrappers:
- - ssh-agent-credentials:
- user: '{ssh-credentials}'
+ - timeout:
+ timeout: 360
+ fail: true
- triggers:
- - timed: 'H H * * *'
+ builders:
+ - shell:
+ !include-raw ./fuel-build.sh
+ - shell:
+ !include-raw ./fuel-upload-artifact.sh
+ - shell:
+ !include-raw ./fuel-workspace-cleanup.sh
+
+ publishers:
+ - email:
+ recipients: jonas.bjurel@ericsson.com stefan.k.berg@ericsson.com
+
+- job-template:
+ name: 'fuel-deploy-{stream}'
+
+ project-type: freestyle
+
+ disabled: false
+
+ node: opnfv-jump-2
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - fuel-parameter:
+ installer: '{installer}'
+ gs-pathname: '{gs-pathname}'
+ - string:
+ name: GIT_BASE
+ default: ssh://gerrit.opnfv.org:29418/$PROJECT
+ description: "POD2 has some issues with cloning using https so that's why GIT_BASE is overriden here again."
+
+ scm:
+ - git-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: ''
+ branch: '{branch}'
+
+ logrotate:
+ daysToKeep: 30
+ numToKeep: 10
+ artifactDaysToKeep: -1
+ artifactNumToKeep: -1
+
+ builders:
+ - shell:
+ !include-raw ./fuel-download-artifact.sh
+ - shell:
+ !include-raw ./fuel-deploy.sh
+
+ publishers:
+ - email:
+ recipients: jonas.bjurel@ericsson.com stefan.k.berg@ericsson.com
+
+- job-template:
+ name: 'fuel-lab-reconfig-{stream}'
+
+ project-type: freestyle
+
+ disabled: true
+
+ node: master
+
+ logrotate:
+ daysToKeep: 30
+ numToKeep: 10
+ artifactDaysToKeep: -1
+ artifactNumToKeep: -1
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - fuel-parameter:
+ installer: '{installer}'
+ gs-pathname: '{gs-pathname}'
+ - string:
+ name: GIT_BASE
+ default: ssh://gerrit.opnfv.org:29418/$PROJECT
+ description: "Used for overriding the GIT URL coming from parameters macro."
+
+ scm:
+ - git-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: ''
+ branch: '{branch}'
+
+ properties:
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - "apex-daily.*"
builders:
- shell:
- echo "Hello World"
+ !include-raw ./fuel-lab-reconfig.sh
+
+########################
+# parameter macros
+########################
+- parameter:
+ name: fuel-parameter
+ parameters:
+ - string:
+ name: INSTALLER
+ default: '{installer}'
+ description: "Installer to use."
+ - string:
+ name: BUILD_DIRECTORY
+ default: $WORKSPACE/build_output
+ description: "Directory where the build artifact will be located upon the completion of the build."
+ - string:
+ name: CACHE_DIRECTORY
+ default: $HOME/opnfv/cache/$INSTALLER
+ description: "Directory where the cache to be used during the build is located."
+ - string:
+ name: GIT_BASE
+ default: https://gerrit.opnfv.org/gerrit/$PROJECT
+ description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW."
+ - string:
+ name: GS_URL
+ default: artifacts.opnfv.org/$PROJECT{gs-pathname}
+ description: "URL to Google Storage."
+
+########################
+# trigger macros
+########################
+- trigger:
+ name: 'fuel-master-daily-trigger'
+ triggers:
+ - timed: '0 3 * * *'