[FF] `dap_full_clone` -- Roll out full-clone workspace option for Duo Developer

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

Summary

This issue is to roll out the feature on production, that is currently behind the dap_full_clone feature flag.

Owners

  • Most appropriate Slack channel to reach out to: #g_agent_foundations
  • Best individual to reach out to: @thomas-schmidt

Expectations

What are we expecting to happen?

When the dap_full_clone flag is enabled for the developer flow (developer/v1), the workspace gets a full, developer-like clone (full history, attached HEAD, all refs) instead of the default shallow partial clone. The agent checks out the source branch (or default branch) directly, avoiding detached-HEAD confusion.

What can go wrong and how would we detect it?

  • Clone failures or authentication issues during the self-managed git clone step
  • Incorrect branch checkout if DUO_WORKFLOW_SOURCE_BRANCH or CI_DEFAULT_BRANCH is not set
  • Note: MR-triggered flows do not yet pass the MR source branch (tracked in #603034); until fixed, MR runs land on the default branch

Rollout Steps

Rollout on non-production environments

  • Verify the MR with the feature flag is merged to master and has been deployed to non-production environments with /chatops gitlab run auto_deploy status <merge-commit-of-your-feature>
  • Enable the feature globally on non-production environments with /chatops gitlab run feature set dap_full_clone true --dev --pre --staging --staging-ref
  • Verify that the feature works as expected.

Specific rollout on production

  • For project-actor: /chatops gitlab run feature set --project=gitlab-org/gitlab dap_full_clone true
  • Verify that the feature works for the specific actors.

Global rollout on production

  • Incrementally roll out the feature on production.
  • After the feature has been 100% enabled, wait for at least one day before releasing the feature.

Rollback Steps

  • This feature can be disabled on production by running the following Chatops command:
/chatops gitlab run feature set dap_full_clone false
Edited by Thomas Schmidt