debian-mirror-gitlab/lib/gitlab/ci/config/header/root.rb
2023-05-27 22:25:52 +05:30

36 lines
1 KiB
Ruby

# frozen_string_literal: true
module Gitlab
module Ci
class Config
module Header
##
# This class represents the root entry of the GitLab CI configuration header.
#
# A header is the first document in a multi-doc YAML that contains metadata
# and specifications about the GitLab CI configuration (the second document).
#
# The header is optional. A CI configuration can also be represented with a
# YAML containing a single document.
class Root < ::Gitlab::Config::Entry::Node
include ::Gitlab::Config::Entry::Configurable
ALLOWED_KEYS = %i[spec].freeze
validations do
validates :config, type: Hash, allowed_keys: ALLOWED_KEYS
end
entry :spec, Header::Spec,
description: 'Specifications of the CI configuration.',
inherit: false,
default: {}
def inputs_value
spec_entry.inputs_value
end
end
end
end
end
end