Rollout of ci_pipeline_ref_resolution feature flag
## Summary This issue is to roll out the `ci_pipeline_ref_resolution` feature flag to production. This flag protects a refactored ref resolution mechanism during pipeline creation, introducing a centralized `Gitlab::Git::RefResolver` class that consolidates logic for determining ref types and improves ambiguous ref handling. Related issue: #512692 Introduced in: !223198 ## 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 for standard refs. For ambiguous refs (where a name exists as both a branch and tag), the new code path will detect and reject them earlier in the pipeline validation chain with a "Ref is ambiguous" error. Pipeline creation for branches, tags, and merge requests should continue to work correctly. ## What can go wrong and how would we detect it? - **Risk**: Logic errors in the refactored ref resolution could cause pipeline creation failures or incorrect permission checks - **Detection**: Monitor pipeline creation success rate, error rates, and Sentry for new exceptions related to ref resolution - **Mitigation**: The feature flag allows immediate rollback. Both code paths are tested. ## Rollout Steps ### 1. Staging Rollout - [x] Enable on staging: `/chatops run feature set ci_pipeline_ref_resolution true --staging --staging-ref` ### 2. Production Rollout All production commands must be run in `#production` and cross-posted to `#g_pipeline-authoring`. - [x] Enable for `gitlab`: `/chatops run feature set ci_pipeline_ref_resolution true --project=gitlab-org/gitlab` - [x] Wait 1 hour, monitor for issues - [x] Enable at 10%: `/chatops run feature set ci_pipeline_ref_resolution 10 --actors` - [x] Wait 1 hour, monitor for issues - [x] Enable at 50%: `/chatops run feature set ci_pipeline_ref_resolution 50 --actors` - [x] Wait 1 hour, monitor for issues - [x] Enable at 100%: `/chatops run feature set ci_pipeline_ref_resolution 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_pipeline_ref_resolution --dev --pre --staging --staging-ref --production` - [ ] Close this issue ## Rollback Steps If issues are detected, disable immediately: ``` /chatops run feature set ci_pipeline_ref_resolution false ```
issue