######################## # Job configuration for fuel ######################## - project: name: fuel-project-jobs project: 'fuel' installer: 'fuel' stream: - master: branch: '{stream}' gs-pathname: '' disabled: false - brahmaputra: branch: 'stable/{stream}' gs-pathname: '/{stream}' disabled: true jobs: - 'fuel-build-daily-{stream}' - 'fuel-verify-build-{stream}' - 'fuel-merge-build-{stream}' - 'fuel-merge-deploy-virtual-{stream}' - 'fuel-deploy-generic-daily-{stream}' ######################## # job templates ######################## - job-template: name: 'fuel-build-daily-{stream}' concurrent: false properties: - throttle: enabled: true max-total: 1 max-per-node: 1 parameters: - project-parameter: project: '{project}' - 'fuel-build-defaults' - '{installer}-defaults' - fuel-project-parameter: gs-pathname: '{gs-pathname}' scm: - git-scm: credentials-id: '{ssh-credentials}' refspec: '' branch: '{branch}' triggers: - pollscm: cron: '0 H/4 * * *' wrappers: - timeout: timeout: 360 fail: true builders: - shell: !include-raw-escape: ./fuel-build.sh - shell: !include-raw-escape: ./fuel-upload-artifact.sh - shell: !include-raw-escape: ./fuel-workspace-cleanup.sh publishers: - email: recipients: jonas.bjurel@ericsson.com stefan.k.berg@ericsson.com - job-template: name: 'fuel-verify-build-{stream}' disabled: '{obj:disabled}' concurrent: true parameters: - project-parameter: project: '{project}' - gerrit-parameter: branch: '{branch}' - 'fuel-build-defaults' - '{installer}-defaults' - fuel-project-parameter: gs-pathname: '{gs-pathname}' scm: - gerrit-trigger-scm: credentials-id: '{ssh-credentials}' refspec: '$GERRIT_REFSPEC' choosing-strategy: 'gerrit' wrappers: - ssh-agent-credentials: users: '{ssh-credentials}' - timeout: timeout: 360 fail: true triggers: - gerrit: trigger-on: - patchset-created-event: exclude-drafts: 'false' exclude-trivial-rebase: 'false' exclude-no-code-change: 'false' - draft-published-event - comment-added-contains-event: comment-contains-value: 'recheck' - comment-added-contains-event: comment-contains-value: 'reverify' projects: - project-compare-type: 'ANT' project-pattern: '{project}' branches: - branch-compare-type: 'ANT' branch-pattern: '**/{branch}' file-paths: - compare-type: ANT pattern: 'ci/**' - compare-type: ANT pattern: 'build/**' - compare-type: ANT pattern: 'deploy/**' forbidden-file-paths: - compare-type: ANT pattern: 'docs/**' readable-message: true builders: - shell: !include-raw-escape: ./fuel-build.sh - shell: !include-raw-escape: ./fuel-workspace-cleanup.sh - job-template: name: 'fuel-merge-build-{stream}' disabled: '{obj:disabled}' concurrent: true parameters: - project-parameter: project: '{project}' - gerrit-parameter: branch: '{branch}' - 'fuel-build-defaults' - '{installer}-defaults' - fuel-project-parameter: gs-pathname: '{gs-pathname}' scm: - gerrit-trigger-scm: credentials-id: '{ssh-credentials}' refspec: '' choosing-strategy: 'default' wrappers: - ssh-agent-credentials: users: '{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}' file-paths: - compare-type: ANT pattern: 'ci/**' - compare-type: ANT pattern: 'build/**' - compare-type: ANT pattern: 'deploy/**' forbidden-file-paths: - compare-type: ANT pattern: 'docs/**' builders: - shell: !include-raw-escape: ./fuel-build.sh - shell: !include-raw-escape: ./fuel-upload-artifact.sh - shell: !include-raw-escape: ./fuel-workspace-cleanup.sh - job-template: name: 'fuel-merge-deploy-virtual-{stream}' disabled: '{obj:disabled}' concurrent: true properties: - throttle: enabled: true max-total: 2 max-per-node: 1 - build-blocker: use-build-blocker: true blocking-jobs: - 'fuel-os-.*?-virtual-daily-.*' - 'fuel-merge-deploy-virtual-.*' block-level: 'NODE' parameters: - project-parameter: project: '{project}' - gerrit-parameter: branch: '{branch}' - 'virtual-defaults': installer: '{installer}' - '{installer}-defaults' - fuel-project-parameter: gs-pathname: '{gs-pathname}' scm: - gerrit-trigger-scm: credentials-id: '{ssh-credentials}' refspec: '' choosing-strategy: 'default' wrappers: - ssh-agent-credentials: users: '{ssh-credentials}' 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}' file-paths: - compare-type: ANT pattern: 'ci/**' - compare-type: ANT pattern: 'build/**' - compare-type: ANT pattern: 'deploy/**' forbidden-file-paths: - compare-type: ANT pattern: 'docs/**' dependency-jobs: 'fuel-merge-build-{stream}' builders: - shell: !include-raw-escape: ./fuel-download-artifact.sh - shell: !include-raw-escape: ./fuel-deploy.sh - shell: !include-raw-escape: ./fuel-workspace-cleanup.sh publishers: - email: recipients: jonas.bjurel@ericsson.com stefan.k.berg@ericsson.com - job-template: name: 'fuel-deploy-generic-daily-{stream}' concurrent: false disabled: false properties: - throttle: enabled: true max-total: 1 max-per-node: 1 - build-blocker: use-build-blocker: true blocking-jobs: - 'fuel-os-.*?-ericsson-pod2-daily-{stream}' parameters: - project-parameter: project: '{project}' - 'ericsson-pod2-defaults' - '{installer}-defaults' - string: name: DEPLOY_SCENARIO default: 'os-odl_l2-nofeature-ha' - fuel-project-parameter: gs-pathname: '{gs-pathname}' scm: - git-scm: credentials-id: '{ssh-credentials}' refspec: '' branch: '{branch}' wrappers: - build-name: name: '$BUILD_NUMBER - POD: $NODE_NAME Scenario: $DEPLOY_SCENARIO' builders: - shell: !include-raw-escape: ./fuel-download-artifact.sh - shell: !include-raw-escape: ./fuel-deploy.sh ######################## # parameter macros ######################## - parameter: name: fuel-project-parameter parameters: - 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_TYPE description: "Directory where the cache to be used during the build is located." - string: name: GS_URL default: artifacts.opnfv.org/$PROJECT{gs-pathname} description: "URL to Google Storage."