1
0
Fork 0
salty-dog/rules/gitlab-ci.yml

108 lines
2.2 KiB
YAML
Raw Normal View History

name: salty-dog-gitlab-ci
2019-06-16 04:08:12 +00:00
rules:
- name: gitlab-stages
desc: should specify stages
level: info
tags:
- gitlab
- optional
check:
type: object
required: [stages]
properties:
stages:
type: array
items:
type: string
- name: gitlab-job-template
desc: template jobs should set the stage
level: info
tags:
- gitlab
- optional
check:
type: object
patternProperties:
"\\..+":
type: object
required: [stage]
properties:
stage:
type: string
- name: gitlab-job-script
desc: jobs must have a script
level: info
tags:
- gitlab
- important
check:
type: object
properties:
after_script:
type: array
before_script:
type: array
cache:
type: object
image:
type: string
2019-11-12 01:26:45 +00:00
include:
type: array
services:
type: array
stages:
type: array
types:
type: array
variables:
type: object
additionalProperties:
type: object
required: [script]
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
2019-11-12 01:26:45 +00:00
desc: should only have includes and stages at the top level scope
level: info
tags:
- gitlab
- optional
check:
type: object
2019-11-12 01:26:45 +00:00
allOf:
- properties:
include:
type: array
items:
type: object
stages:
type: array
items:
type: string
- not:
anyOf:
- required: [image]
- required: [services]
- required: [types]
- required: [before_script]
- required: [after_script]
- required: [variables]
- required: [cache]