Skip to content

Execution Modes

Auto Merge supports six execution modes, allowing gradual adoption from read-only observation to full automation.

Set the mode via CLI flag: --mode=<Mode>

ModeLabelsRebaseCancel PipelinesCancel Auto-MergeMergeUse Case
DryRunTest without changes
OnlyLabelsyesVisualize MR status only
RebaseOnlyyesyesKeep MRs up-to-date
NoMergeyesyesyesyesPrepare MRs, let humans merge
NoPipelineCancellationyesyesyesFull automation, all pipelines run
RunyesyesyesyesyesFull automation with pipeline optimization

“Cancel Auto-Merge” disables GitLab’s built-in “merge when pipeline succeeds” flag on MRs, preventing double-merges. Auto Merge controls the merge queue — GitLab’s native auto-merge must not interfere.

Default: DryRun

  1. Start with DryRun — observe what Auto Merge would do without any changes
  2. Switch to OnlyLabels — adds status labels to MRs, giving your team visibility
  3. Enable RebaseOnly — automatically rebases MRs, reducing manual work
  4. Go to Run — full automation with merging, rebasing, and pipeline management
Terminal window
# Start in observation mode
docker run ... neckarit/gitlab-auto-merge:latest --mode=DryRun
# Later, enable full automation
docker run ... neckarit/gitlab-auto-merge:latest --mode=Run