diff options
author | James E. Blair <jeblair@redhat.com> | 2020-04-24 11:03:48 -0700 |
---|---|---|
committer | James E. Blair <jeblair@redhat.com> | 2020-04-29 14:59:15 -0700 |
commit | 22640baef4d33c80135aace1d11a223278b02e57 (patch) | |
tree | bd7f7ede79144e62a4c1db03bcdc9daf131b1a0a /tests/fixtures/layouts/serial.yaml | |
parent | ccddc37fa04dc66ab29b9bc97cc63b0665e64430 (diff) | |
download | zuul-22640baef4d33c80135aace1d11a223278b02e57.tar.gz |
Add serial pipeline manager
This is designed to handle the case where we want:
* The pipeline to be triggered by changes so results report back to
the change.
* Triggered on change merged.
* Jobs with file matchers so that if a subsystem is changed, only the
deployment job for that subsystem is run.
* Every change is processed in strict sequence.
This is designed to accomodate a deployment pipeline with the above
constraints.
The pipeline manager hierarchy is getting complicated; mark the base
class as abstract, and also move the shared-queue methods into an
intermediate abstract class. These are shared by both serial and
dependent managers.
Change-Id: I3c5f3b2f6298292c5c25665923e3a10b07be5419
Diffstat (limited to 'tests/fixtures/layouts/serial.yaml')
-rw-r--r-- | tests/fixtures/layouts/serial.yaml | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/tests/fixtures/layouts/serial.yaml b/tests/fixtures/layouts/serial.yaml new file mode 100644 index 000000000..5a744ce82 --- /dev/null +++ b/tests/fixtures/layouts/serial.yaml @@ -0,0 +1,48 @@ +- pipeline: + name: deploy + manager: serial + trigger: + gerrit: + - event: change-merged + post-review: True + success: + gerrit: {} + failure: + gerrit: {} + +- job: + name: base + parent: null + nodeset: + nodes: + - label: ubuntu-xenial + name: controller + +- job: + name: job1 + run: playbooks/job1.yaml + +- job: + name: job2 + run: playbooks/job2.yaml + +- project: + name: org/project + deploy: + jobs: + - job1 + - job2 + +- project: + name: org/project1 + deploy: + queue: shared + jobs: + - job1 + +- project: + name: org/project2 + deploy: + queue: shared + jobs: + - job1 |