gitlab-ce/lib/gitlab/ci/config/entry
Paul B 30791a36c5
ci(config): validate 'include' keyword
During `.gitlab-ci.yml` configuration file validation there are two
cases:
1- either we are validating a file within a project context (a project
and a sha is given in option parameters)
2- either we are validating a file with no project context (as in the
api POST /ci/lint)

In the first case, all `include:` keywords are replaced by the content
of the included CI cnfiguration files.

In the second case, the `include:` configuration is kept untouched.

The current problem arises in the second case when one wants to
validate a generic gitlab-ci configuration file with an `include:`
keyword from the API. The following error will be raised by the API:
`"jobs:include config should be a hash"`.

This commit fixes the behavior by validating the `include:` keyword if
its present to not parse it as a job definition.

Fixes #55863 / #52822
2019-02-19 17:10:50 +01:00
..
artifacts.rb
cache.rb
commands.rb
coverage.rb
environment.rb
global.rb ci(config): validate 'include' keyword 2019-02-19 17:10:50 +01:00
hidden.rb
image.rb
include.rb ci(config): validate 'include' keyword 2019-02-19 17:10:50 +01:00
includes.rb ci(config): validate 'include' keyword 2019-02-19 17:10:50 +01:00
job.rb
jobs.rb
key.rb
paths.rb
policy.rb
reports.rb
retry.rb
script.rb
service.rb
services.rb
stage.rb
stages.rb
variables.rb