Use the Developer flow for Convert to GitLab CI/CD
What does this MR do and why?
Removes the duo_convert_ci_use_developer_flow feature flag, which has been enabled for 100% of actors on GitLab.com since 2026-10-01. The Convert to GitLab CI/CD button on a Jenkinsfile in the EE blob header now always starts the developer/v1 foundational flow with the built conversion goal (read the Jenkinsfile and its dependencies, generate .gitlab-ci.yml, validate with glab ci lint, open an MR titled "Convert Jenkins CI to GitLab CI"). The legacy convert_to_gl_ci/v1 branch in blob_header.vue, the push_frontend_feature_flag in Projects::BlobController, the now-unused glFeatureFlagMixin and the flag YAML are gone, and the Jest spec covers the single remaining path.
The convert_to_gl_ci/v1 flow definition itself stays in Ai::Catalog::FoundationalFlow: in-flight workflows and AI Catalog item-consumer rows still reference it.
On GitLab.com this changes nothing. Self-managed and Dedicated instances, where the flag was default-off, move from convert_to_gl_ci/v1 to developer/v1 on upgrade, which is the release; hence Changelog: changed on the commit.
Follow-ups, not in this MR:
- Mark
convert_to_gl_ci/v1as deprecated onceFEATURE_MATURITIESaccepts such a value (today it isexperimental,beta,gaonly, so this is anAi::Catalogchange rather than a one-liner). - The Tableau "Convert to Gitlab CI/CD" slice filters on
workflow_definition = convert_to_gl_ci/v1and has been blind since the 100% rollout; a dedicated click event is tracked under the rollout issue's telemetry preflight.
Related to #599754 (closed)
References
- Rollout issue: #599754 (closed)
- Feature: #597606 (closed)
- Flag introduced in: !235418 (merged)
Screenshots or screen recordings
No visual change. The button renders the same; only the workflow_definition and goal it sends when clicked change (and only on instances where the flag was off).
| Before | After |
|---|---|
| n/a | n/a |
How to set up and validate locally
Specs:
yarn jest ee/spec/frontend/blob/components/blob_header_spec.js
VUE_VERSION=3 yarn jest ee/spec/frontend/blob/components/blob_header_spec.js
bin/rspec spec/controllers/projects/blob_controller_spec.rbManual:
- In an Ultimate project with the Duo Agent Platform enabled, open a
Jenkinsfilein the repository file view. - Click Convert to GitLab CI/CD.
- Under Automate > Sessions (or AI > Sessions), confirm the new session runs the
developer/v1flow with the conversion goal, regardless of anyduo_convert_ci_use_developer_flowstate (Feature.enabled?(:duo_convert_ci_use_developer_flow)no longer exists).
MR acceptance checklist
Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.