108 lines
2.2 KiB
YAML
108 lines
2.2 KiB
YAML
name: salty-dog-gitlab-ci
|
|
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
|
|
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
|
|
desc: should only have includes and stages at the top level
|
|
level: info
|
|
tags:
|
|
- gitlab
|
|
- optional
|
|
|
|
check:
|
|
type: object
|
|
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] |