Require a base job
This makes base jobs required and allows for a per-tenant default. Story: 2001110 Task: 4793 Change-Id: I26ffddad8358c156cfac749ce98af70f3447f671
This commit is contained in:
parent
0fb72dce11
commit
2bab6e7361
|
@ -165,3 +165,12 @@ configuration. An example tenant definition is:
|
||||||
can be limited to the protected branches which are gated. This
|
can be limited to the protected branches which are gated. This
|
||||||
is a tenant wide setting and can be overridden per project.
|
is a tenant wide setting and can be overridden per project.
|
||||||
This currently only affects GitHub projects.
|
This currently only affects GitHub projects.
|
||||||
|
|
||||||
|
.. attr:: default-parent
|
||||||
|
:default: base
|
||||||
|
|
||||||
|
If a job is defined without an explicit :attr:`job.parent`
|
||||||
|
attribute, this job will be configured as the job's parent.
|
||||||
|
This allows an administrator to configure a default base job to
|
||||||
|
implement local policies such as node setup and artifact
|
||||||
|
publishing.
|
||||||
|
|
|
@ -6,6 +6,13 @@ Glossary
|
||||||
.. glossary::
|
.. glossary::
|
||||||
:sorted:
|
:sorted:
|
||||||
|
|
||||||
|
base job
|
||||||
|
|
||||||
|
A job with no parent. A base job may only be defined in a
|
||||||
|
:term:`config-project`. Multiple base jobs may be defined, but
|
||||||
|
each tenant has a single default job which will be used as the
|
||||||
|
parent of any job which does not specify one explicitly.
|
||||||
|
|
||||||
check
|
check
|
||||||
|
|
||||||
By convention, the name of a pipeline which performs pre-merge
|
By convention, the name of a pipeline which performs pre-merge
|
||||||
|
|
|
@ -17,9 +17,10 @@ they specify one of two security contexts for that project. A
|
||||||
*config-project* is one which is primarily tasked with holding
|
*config-project* is one which is primarily tasked with holding
|
||||||
configuration information and job content for Zuul. Jobs which are
|
configuration information and job content for Zuul. Jobs which are
|
||||||
defined in a config-project are run with elevated privileges, and all
|
defined in a config-project are run with elevated privileges, and all
|
||||||
Zuul configuration items are available for use. It is expected that
|
Zuul configuration items are available for use. Base jobs (that is,
|
||||||
changes to config-projects will undergo careful scrutiny before being
|
jobs without a parent) may only be defined in config-projects. It is
|
||||||
merged.
|
expected that changes to config-projects will undergo careful scrutiny
|
||||||
|
before being merged.
|
||||||
|
|
||||||
An *untrusted-project* is a project whose primary focus is not to
|
An *untrusted-project* is a project whose primary focus is not to
|
||||||
operate Zuul, but rather it is one of the projects being tested or
|
operate Zuul, but rather it is one of the projects being tested or
|
||||||
|
@ -439,6 +440,12 @@ specialization before arriving at a particular job. A job may inherit
|
||||||
from any other job in any project (however, if the other job is marked
|
from any other job in any project (however, if the other job is marked
|
||||||
as ``final``, some attributes may not be overidden).
|
as ``final``, some attributes may not be overidden).
|
||||||
|
|
||||||
|
A job with no parent is called a *base job* and may only be defined in
|
||||||
|
a :term:`config-project`. Every other job must have a parent, and so
|
||||||
|
ultimately, all jobs must have an inheritance path which terminates at
|
||||||
|
a base job. Each tenant has a default parent job which will be used
|
||||||
|
if no explicit parent is specified.
|
||||||
|
|
||||||
Jobs also support a concept called variance. The first time a job
|
Jobs also support a concept called variance. The first time a job
|
||||||
definition appears is called the reference definition of the job.
|
definition appears is called the reference definition of the job.
|
||||||
Subsequent job definitions with the same name are called variants.
|
Subsequent job definitions with the same name are called variants.
|
||||||
|
@ -503,11 +510,17 @@ Here is an example of two job definitions:
|
||||||
this name to use as the main playbook for the job. This name is
|
this name to use as the main playbook for the job. This name is
|
||||||
also referenced later in a project pipeline configuration.
|
also referenced later in a project pipeline configuration.
|
||||||
|
|
||||||
|
.. TODO: figure out how to link the parent default to tenant.default.parent
|
||||||
|
|
||||||
.. attr:: parent
|
.. attr:: parent
|
||||||
|
:default: Tenant default-parent
|
||||||
|
|
||||||
Specifies a job to inherit from. The parent job can be defined
|
Specifies a job to inherit from. The parent job can be defined
|
||||||
in this or any other project. Any attributes not specified on
|
in this or any other project. Any attributes not specified on a
|
||||||
a job will be collected from its parent.
|
job will be collected from its parent. If no value is supplied
|
||||||
|
here, the job specified by :attr:`tenant.default-parent` will be
|
||||||
|
used. If **parent** is set to ``null`` (which is only valid in
|
||||||
|
a :term:`config-project`), this is a :term:`base job`.
|
||||||
|
|
||||||
.. attr:: description
|
.. attr:: description
|
||||||
|
|
||||||
|
|
|
@ -69,6 +69,10 @@
|
||||||
data:
|
data:
|
||||||
value: vartest_secret
|
value: vartest_secret
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: base-urls
|
name: base-urls
|
||||||
success-url: https://success.example.com/zuul-logs/{build.uuid}/
|
success-url: https://success.example.com/zuul-logs/{build.uuid}/
|
||||||
|
|
|
@ -0,0 +1,24 @@
|
||||||
|
- pipeline:
|
||||||
|
name: check
|
||||||
|
manager: independent
|
||||||
|
trigger:
|
||||||
|
gerrit:
|
||||||
|
- event: patchset-created
|
||||||
|
success:
|
||||||
|
gerrit:
|
||||||
|
Verified: 1
|
||||||
|
failure:
|
||||||
|
gerrit:
|
||||||
|
Verified: -1
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: my-base
|
||||||
|
parent: null
|
||||||
|
tags:
|
||||||
|
- mybase
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: other-base
|
||||||
|
parent: null
|
||||||
|
tags:
|
||||||
|
- otherbase
|
|
@ -0,0 +1,13 @@
|
||||||
|
- job:
|
||||||
|
name: my-job
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: other-job
|
||||||
|
parent: other-base
|
||||||
|
|
||||||
|
- project:
|
||||||
|
name: org/project
|
||||||
|
check:
|
||||||
|
jobs:
|
||||||
|
- my-job
|
||||||
|
- other-job
|
|
@ -0,0 +1 @@
|
||||||
|
test
|
|
@ -0,0 +1,2 @@
|
||||||
|
- hosts: all
|
||||||
|
tasks: []
|
|
@ -0,0 +1,2 @@
|
||||||
|
- hosts: all
|
||||||
|
tasks: []
|
|
@ -0,0 +1,9 @@
|
||||||
|
- tenant:
|
||||||
|
name: tenant-one
|
||||||
|
default-parent: my-base
|
||||||
|
source:
|
||||||
|
gerrit:
|
||||||
|
config-projects:
|
||||||
|
- common-config
|
||||||
|
untrusted-projects:
|
||||||
|
- org/project
|
|
@ -1,2 +1,6 @@
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: trusted-zuul.yaml-job
|
name: trusted-zuul.yaml-job
|
||||||
|
|
|
@ -12,6 +12,10 @@
|
||||||
gerrit:
|
gerrit:
|
||||||
Verified: -1
|
Verified: -1
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: data-return
|
name: data-return
|
||||||
|
|
||||||
|
|
|
@ -19,6 +19,10 @@
|
||||||
Verified: 0
|
Verified: 0
|
||||||
precedence: high
|
precedence: high
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: A
|
name: A
|
||||||
|
|
||||||
|
|
|
@ -12,6 +12,10 @@
|
||||||
gerrit:
|
gerrit:
|
||||||
verified: -1
|
verified: -1
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: dd-big-empty-file
|
name: dd-big-empty-file
|
||||||
|
|
||||||
|
|
|
@ -26,6 +26,10 @@
|
||||||
gerrit:
|
gerrit:
|
||||||
Verified: -1
|
Verified: -1
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project-test1
|
name: project-test1
|
||||||
|
|
||||||
|
|
|
@ -11,6 +11,10 @@
|
||||||
gerrit:
|
gerrit:
|
||||||
Verified: -1
|
Verified: -1
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project-test1
|
name: project-test1
|
||||||
|
|
||||||
|
|
|
@ -10,3 +10,7 @@
|
||||||
failure:
|
failure:
|
||||||
gerrit:
|
gerrit:
|
||||||
Verified: -1
|
Verified: -1
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
|
@ -69,6 +69,10 @@
|
||||||
type: approved
|
type: approved
|
||||||
trigger: {}
|
trigger: {}
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: common-config-test
|
name: common-config-test
|
||||||
|
|
||||||
|
|
|
@ -31,6 +31,10 @@
|
||||||
- compute1
|
- compute1
|
||||||
- compute2
|
- compute2
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: single-inventory
|
name: single-inventory
|
||||||
nodes:
|
nodes:
|
||||||
|
|
|
@ -32,6 +32,10 @@
|
||||||
Verified: 0
|
Verified: 0
|
||||||
precedence: high
|
precedence: high
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project-test1
|
name: project-test1
|
||||||
|
|
||||||
|
|
|
@ -26,8 +26,13 @@
|
||||||
gerrit:
|
gerrit:
|
||||||
Verified: 0
|
Verified: 0
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project-gerrit
|
name: project-gerrit
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project1-github
|
name: project1-github
|
||||||
|
|
||||||
|
|
|
@ -10,3 +10,7 @@
|
||||||
failure:
|
failure:
|
||||||
gerrit:
|
gerrit:
|
||||||
Verified: -1
|
Verified: -1
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
|
@ -11,6 +11,10 @@
|
||||||
gerrit:
|
gerrit:
|
||||||
Verified: -1
|
Verified: -1
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: python27
|
name: python27
|
||||||
nodes:
|
nodes:
|
||||||
|
|
|
@ -35,6 +35,7 @@
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: base
|
name: base
|
||||||
|
parent: null
|
||||||
timeout: 30
|
timeout: 30
|
||||||
nodes:
|
nodes:
|
||||||
- name: controller
|
- name: controller
|
||||||
|
|
|
@ -12,6 +12,10 @@
|
||||||
gerrit:
|
gerrit:
|
||||||
Verified: -1
|
Verified: -1
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: python27
|
name: python27
|
||||||
pre-run: playbooks/pre
|
pre-run: playbooks/pre
|
||||||
|
|
|
@ -76,6 +76,10 @@
|
||||||
gerrit:
|
gerrit:
|
||||||
- event: ref-updated
|
- event: ref-updated
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: job1
|
name: job1
|
||||||
|
|
||||||
|
|
|
@ -30,6 +30,10 @@
|
||||||
gerrit:
|
gerrit:
|
||||||
Verified: -1
|
Verified: -1
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project1-job
|
name: project1-job
|
||||||
|
|
||||||
|
|
|
@ -32,6 +32,10 @@
|
||||||
gerrit:
|
gerrit:
|
||||||
Verified: -1
|
Verified: -1
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project1-job
|
name: project1-job
|
||||||
|
|
||||||
|
|
|
@ -32,6 +32,10 @@
|
||||||
gerrit:
|
gerrit:
|
||||||
Verified: -1
|
Verified: -1
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project1-job
|
name: project1-job
|
||||||
|
|
||||||
|
|
|
@ -30,6 +30,10 @@
|
||||||
gerrit:
|
gerrit:
|
||||||
Verified: -1
|
Verified: -1
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project1-job
|
name: project1-job
|
||||||
|
|
||||||
|
|
|
@ -46,6 +46,10 @@
|
||||||
gerrit:
|
gerrit:
|
||||||
Verified: -1
|
Verified: -1
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project1-job
|
name: project1-job
|
||||||
|
|
||||||
|
|
|
@ -49,6 +49,10 @@
|
||||||
gerrit:
|
gerrit:
|
||||||
Verified: -1
|
Verified: -1
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project-job
|
name: project-job
|
||||||
|
|
||||||
|
|
|
@ -30,6 +30,10 @@
|
||||||
gerrit:
|
gerrit:
|
||||||
Verified: -1
|
Verified: -1
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project1-job
|
name: project1-job
|
||||||
|
|
||||||
|
|
|
@ -32,6 +32,10 @@
|
||||||
gerrit:
|
gerrit:
|
||||||
Verified: -1
|
Verified: -1
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project1-job
|
name: project1-job
|
||||||
|
|
||||||
|
|
|
@ -36,6 +36,10 @@
|
||||||
gerrit:
|
gerrit:
|
||||||
Verified: -1
|
Verified: -1
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project1-job
|
name: project1-job
|
||||||
|
|
||||||
|
|
|
@ -32,6 +32,10 @@
|
||||||
Verified: 0
|
Verified: 0
|
||||||
precedence: high
|
precedence: high
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: common-config-test
|
name: common-config-test
|
||||||
|
|
||||||
|
|
|
@ -19,6 +19,10 @@
|
||||||
name: test-semaphore-two
|
name: test-semaphore-two
|
||||||
max: 2
|
max: 2
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project-test1
|
name: project-test1
|
||||||
|
|
||||||
|
|
|
@ -11,6 +11,10 @@
|
||||||
gerrit:
|
gerrit:
|
||||||
Verified: -1
|
Verified: -1
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project-test1
|
name: project-test1
|
||||||
|
|
||||||
|
|
|
@ -13,6 +13,7 @@
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: base
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: test2
|
name: test2
|
||||||
|
|
|
@ -40,6 +40,10 @@
|
||||||
- event: ref-updated
|
- event: ref-updated
|
||||||
ref: ^(?!refs/).*$
|
ref: ^(?!refs/).*$
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project-merge
|
name: project-merge
|
||||||
hold-following-changes: true
|
hold-following-changes: true
|
||||||
|
|
|
@ -1,2 +1,6 @@
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project-test1
|
name: project-test1
|
||||||
|
|
|
@ -14,6 +14,10 @@
|
||||||
resultsdb:
|
resultsdb:
|
||||||
resultsdb_failures:
|
resultsdb_failures:
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project-merge
|
name: project-merge
|
||||||
|
|
||||||
|
|
|
@ -11,6 +11,10 @@
|
||||||
gerrit:
|
gerrit:
|
||||||
Verified: -1
|
Verified: -1
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: python27
|
name: python27
|
||||||
vars:
|
vars:
|
||||||
|
|
|
@ -16,6 +16,10 @@
|
||||||
gerrit:
|
gerrit:
|
||||||
Verified: -1
|
Verified: -1
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: docs-draft-test
|
name: docs-draft-test
|
||||||
success-url: http://docs-draft.example.org/{change.number:.2}/{change.number}/{change.patchset}/{pipeline.name}/{job.name}/{build.uuid:.7}/publish-docs/
|
success-url: http://docs-draft.example.org/{change.number:.2}/{change.number}/{change.patchset}/{pipeline.name}/{job.name}/{build.uuid:.7}/publish-docs/
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project-test1
|
name: project-test1
|
||||||
|
|
||||||
|
|
|
@ -11,6 +11,10 @@
|
||||||
gerrit:
|
gerrit:
|
||||||
Verified: -1
|
Verified: -1
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: common-config-job
|
name: common-config-job
|
||||||
|
|
||||||
|
|
|
@ -17,3 +17,7 @@
|
||||||
start:
|
start:
|
||||||
github:
|
github:
|
||||||
comment: true
|
comment: true
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
|
@ -43,6 +43,10 @@
|
||||||
another_gerrit:
|
another_gerrit:
|
||||||
Verified: -1
|
Verified: -1
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project-test1
|
name: project-test1
|
||||||
|
|
||||||
|
|
|
@ -11,6 +11,10 @@
|
||||||
alt_voting_gerrit:
|
alt_voting_gerrit:
|
||||||
Verified: -1
|
Verified: -1
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project-test1
|
name: project-test1
|
||||||
|
|
||||||
|
|
|
@ -45,6 +45,10 @@
|
||||||
Verified: 0
|
Verified: 0
|
||||||
precedence: high
|
precedence: high
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project-check
|
name: project-check
|
||||||
|
|
||||||
|
|
|
@ -43,6 +43,10 @@
|
||||||
gerrit:
|
gerrit:
|
||||||
Verified: -1
|
Verified: -1
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project-check
|
name: project-check
|
||||||
|
|
||||||
|
|
|
@ -11,6 +11,10 @@
|
||||||
gerrit:
|
gerrit:
|
||||||
Verified: -1
|
Verified: -1
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project-test2
|
name: project-test2
|
||||||
nodes:
|
nodes:
|
||||||
|
|
|
@ -17,8 +17,13 @@
|
||||||
failure:
|
failure:
|
||||||
github: {}
|
github: {}
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project-test1
|
name: project-test1
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project-test2
|
name: project-test2
|
||||||
|
|
||||||
|
|
|
@ -27,16 +27,25 @@
|
||||||
failure:
|
failure:
|
||||||
github: {}
|
github: {}
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project1-test
|
name: project1-test
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project2-test
|
name: project2-test
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project3-test
|
name: project3-test
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project4-test
|
name: project4-test
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project5-test
|
name: project5-test
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project6-test
|
name: project6-test
|
||||||
|
|
||||||
|
|
|
@ -15,10 +15,16 @@
|
||||||
github:
|
github:
|
||||||
unlabel: 'merge'
|
unlabel: 'merge'
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project-test1
|
name: project-test1
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project-test2
|
name: project-test2
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project-merge
|
name: project-merge
|
||||||
failure-message: Unable to merge change
|
failure-message: Unable to merge change
|
||||||
|
|
|
@ -8,6 +8,10 @@
|
||||||
- opened
|
- opened
|
||||||
- changed
|
- changed
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: one-job-project-merge
|
name: one-job-project-merge
|
||||||
|
|
||||||
|
|
|
@ -15,6 +15,10 @@
|
||||||
to: you@example.com
|
to: you@example.com
|
||||||
disable-after-consecutive-failures: 3
|
disable-after-consecutive-failures: 3
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project-test1
|
name: project-test1
|
||||||
nodes:
|
nodes:
|
||||||
|
|
|
@ -7,6 +7,10 @@
|
||||||
ref: ^(?!refs/).*$
|
ref: ^(?!refs/).*$
|
||||||
ignore-deletes: false
|
ignore-deletes: false
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project-post
|
name: project-post
|
||||||
nodes:
|
nodes:
|
||||||
|
|
|
@ -6,6 +6,10 @@
|
||||||
- event: pull_request
|
- event: pull_request
|
||||||
action: opened
|
action: opened
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project-test1
|
name: project-test1
|
||||||
files:
|
files:
|
||||||
|
|
|
@ -25,6 +25,10 @@
|
||||||
Verified: 0
|
Verified: 0
|
||||||
precedence: high
|
precedence: high
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project-test1
|
name: project-test1
|
||||||
# success-url: http://logs.exxxample.com/{change.number}/{change.patchset}/{pipeline.name}/{job.name}
|
# success-url: http://logs.exxxample.com/{change.number}/{change.patchset}/{pipeline.name}/{job.name}
|
||||||
|
|
|
@ -5,6 +5,10 @@
|
||||||
timer:
|
timer:
|
||||||
- time: '* * * * * */1'
|
- time: '* * * * * */1'
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project-bitrot
|
name: project-bitrot
|
||||||
nodes:
|
nodes:
|
||||||
|
|
|
@ -12,6 +12,10 @@
|
||||||
gerrit:
|
gerrit:
|
||||||
Verified: -1
|
Verified: -1
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project1-merge
|
name: project1-merge
|
||||||
|
|
||||||
|
|
|
@ -11,6 +11,10 @@
|
||||||
gerrit:
|
gerrit:
|
||||||
Verified: -1
|
Verified: -1
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project-test-irrelevant-starts-empty
|
name: project-test-irrelevant-starts-empty
|
||||||
|
|
||||||
|
|
|
@ -11,6 +11,10 @@
|
||||||
gerrit:
|
gerrit:
|
||||||
Verified: -1
|
Verified: -1
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project-test-irrelevant-files
|
name: project-test-irrelevant-files
|
||||||
|
|
||||||
|
|
|
@ -19,6 +19,10 @@
|
||||||
unlabel:
|
unlabel:
|
||||||
- 'test'
|
- 'test'
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project-labels
|
name: project-labels
|
||||||
|
|
||||||
|
|
|
@ -19,6 +19,10 @@
|
||||||
Verified: 0
|
Verified: 0
|
||||||
precedence: high
|
precedence: high
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project-merge
|
name: project-merge
|
||||||
hold-following-changes: true
|
hold-following-changes: true
|
||||||
|
|
|
@ -11,6 +11,10 @@
|
||||||
gerrit:
|
gerrit:
|
||||||
Verified: -1
|
Verified: -1
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project-merge
|
name: project-merge
|
||||||
hold-following-changes: true
|
hold-following-changes: true
|
||||||
|
|
|
@ -11,6 +11,10 @@
|
||||||
gerrit:
|
gerrit:
|
||||||
Verified: -1
|
Verified: -1
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project-merge
|
name: project-merge
|
||||||
hold-following-changes: true
|
hold-following-changes: true
|
||||||
|
|
|
@ -32,6 +32,10 @@
|
||||||
Verified: 0
|
Verified: 0
|
||||||
precedence: high
|
precedence: high
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project-merge
|
name: project-merge
|
||||||
hold-following-changes: true
|
hold-following-changes: true
|
||||||
|
|
|
@ -46,6 +46,10 @@
|
||||||
Verified: 0
|
Verified: 0
|
||||||
precedence: high
|
precedence: high
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project-merge
|
name: project-merge
|
||||||
hold-following-changes: true
|
hold-following-changes: true
|
||||||
|
|
|
@ -13,6 +13,10 @@
|
||||||
merge: true
|
merge: true
|
||||||
comment: false
|
comment: false
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- project:
|
- project:
|
||||||
name: org/project
|
name: org/project
|
||||||
merge:
|
merge:
|
||||||
|
|
|
@ -11,6 +11,10 @@
|
||||||
gerrit:
|
gerrit:
|
||||||
Verified: -1
|
Verified: -1
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project-testfile
|
name: project-testfile
|
||||||
files:
|
files:
|
||||||
|
|
|
@ -32,6 +32,10 @@
|
||||||
Verified: 0
|
Verified: 0
|
||||||
precedence: high
|
precedence: high
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: gate-noop
|
name: gate-noop
|
||||||
|
|
||||||
|
|
|
@ -20,6 +20,10 @@
|
||||||
gerrit:
|
gerrit:
|
||||||
- event: ref-updated
|
- event: ref-updated
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project-test1
|
name: project-test1
|
||||||
|
|
||||||
|
|
|
@ -19,6 +19,10 @@
|
||||||
Verified: 0
|
Verified: 0
|
||||||
precedence: high
|
precedence: high
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: nonvoting-project-merge
|
name: nonvoting-project-merge
|
||||||
hold-following-changes: true
|
hold-following-changes: true
|
||||||
|
|
|
@ -9,6 +9,10 @@
|
||||||
failure:
|
failure:
|
||||||
gerrit: {}
|
gerrit: {}
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project-merge
|
name: project-merge
|
||||||
hold-following-changes: true
|
hold-following-changes: true
|
||||||
|
|
|
@ -40,6 +40,10 @@
|
||||||
- event: ref-updated
|
- event: ref-updated
|
||||||
ref: ^(?!refs/).*$
|
ref: ^(?!refs/).*$
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: one-job-project-merge
|
name: one-job-project-merge
|
||||||
hold-following-changes: true
|
hold-following-changes: true
|
||||||
|
|
|
@ -14,8 +14,13 @@
|
||||||
- event: push
|
- event: push
|
||||||
ref: ^refs/tags/.*$
|
ref: ^refs/tags/.*$
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project-post
|
name: project-post
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project-tag
|
name: project-tag
|
||||||
|
|
||||||
|
|
|
@ -24,6 +24,10 @@
|
||||||
window-decrease-type: exponential
|
window-decrease-type: exponential
|
||||||
window-decrease-factor: 2
|
window-decrease-factor: 2
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project-merge
|
name: project-merge
|
||||||
|
|
||||||
|
|
|
@ -32,6 +32,10 @@
|
||||||
Verified: 0
|
Verified: 0
|
||||||
precedence: high
|
precedence: high
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: integration
|
name: integration
|
||||||
required-projects:
|
required-projects:
|
||||||
|
|
|
@ -7,6 +7,10 @@
|
||||||
gerrit:
|
gerrit:
|
||||||
- event: ref-updated
|
- event: ref-updated
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: integration
|
name: integration
|
||||||
branches: master
|
branches: master
|
||||||
|
|
|
@ -7,6 +7,10 @@
|
||||||
gerrit:
|
gerrit:
|
||||||
- event: ref-updated
|
- event: ref-updated
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: integration
|
name: integration
|
||||||
override-branch: stable/havana
|
override-branch: stable/havana
|
||||||
|
|
|
@ -6,6 +6,10 @@
|
||||||
- event: ref-updated
|
- event: ref-updated
|
||||||
ref: ^(?!refs/).*$
|
ref: ^(?!refs/).*$
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: integration
|
name: integration
|
||||||
required-projects:
|
required-projects:
|
||||||
|
|
|
@ -32,6 +32,10 @@
|
||||||
Verified: 0
|
Verified: 0
|
||||||
precedence: high
|
precedence: high
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: integration
|
name: integration
|
||||||
required-projects:
|
required-projects:
|
||||||
|
|
|
@ -5,6 +5,10 @@
|
||||||
timer:
|
timer:
|
||||||
- time: '* * * * * */1'
|
- time: '* * * * * */1'
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: integration
|
name: integration
|
||||||
branches: master
|
branches: master
|
||||||
|
|
|
@ -5,6 +5,10 @@
|
||||||
timer:
|
timer:
|
||||||
- time: '* * * * * */1'
|
- time: '* * * * * */1'
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: integration
|
name: integration
|
||||||
required-projects:
|
required-projects:
|
||||||
|
|
|
@ -32,6 +32,10 @@
|
||||||
Verified: 0
|
Verified: 0
|
||||||
precedence: high
|
precedence: high
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: integration
|
name: integration
|
||||||
required-projects:
|
required-projects:
|
||||||
|
|
|
@ -32,6 +32,10 @@
|
||||||
Verified: 0
|
Verified: 0
|
||||||
precedence: high
|
precedence: high
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project-merge
|
name: project-merge
|
||||||
hold-following-changes: true
|
hold-following-changes: true
|
||||||
|
|
|
@ -78,6 +78,10 @@
|
||||||
comment: true
|
comment: true
|
||||||
status: 'failure'
|
status: 'failure'
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project-test1
|
name: project-test1
|
||||||
|
|
||||||
|
|
|
@ -22,8 +22,13 @@
|
||||||
github_ent:
|
github_ent:
|
||||||
status: 'success'
|
status: 'success'
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project1-test1
|
name: project1-test1
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project2-test2
|
name: project2-test2
|
||||||
|
|
||||||
|
|
|
@ -183,24 +183,37 @@
|
||||||
github:
|
github:
|
||||||
comment: true
|
comment: true
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project1-pipeline
|
name: project1-pipeline
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project2-trigger
|
name: project2-trigger
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project3-reviewusername
|
name: project3-reviewusername
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project4-reviewreq
|
name: project4-reviewreq
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project5-reviewuserstate
|
name: project5-reviewuserstate
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project6-newerthan
|
name: project6-newerthan
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project7-olderthan
|
name: project7-olderthan
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project8-requireopen
|
name: project8-requireopen
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project9-requirecurrent
|
name: project9-requirecurrent
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project10-label
|
name: project10-label
|
||||||
|
|
||||||
|
|
|
@ -11,6 +11,10 @@
|
||||||
label:
|
label:
|
||||||
- 'tests passed'
|
- 'tests passed'
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project-reviews
|
name: project-reviews
|
||||||
|
|
||||||
|
|
|
@ -38,6 +38,10 @@
|
||||||
Verified: 0
|
Verified: 0
|
||||||
precedence: high
|
precedence: high
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project-merge
|
name: project-merge
|
||||||
hold-following-changes: true
|
hold-following-changes: true
|
||||||
|
|
|
@ -11,6 +11,10 @@
|
||||||
gerrit:
|
gerrit:
|
||||||
Verified: -1
|
Verified: -1
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: merge
|
name: merge
|
||||||
tags:
|
tags:
|
||||||
|
|
|
@ -32,6 +32,10 @@
|
||||||
Verified: 0
|
Verified: 0
|
||||||
precedence: high
|
precedence: high
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project-merge
|
name: project-merge
|
||||||
hold-following-changes: true
|
hold-following-changes: true
|
||||||
|
|
|
@ -10,6 +10,10 @@
|
||||||
from: zuul_from@example.com
|
from: zuul_from@example.com
|
||||||
subject: Periodic check for {change.project} succeeded
|
subject: Periodic check for {change.project} succeeded
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project-bitrot-stable-old
|
name: project-bitrot-stable-old
|
||||||
success-url: http://logs.example.com/{job.name}/{build.number}
|
success-url: http://logs.example.com/{job.name}/{build.number}
|
||||||
|
|
|
@ -18,6 +18,10 @@
|
||||||
timer:
|
timer:
|
||||||
- time: '* * * * * */1'
|
- time: '* * * * * */1'
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: base
|
||||||
|
parent: null
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: project-test1
|
name: project-test1
|
||||||
|
|
||||||
|
|
|
@ -305,5 +305,6 @@ class TestConfigConflict(ZuulTestCase):
|
||||||
tenant = self.sched.abide.tenants.get('tenant-one')
|
tenant = self.sched.abide.tenants.get('tenant-one')
|
||||||
jobs = sorted(tenant.layout.jobs.keys())
|
jobs = sorted(tenant.layout.jobs.keys())
|
||||||
self.assertEquals(
|
self.assertEquals(
|
||||||
['noop', 'trusted-zuul.yaml-job', 'untrusted-zuul.yaml-job'],
|
['base', 'noop', 'trusted-zuul.yaml-job',
|
||||||
|
'untrusted-zuul.yaml-job'],
|
||||||
jobs)
|
jobs)
|
||||||
|
|
|
@ -65,6 +65,7 @@ class TestJob(BaseTestCase):
|
||||||
'_source_context': self.context,
|
'_source_context': self.context,
|
||||||
'_start_mark': self.start_mark,
|
'_start_mark': self.start_mark,
|
||||||
'name': 'job',
|
'name': 'job',
|
||||||
|
'parent': None,
|
||||||
'irrelevant-files': [
|
'irrelevant-files': [
|
||||||
'^docs/.*$'
|
'^docs/.*$'
|
||||||
]})
|
]})
|
||||||
|
@ -184,6 +185,7 @@ class TestJob(BaseTestCase):
|
||||||
'_source_context': self.context,
|
'_source_context': self.context,
|
||||||
'_start_mark': self.start_mark,
|
'_start_mark': self.start_mark,
|
||||||
'name': 'base',
|
'name': 'base',
|
||||||
|
'parent': None,
|
||||||
'timeout': 30,
|
'timeout': 30,
|
||||||
'pre-run': 'base-pre',
|
'pre-run': 'base-pre',
|
||||||
'post-run': 'base-post',
|
'post-run': 'base-post',
|
||||||
|
@ -389,6 +391,7 @@ class TestJob(BaseTestCase):
|
||||||
'_source_context': self.context,
|
'_source_context': self.context,
|
||||||
'_start_mark': self.start_mark,
|
'_start_mark': self.start_mark,
|
||||||
'name': 'base',
|
'name': 'base',
|
||||||
|
'parent': None,
|
||||||
'timeout': 30,
|
'timeout': 30,
|
||||||
})
|
})
|
||||||
layout.addJob(base)
|
layout.addJob(base)
|
||||||
|
@ -487,6 +490,7 @@ class TestJob(BaseTestCase):
|
||||||
'_source_context': self.context,
|
'_source_context': self.context,
|
||||||
'_start_mark': self.start_mark,
|
'_start_mark': self.start_mark,
|
||||||
'name': 'base',
|
'name': 'base',
|
||||||
|
'parent': None,
|
||||||
'timeout': 30,
|
'timeout': 30,
|
||||||
})
|
})
|
||||||
layout.addJob(base)
|
layout.addJob(base)
|
||||||
|
@ -565,6 +569,7 @@ class TestJob(BaseTestCase):
|
||||||
'_source_context': self.context,
|
'_source_context': self.context,
|
||||||
'_start_mark': self.start_mark,
|
'_start_mark': self.start_mark,
|
||||||
'name': 'base',
|
'name': 'base',
|
||||||
|
'parent': None,
|
||||||
'timeout': 30,
|
'timeout': 30,
|
||||||
})
|
})
|
||||||
layout.addJob(base)
|
layout.addJob(base)
|
||||||
|
@ -614,6 +619,7 @@ class TestJob(BaseTestCase):
|
||||||
base = configloader.JobParser.fromYaml(tenant, layout, {
|
base = configloader.JobParser.fromYaml(tenant, layout, {
|
||||||
'_source_context': base_context,
|
'_source_context': base_context,
|
||||||
'_start_mark': self.start_mark,
|
'_start_mark': self.start_mark,
|
||||||
|
'parent': None,
|
||||||
'name': 'base',
|
'name': 'base',
|
||||||
})
|
})
|
||||||
layout.addJob(base)
|
layout.addJob(base)
|
||||||
|
@ -639,6 +645,7 @@ class TestJob(BaseTestCase):
|
||||||
'_source_context': self.context,
|
'_source_context': self.context,
|
||||||
'_start_mark': self.start_mark,
|
'_start_mark': self.start_mark,
|
||||||
'name': 'job',
|
'name': 'job',
|
||||||
|
'parent': None,
|
||||||
'allowed-projects': ['project'],
|
'allowed-projects': ['project'],
|
||||||
})
|
})
|
||||||
self.layout.addJob(job)
|
self.layout.addJob(job)
|
||||||
|
@ -679,6 +686,7 @@ class TestJob(BaseTestCase):
|
||||||
'_source_context': self.context,
|
'_source_context': self.context,
|
||||||
'_start_mark': self.start_mark,
|
'_start_mark': self.start_mark,
|
||||||
'name': 'job',
|
'name': 'job',
|
||||||
|
'parent': None,
|
||||||
})
|
})
|
||||||
auth = model.AuthContext()
|
auth = model.AuthContext()
|
||||||
auth.secrets.append('foo')
|
auth.secrets.append('foo')
|
||||||
|
|
|
@ -1120,3 +1120,43 @@ class TestMaxNodesPerJob(AnsibleZuulTestCase):
|
||||||
self.waitUntilSettled()
|
self.waitUntilSettled()
|
||||||
self.assertNotIn("exceeds tenant max-nodes", B.messages[0],
|
self.assertNotIn("exceeds tenant max-nodes", B.messages[0],
|
||||||
"B should not fail because of nodes limit")
|
"B should not fail because of nodes limit")
|
||||||
|
|
||||||
|
|
||||||
|
class TestBaseJobs(ZuulTestCase):
|
||||||
|
tenant_config_file = 'config/base-jobs/main.yaml'
|
||||||
|
|
||||||
|
def test_multiple_base_jobs(self):
|
||||||
|
A = self.fake_gerrit.addFakeChange('org/project', 'master', 'A')
|
||||||
|
self.fake_gerrit.addEvent(A.getPatchsetCreatedEvent(1))
|
||||||
|
self.waitUntilSettled()
|
||||||
|
self.assertHistory([
|
||||||
|
dict(name='my-job', result='SUCCESS', changes='1,1'),
|
||||||
|
dict(name='other-job', result='SUCCESS', changes='1,1'),
|
||||||
|
], ordered=False)
|
||||||
|
self.assertEqual(self.getJobFromHistory('my-job').
|
||||||
|
parameters['zuul']['jobtags'],
|
||||||
|
['mybase'])
|
||||||
|
self.assertEqual(self.getJobFromHistory('other-job').
|
||||||
|
parameters['zuul']['jobtags'],
|
||||||
|
['otherbase'])
|
||||||
|
|
||||||
|
def test_untrusted_base_job(self):
|
||||||
|
"""Test that a base job may not be defined in an untrusted repo"""
|
||||||
|
in_repo_conf = textwrap.dedent(
|
||||||
|
"""
|
||||||
|
- job:
|
||||||
|
name: fail-base
|
||||||
|
parent: null
|
||||||
|
""")
|
||||||
|
|
||||||
|
file_dict = {'.zuul.yaml': in_repo_conf}
|
||||||
|
A = self.fake_gerrit.addFakeChange('org/project', 'master', 'A',
|
||||||
|
files=file_dict)
|
||||||
|
self.fake_gerrit.addEvent(A.getPatchsetCreatedEvent(1))
|
||||||
|
self.waitUntilSettled()
|
||||||
|
self.assertEqual(A.reported, 1,
|
||||||
|
"A should report failure")
|
||||||
|
self.assertEqual(A.patchsets[0]['approvals'][0]['value'], "-1")
|
||||||
|
self.assertIn('Base jobs must be defined in config projects',
|
||||||
|
A.messages[0])
|
||||||
|
self.assertHistory([])
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue