[FF] dap_full_clone -- Roll out full-clone workspace option for Duo Developer
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_BRANCHorCI_DEFAULT_BRANCHis not set - Note: MR-triggered flows do not yet pass the MR source branch (tracked in #603034 (closed)); 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
masterand 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 falseEdited by 🤖 GitLab Bot 🤖