Move all CI files under `Ci::` namespace
Spelunking the code base I've found a lot of classes that are related to CI domain which are not nested inside Ci:: namespace. I think we should start migrating all these classes under the namespace and start enforcing it in reviews.
Having all the CI related classes under the namespace
- makes it clear who is the responsible team
- when touching a non namespaced class will be clear to us that we are reaching outside the domain, hence take the necessary considerations
- lowers the barrier for a new team member or community contributor to understand the boundaries
Here are the classes I found so far (probably missing some). We could move them slowly bit by bit in several cohesive MRs. Moving workers is a lot more delicate, and we have many of them.
-
concern HasRefis used only for CI models !27056 (merged) -
concern HasStatus!34577 (merged) -
concerns HasVariableandNewHasVariable!27306 (merged) -
concern Maskable!27305 (merged) -
CommitWithPipelinecould remain outside CI butCommitWithPipeline#pipelinesshould not know aboutCi::Pipelinedetails. -
JobsFinder!27190 (merged) -
PipelineSchedulesFinder!27190 (merged) -
PipelinesFinder!27190 (merged) -
RunnerJobsFinder!27190 (merged) -
ArtifactsFinder!28233 (merged) -
CommitStatusEnums -
EE::ProcessGithubPullRequestEventService!28517 (merged) -
ExternalPullRequest -
ExternalPullRequests::CreatePipelineService!28517 (merged) -
BuildsHelper!35079 (merged) -
CiStatusHelper!35073 (merged) -
CiVariablesHelper!35199 (merged) -
JobsHelper!35389 (merged) -
PipelineSchedulesHelper!36130 (merged) -
RunnersHelper!36144 (merged) -
TriggersHelper -
ArchiveTraceWorker -
BuildCoverageWorker -
BuildFinishedWorker -
BuildHooksWorker -
BuildQueueWorker -
BuildsSuccessWorker -
BuildTraceSectionsWorker -
CreatePipelineWorker -
ExpireBuildArtifactsWorker -
ExpireBuildInstanceArtifactsWorker -
ExpireJobCacheWorker -
ExpirePipelineCacheWorker -
ExpirePipelineHooksWorker -
PipelineMetricsWorker -
PipelineNotificationWorker -
PipelineProcessWorker -
PipelineScheduleWorker -
PipelineSuccessWorker -
PipelineUpdateWorker -
RunPipelineScheduleWorker -
StageUpdateWorker -
StuckCiJobsWorker -
UpdateExternalPullRequestsWorker -
EE::JobsHelper!35389 (merged) -
EE::RunnersHelper!36144 (merged) -
Entities::JobRequest::*from lib/api/entities/job_request -> lib/api/entities/ci/job_request -
Entities::JobArtifactFile,Entities::JobArtifact!37981 (diffs) -
Entities::JobBasicWithProject,Entities::JobBasic,Entities::Job!37981 (diffs) -
Entities::PipelineBasic,Entities::PipelineScheduleDetails,Entities::PipelineSchedule,Entities::Pipeline!37981 (diffs) -
Entities::Runner,Entities::RunnerDetails,Entities::RunnerRegistrationDetails -
Entities::Variable!37981 (diffs) -
API::Helpers::Runner -
API::JobArtifacts -
API::Jobs -
API::PipelineSchedules!36381 (merged) -
API::Pipelines!36381 (merged) -
API::Runner!35191 (merged) -
API::Runners!35191 (merged) -
API::Triggers -
API::Variables -
Gitlab::Artifacts::MigrationHelper -
Gitlab::Badge::* -
EE::API::Helpers::Runner -
EE::API::JobArtifacts -
VariableSerializer!36636 (merged) -
VariableEntity!36636 (merged) -
GroupVariableSerializer!36636 (merged) -
GroupVariableEntity!36636 (merged)
Move related specs by consequence.
Can't be easily moved - needs more thoughts
-
CommitStatus+GenericCommitStatusbecause we would need to migrate thetypecolumn inci_builds. We could move it underCi::and leaveCommitStatusas inheritance only class fromCi::CommitStatusthat would allow us to read old records until the next major release. -
Entities::CommitStatus -
API::CommitStatuses
Edited by Allison Browne (PTO 12/19-1/2)