Skip to content
Snippets Groups Projects
Commit 99ee39bf authored by Grzegorz Bizon's avatar Grzegorz Bizon
Browse files

Add comments to new CI config classes and modules

parent 20ccd446
No related branches found
No related tags found
1 merge request!4482Add global entry with before script to new CI config
Pipeline #
module Gitlab module Gitlab
module Ci module Ci
##
# Base GitLab CI Configuration facade
#
class Config class Config
class LoaderError < StandardError; end
delegate :valid?, :errors, to: :@global delegate :valid?, :errors, to: :@global
   
## ##
Loading
Loading
Loading
@@ -2,6 +2,17 @@ module Gitlab
Loading
@@ -2,6 +2,17 @@ module Gitlab
module Ci module Ci
class Config class Config
module Node module Node
##
# This mixin is responsible for adding DSL, which purpose is to
# simplifly process of adding child nodes.
#
# This can be used only if parent node is a configuration entry that
# holds a hash as a configuration value, for example:
#
# job:
# script: ...
# artifacts: ...
#
module Configurable module Configurable
extend ActiveSupport::Concern extend ActiveSupport::Concern
   
Loading
Loading
Loading
@@ -2,6 +2,9 @@ module Gitlab
Loading
@@ -2,6 +2,9 @@ module Gitlab
module Ci module Ci
class Config class Config
module Node module Node
##
# Base abstract class for each configuration entry node.
#
class Entry class Entry
class InvalidError < StandardError; end class InvalidError < StandardError; end
   
Loading
Loading
Loading
@@ -2,6 +2,10 @@ module Gitlab
Loading
@@ -2,6 +2,10 @@ module Gitlab
module Ci module Ci
class Config class Config
module Node module Node
##
# This class represents a global entry - root node for entire
# GitLab CI Configuration file.
#
class Global < Entry class Global < Entry
include Configurable include Configurable
   
Loading
Loading
module Gitlab module Gitlab
module Ci module Ci
class Config class Config
##
# This class represents a configuration entry that is not being used
# in configuration file.
#
# This implements Null Object pattern.
#
module Node module Node
class Null < Entry class Null < Entry
def value def value
Loading
Loading
Loading
@@ -2,6 +2,14 @@ module Gitlab
Loading
@@ -2,6 +2,14 @@ module Gitlab
module Ci module Ci
class Config class Config
module Node module Node
##
# Entry that represents a script.
#
# Each element in the value array is a command that will be executed
# by GitLab Runner. Currently we concatenate this commands with
# new line character as a separator what is compatbile with
# implementation in Runner.
#
class Script < Entry class Script < Entry
include ValidationHelpers include ValidationHelpers
   
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment