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 HasRef
is used only for CI models !27056 (merged) -
concern HasStatus
!34577 (merged) -
concerns HasVariable
andNewHasVariable
!27306 (merged) -
concern Maskable
!27305 (merged) -
CommitWithPipeline
could remain outside CI butCommitWithPipeline#pipelines
should not know aboutCi::Pipeline
details. -
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
+GenericCommitStatus
because we would need to migrate thetype
column inci_builds
. We could move it underCi::
and leaveCommitStatus
as inheritance only class fromCi::CommitStatus
that would allow us to read old records until the next major release. -
Entities::CommitStatus
-
API::CommitStatuses
Edited by Allison Browne