fix(rules): filter gitlab jobs better
list other top-level keys and replace the patternProperties filter with additionalProperties to prevent top-level keys from being validated as jobs (which they will fail)
This commit is contained in:
parent
842006c34a
commit
988b942fca
|
@ -42,20 +42,55 @@ rules:
|
||||||
|
|
||||||
check:
|
check:
|
||||||
type: object
|
type: object
|
||||||
patternProperties:
|
properties:
|
||||||
"^(?!stages$|\\.)":
|
after_script:
|
||||||
|
type: array
|
||||||
|
before_script:
|
||||||
|
type: array
|
||||||
|
cache:
|
||||||
type: object
|
type: object
|
||||||
required: [script]
|
image:
|
||||||
properties:
|
type: string
|
||||||
after_script:
|
services:
|
||||||
type: array
|
type: array
|
||||||
items:
|
stages:
|
||||||
type: string
|
type: array
|
||||||
before_script:
|
types:
|
||||||
type: array
|
type: array
|
||||||
items:
|
variables:
|
||||||
type: string
|
type: object
|
||||||
script:
|
additionalProperties:
|
||||||
type: array
|
type: object
|
||||||
items:
|
required: [script]
|
||||||
type: string
|
properties:
|
||||||
|
after_script:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
|
before_script:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
|
script:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
|
|
||||||
|
- name: gitlab-top-level
|
||||||
|
desc: should only have jobs and stages at the top level scope
|
||||||
|
level: info
|
||||||
|
tags:
|
||||||
|
- gitlab
|
||||||
|
- optional
|
||||||
|
|
||||||
|
check:
|
||||||
|
type: object
|
||||||
|
not:
|
||||||
|
anyOf:
|
||||||
|
- required: [image]
|
||||||
|
- required: [services]
|
||||||
|
- required: [types]
|
||||||
|
- required: [before_script]
|
||||||
|
- required: [after_script]
|
||||||
|
- required: [variables]
|
||||||
|
- required: [cache]
|
Loading…
Reference in New Issue