Module: Ci::Partitionable::Testing

Defined in:
app/models/concerns/ci/partitionable.rb

Constant Summary collapse

InclusionError =
Class.new(StandardError)
PARTITIONABLE_MODELS =
%w[
  CommitStatus
  Ci::BuildMetadata
  Ci::BuildNeed
  Ci::BuildReportResult
  Ci::BuildRunnerSession
  Ci::BuildTraceChunk
  Ci::BuildTraceMetadata
  Ci::BuildPendingState
  Ci::JobAnnotation
  Ci::JobArtifact
  Ci::JobVariable
  Ci::Pipeline
  Ci::PendingBuild
  Ci::RunningBuild
  Ci::RunnerManagerBuild
  Ci::PipelineVariable
  Ci::Sources::Pipeline
  Ci::Stage
  Ci::UnitTestFailure
].freeze

Class Method Summary collapse

Class Method Details

.check_inclusion(klass) ⇒ Object



47
48
49
50
51
52
53
54
55
# File 'app/models/concerns/ci/partitionable.rb', line 47

def self.check_inclusion(klass)
  return if PARTITIONABLE_MODELS.include?(klass.name)

  raise Partitionable::Testing::InclusionError,
    "#{klass} must be included in PARTITIONABLE_MODELS"

rescue InclusionError => e
  Gitlab::ErrorTracking.track_and_raise_for_dev_exception(e)
end