diff --git a/dev/zuul/layout.yaml b/dev/zuul/layout.yaml index a913d9ea8d..909a82ddef 100644 --- a/dev/zuul/layout.yaml +++ b/dev/zuul/layout.yaml @@ -4,15 +4,26 @@ includes: pipelines: - name: check description: Newly uploaded patchsets enter this pipeline to receive an initial +/-1 Verified vote from Jenkins. + success-message: Build succeeded (check pipeline). + failure-message: Build failed (check pipeline). For information on how to proceed, see http://docs.openstack.org/infra/manual/developers.html#automated-testing manager: IndependentPipelineManager - failure-message: Build failed. For information on how to proceed, see http://docs.openstack.org/infra/manual/developers.html#automated-testing + source: gerrit precedence: low + require: + open: True + current-patchset: True trigger: gerrit: - event: patchset-created - event: change-restored - event: comment-added - comment_filter: (?i)^(Patch Set [0-9]+:\n\n)?\s*(recheck|reverify) + comment: (?i)^(Patch Set [0-9]+:)?( [\w\\+-]*)*(\n\n)?\s*(recheck|reverify) + - event: comment-added + require-approval: + - verified: [-1, -2] + username: jenkins + approval: + - workflow: 1 success: gerrit: verified: 1 @@ -22,16 +33,27 @@ pipelines: - name: gate description: Changes that have been approved by core developers are enqueued in order in this pipeline, and if they pass tests in Jenkins, will be merged. - failure-message: Build failed. For information on how to proceed, see http://docs.openstack.org/infra/manual/developers.html#automated-testing + success-message: Build succeeded (gate pipeline). + failure-message: Build failed (gate pipeline). For information on how to proceed, see http://docs.openstack.org/infra/manual/developers.html#automated-testing manager: DependentPipelineManager + source: gerrit precedence: low + require: + open: True + current-patchset: True + approval: + - verified: [1, 2] + username: jenkins + - workflow: 1 trigger: gerrit: - event: comment-added approval: - workflow: 1 - event: comment-added - comment_filter: (?i)^(Patch Set [0-9]+:\n\n)?\s*(recheck|reverify) + approval: + - verified: 1 + username: jenkins start: gerrit: verified: 0 @@ -48,6 +70,7 @@ pipelines: - name: post description: This pipeline runs jobs that operate after each change is merged. manager: IndependentPipelineManager + source: gerrit precedence: low trigger: gerrit: @@ -57,6 +80,7 @@ pipelines: - name: tag description: This pipeline runs jobs in response to any tag event. manager: IndependentPipelineManager + source: gerrit precedence: high trigger: gerrit: @@ -66,54 +90,78 @@ pipelines: - name: pre-release description: This pipeline runs jobs on projects in response to pre-release tags. manager: IndependentPipelineManager + source: gerrit precedence: high trigger: gerrit: - event: ref-updated - ref: ^refs/tags/([0-9]+\.)+[0-9]*(alpha|beta|candidate|rc|a|b|c|r|g)[0-9]*$ + ref: ^refs/tags/[0-9]+(\.[0-9]+)*(a|b|rc)[0-9]+$ - name: release description: When a commit is tagged as a release, this pipeline runs jobs that publish archives and documentation. manager: IndependentPipelineManager + source: gerrit precedence: high trigger: gerrit: - event: ref-updated - ref: ^refs/tags/([0-9]+\.)+[0-9]+$ + ref: ^refs/tags/[0-9]+(\.[0-9]+)*$ - name: silent description: This pipeline is used for silently testing new jobs. manager: IndependentPipelineManager + source: gerrit precedence: low trigger: gerrit: - event: patchset-created - event: comment-added - comment_filter: (?i)^(Patch Set [0-9]+:\n\n)?\s*(recheck|reverify) + comment: (?i)^(Patch Set [0-9]+:)?( [\w\\+-]*)*(\n\n)?\s*(recheck|reverify) - name: experimental description: On-demand pipeline for requesting a run against a set of jobs that are not yet gating. Leave review comment of "check experimental" to run jobs in this pipeline. + success-message: Build succeeded (experimental pipeline). + failure-message: Build failed (experimental pipeline). manager: IndependentPipelineManager + source: gerrit precedence: low trigger: gerrit: - event: comment-added - comment_filter: (?i)^(Patch Set [0-9]+:\n\n)?\s*check experimental\s*$ + comment: (?i)^(Patch Set [0-9]+:)?( [\w\\+-]*)*(\n\n)?\s*check experimental\s*$ success: - gerrit: - force-message: true + gerrit: {} failure: - gerrit: - force-message: true + gerrit: {} - name: periodic description: Jobs in this queue are triggered on a timer. manager: IndependentPipelineManager + source: gerrit precedence: low trigger: timer: - time: '0 6 * * *' + - name: merge-check + description: > + Each time a change merges, this pipeline verifies that all open changes + on the same project are still mergeable. + failure-message: Build failed (merge-check pipeline). + manager: IndependentPipelineManager + source: gerrit + precedence: low + require: + approval: + - verified: [1, 2] + username: jenkins + trigger: + zuul: + - event: project-change-merged + merge-failure: + gerrit: + verified: -1 + jobs: - name: ^.*$ parameter-function: set_log_url @@ -140,6 +188,8 @@ projects: - noop experimental: - noop + merge-check: + - noop - name: gtest-org/gtest2 periodic: