Skip to content

[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 🤖