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 (merged)

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

  • 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.

  • Enable for gitlab: /chatops run feature set ci_pipeline_ref_resolution true --project=gitlab-org/gitlab
  • Wait 1 hour, monitor for issues
  • Enable at 10%: /chatops run feature set ci_pipeline_ref_resolution 10 --actors
  • Wait 1 hour, monitor for issues
  • Enable at 50%: /chatops run feature set ci_pipeline_ref_resolution 50 --actors
  • Wait 1 hour, monitor for issues
  • 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
Edited Feb 26, 2026 by Avielle Wolfe
Assignee Loading
Time tracking Loading