Module: Enums::Ci::Pipeline
- Defined in:
- app/models/concerns/enums/ci/pipeline.rb
Class Method Summary collapse
-
.ci_sources ⇒ Object
CI sources are those pipeline events that affect the CI status of the ref they run for.
-
.config_sources ⇒ Object
Returns the `Hash` to use for creating the `config_sources` enum for `Ci::Pipeline`.
-
.dangling_sources ⇒ Object
Dangling sources are those events that generate pipelines for which we don't want to directly affect the ref CI status.
-
.failure_reasons ⇒ Object
Returns the `Hash` to use for creating the `failure_reason` enum for `Ci::Pipeline`.
-
.sources ⇒ Object
Returns the `Hash` to use for creating the `sources` enum for `Ci::Pipeline`.
Class Method Details
.ci_sources ⇒ Object
CI sources are those pipeline events that affect the CI status of the ref they run for. By definition it excludes dangling pipelines.
52 53 54 |
# File 'app/models/concerns/enums/ci/pipeline.rb', line 52 def self.ci_sources sources.except(*dangling_sources.keys) end |
.config_sources ⇒ Object
Returns the `Hash` to use for creating the `config_sources` enum for `Ci::Pipeline`.
58 59 60 61 62 63 64 65 66 67 68 69 |
# File 'app/models/concerns/enums/ci/pipeline.rb', line 58 def self.config_sources { unknown_source: nil, repository_source: 1, auto_devops_source: 2, webide_source: 3, remote_source: 4, external_project_source: 5, bridge_source: 6, parameter_source: 7 } end |
.dangling_sources ⇒ Object
Dangling sources are those events that generate pipelines for which we don't want to directly affect the ref CI status.
-
when a webide pipeline fails it does not change the ref CI status to failed
-
when a child pipeline (from parent_pipeline source) fails it affects its parent pipeline. It's up to the parent to affect the ref CI status
-
when an ondemand_dast_scan pipeline runs it is for testing purpose and should not affect the ref CI status.
46 47 48 |
# File 'app/models/concerns/enums/ci/pipeline.rb', line 46 def self.dangling_sources sources.slice(:webide, :parent_pipeline, :ondemand_dast_scan) end |
.failure_reasons ⇒ Object
Returns the `Hash` to use for creating the `failure_reason` enum for `Ci::Pipeline`.
8 9 10 11 12 13 14 |
# File 'app/models/concerns/enums/ci/pipeline.rb', line 8 def self.failure_reasons { unknown_failure: 0, config_error: 1, external_validation_failure: 2 } end |
.sources ⇒ Object
Returns the `Hash` to use for creating the `sources` enum for `Ci::Pipeline`.
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'app/models/concerns/enums/ci/pipeline.rb', line 18 def self.sources { unknown: nil, push: 1, web: 2, trigger: 3, schedule: 4, api: 5, external: 6, # TODO: Rename `pipeline` to `cross_project_pipeline` in 13.0 # https://gitlab.com/gitlab-org/gitlab/issues/195991 pipeline: 7, chat: 8, webide: 9, merge_request_event: 10, external_pull_request_event: 11, parent_pipeline: 12, ondemand_dast_scan: 13 } end |