• Paul B's avatar
    ci(config): validate 'include' keyword · 30791a36
    Paul B authored
    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
    30791a36
includes.rb 780 Bytes