--- - project: name: 'escalator' project: 'escalator' ##################################### # branch definitions ##################################### stream: - master: branch: '{stream}' gs-pathname: '' disabled: false ##################################### # phases ##################################### phase: - 'basic': slave-label: 'opnfv-build-centos' - 'build': slave-label: 'opnfv-build-centos' ##################################### # jobs ##################################### jobs: - 'escalator-verify-{stream}' - 'escalator-verify-{phase}-{stream}' - 'escalator-merge-{stream}' - 'escalator-merge-{phase}-{stream}' ##################################### # job templates ##################################### - job-template: name: 'escalator-verify-{stream}' project-type: multijob disabled: false concurrent: true properties: - logrotate-default - throttle: enabled: true max-total: 4 option: 'project' scm: - git-scm-gerrit wrappers: - ssh-agent-wrapper - timeout: timeout: 360 fail: true triggers: - gerrit: server-name: 'gerrit.opnfv.org' 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}' disable-strict-forbidden-file-verification: 'true' forbidden-file-paths: - compare-type: ANT pattern: 'docs/**|.gitignore' readable-message: true parameters: - project-parameter: project: '{project}' branch: '{branch}' - 'opnfv-build-defaults' - 'escalator-defaults': gs-pathname: '{gs-pathname}' builders: - description-setter: description: "Built on $NODE_NAME" - multijob: name: basic condition: SUCCESSFUL projects: - name: 'escalator-verify-basic-{stream}' current-parameters: false predefined-parameters: | BRANCH=$BRANCH GERRIT_REFSPEC=$GERRIT_REFSPEC GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE node-parameters: false kill-phase-on: FAILURE abort-all-job: true - multijob: name: build condition: SUCCESSFUL projects: - name: 'escalator-verify-build-{stream}' current-parameters: false predefined-parameters: | BRANCH=$BRANCH GERRIT_REFSPEC=$GERRIT_REFSPEC GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE node-parameters: false kill-phase-on: FAILURE abort-all-job: true - job-template: name: 'escalator-verify-{phase}-{stream}' disabled: '{obj:disabled}' concurrent: true scm: - git-scm-gerrit wrappers: - ssh-agent-wrapper - timeout: timeout: 360 fail: true parameters: - project-parameter: project: '{project}' branch: '{branch}' - '{slave-label}-defaults' - 'escalator-defaults': gs-pathname: '{gs-pathname}' builders: - description-setter: description: "Built on $NODE_NAME" - '{project}-verify-{phase}-macro' - job-template: name: 'escalator-merge-{stream}' project-type: multijob disabled: false concurrent: true properties: - logrotate-default - throttle: enabled: true max-total: 4 option: 'project' scm: - git-scm-gerrit wrappers: - ssh-agent-wrapper - timeout: timeout: 360 fail: true triggers: - gerrit: server-name: 'gerrit.opnfv.org' 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}' disable-strict-forbidden-file-verification: 'true' forbidden-file-paths: - compare-type: ANT pattern: 'docs/**|.gitignore' readable-message: true parameters: - project-parameter: project: '{project}' branch: '{branch}' - 'opnfv-build-defaults' - 'escalator-defaults': gs-pathname: '{gs-pathname}' builders: - description-setter: description: "Built on $NODE_NAME" - multijob: name: basic condition: SUCCESSFUL projects: - name: 'escalator-merge-basic-{stream}' current-parameters: false predefined-parameters: | BRANCH=$BRANCH GERRIT_REFSPEC=$GERRIT_REFSPEC GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE node-parameters: false kill-phase-on: FAILURE abort-all-job: true - multijob: name: build condition: SUCCESSFUL projects: - name: 'escalator-merge-build-{stream}' current-parameters: false predefined-parameters: | BRANCH=$BRANCH GERRIT_REFSPEC=$GERRIT_REFSPEC GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE node-parameters: false kill-phase-on: FAILURE abort-all-job: true - job-template: name: 'escalator-merge-{phase}-{stream}' disabled: '{obj:disabled}' concurrent: true scm: - git-scm wrappers: - ssh-agent-wrapper - timeout: timeout: 360 fail: true parameters: - project-parameter: project: '{project}' branch: '{branch}' - '{slave-label}-defaults' - 'escalator-defaults': gs-pathname: '{gs-pathname}' builders: - description-setter: description: "Built on $NODE_NAME" - '{project}-merge-{phase}-macro' ##################################### # builder macros ##################################### - builder: name: 'escalator-verify-basic-macro' builders: - shell: !include-raw: ./escalator-basic.sh - builder: name: 'escalator-verify-build-macro' builders: - shell: !include-raw: ./escalator-build.sh - builder: name: 'escalator-merge-basic-macro' builders: - shell: !include-raw: ./escalator-basic.sh # yamllint disable rule:indentation - builder: name: 'escalator-merge-build-macro' builders: - shell: !include-raw: - ./escalator-build.sh - ./escalator-upload-artifact.sh # yamllint enable rule:indentation ##################################### # parameter macros ##################################### - parameter: name: 'escalator-defaults' 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."