Removing Ci::LegacyStage
Problem to solve
The starting point of this issue: #218536 (comment 387394549)
We need to remove Ci::LegacyStage and use Ci::Stage for replacement.
Proposal
When replacing Ci::LegacyStage with Ci::Stage there are a few places to consider:
- removing
Ci::Pipeline#legacy_stages- replacing
legacy_stagesin templates
- replacing
-
latest_statuses_ordered_by_stage(considerimport_export/all_models.yml) - removing
Ci::Pipeline#legacy_stage- replacing
legacy_stagesinProjects::PipelinesController
- replacing
Additional notes from comment:
- When we remove
Ci::LegacyStagewe should evaluate whether it's possible to removeStageUpdateWorkerandCi::EnsureStageService. This would be an additional step towards deprecating stage related columns ofci_buildstable.
✅ * Before we remove<-Ci::LegacyStagewe should makeCi::Stagepresentable so we can replacepipeline.legacy_stagesin the view withpipeline.stages. Perhaps we need to make this behind a feature flag an in separate MR prior to actually removingCi::LegacyStageCi::Stageis already presentable: https://gitlab.com/gitlab-org/gitlab/-/blob/master/app/presenters/ci/stage_presenter.rb
Further details
- related issue: #28406 (closed)
- related issue: #213103 (closed)
Availability & Testing
- Unit test changes - Required unit tests to be updated according to changes
- Integration test changes - not required
- End-to-end test change - not required
-
package-and-qashould be run in MR with these changes to ensure no regressions is introduced.
Edited by Laura Montemayor