[FF] ci_refactor_normalizer -- gitlab_com_derisk
Summary
This issue is to roll out the ci_refactor_normalizer feature flag to production. This flag protects a refactor of the Normalizer class to improve readability.
Owners
- Team: Pipeline Authoring (
#g_pipeline-authoring) - DRI: @avielle
What are we expecting to happen?
The refactored code path should produce identical results to the existing implementation. This is a pure refactor with no behavioral changes - all normalization logic remains the same, just reorganized for better readability.
What can go wrong and how would we detect it?
- Risk: Logic errors in the refactored code path could cause incorrect job normalization
- Detection: Pipeline failures, incorrect parallel job expansion, or errors in matrix expressions
- Mitigation: The feature flag allows immediate rollback. Both code paths are tested identically.
Rollout Steps
1. Staging Rollout
-
Enable on staging: /chatops run feature set ci_refactor_normalizer true --staging --staging-ref
2. Production Rollout
All production commands must be run in #production and cross-posted to #g_pipeline-authoring.
-
Enable at 10%: /chatops run feature set ci_refactor_normalizer 10 --actors -
Wait 1 hour, monitor for issues -
Enable at 50%: /chatops run feature set ci_refactor_normalizer 50 --actors -
Wait 1 hour, monitor for issues -
Enable at 100%: /chatops run feature set ci_refactor_normalizer 100 --actors -
Wait at least 24 hours before cleanup
3. Cleanup
-
Create MR to remove feature flag and old code path -
Remove feature flag from all environments: /chatops run feature delete ci_refactor_normalizer --dev --pre --staging --staging-ref --production -
Close this issue
Rollback Steps
If issues are detected, disable immediately:
/chatops run feature set ci_refactor_normalizer false
Edited by 🤖 GitLab Bot 🤖