summaryrefslogtreecommitdiff
path: root/zuul/configloader.py
diff options
context:
space:
mode:
Diffstat (limited to 'zuul/configloader.py')
-rw-r--r--zuul/configloader.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/zuul/configloader.py b/zuul/configloader.py
index 10a33a1f0..22ad85144 100644
--- a/zuul/configloader.py
+++ b/zuul/configloader.py
@@ -603,6 +603,7 @@ class JobParser(object):
'final': bool,
'abstract': bool,
'protected': bool,
+ 'intermediate': bool,
'requires': to_list(str),
'provides': to_list(str),
'failure-message': str,
@@ -655,6 +656,7 @@ class JobParser(object):
'final',
'abstract',
'protected',
+ 'intermediate',
'timeout',
'post-timeout',
'workspace',
@@ -810,6 +812,9 @@ class JobParser(object):
job.roles, secrets)
job.run = job.run + (run,)
+ if conf.get('intermediate', False) and not conf.get('abstract', False):
+ raise Exception("An intermediate job must also be abstract")
+
for k in self.simple_attributes:
a = k.replace('-', '_')
if k in conf: