[go: up one dir, main page]

Create internal git refs instead of branch for ci workloads

What does this MR do and why?

Currently ci workloads always created actual Git branches for running automated tasks, but now it can optionally use internal Git references instead, which are more lightweight and don't clutter the branch list. When use_internal_refs_for_workload_pipelines FF is enabled, the system creates internal references (like "refs/workloads/abc123") instead of regular branches (like "workloads/abc123").

The code maintains backward compatibility - when the feature flag is disabled, it continues using the old branch-based approach. All the related services that consume these references have been updated to handle both formats seamlessly.

References

Relates to #577239

We added the functionality to allow workload refs to create a CI pipeline in !213212 (merged)

Screenshots or screen recordings

Before After

How to set up and validate locally

  1. Ensure you have DAP setup
  2. Enable FF use_internal_refs_for_workload_pipelines for your project
  3. Start any remote flow https://docs.gitlab.com/user/duo_agent_platform/flows/foundational_flows/ like developer, fix_pipeline, DCR
  4. Notice the workload branches are not getting created
  5. Notice that when workload job is successfully finished, the refs created are automatically deleted.
  6. When the Feature flag is disabled, it should create workload branches as normal.

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.

Related to #577239

Edited by Surabhi Suman

Merge request reports

Loading