ADR 0004 Use protected automatic squash merges - AnnabiGihed/RaidManager GitHub Wiki
Generated from
docs/adr/0004-use-protected-automatic-squash-merges.md. Edit that file in the repository: changes made in the wiki are overwritten.
- Status: Proposed; the manual queue step is replaced by ADR-0008
- Date: 2026-09-29
- Deciders: Gihed Annabi
Context
RaidManager requires independent review, passing checks, and resolved conversations before merging to main.
Manual merge timing and branch cleanup add work after those requirements have been met. Documentation publication
depends on the main push event after a merge.
Decision
We permit only squash merges and enable GitHub auto-merge. The task owner queues each ready pull request for an
automatic squash merge. Branch protection continues to require one independent approval, current build-test and
validate checks, and resolved conversations. GitHub deletes the source branch after merging. We do not merge
through a privileged GitHub Actions token or bypass branch protection.
Consequences
Positive
- Approved, validated pull requests merge without a second manual action.
mainretains one conventional commit per task, and merged source branches do not accumulate.- A user-initiated auto-merge preserves the existing post-merge publication trigger.
Negative
- Every pull request still needs an explicit auto-merge queue action and an independent reviewer.
- A later push can invalidate approval or checks and delay the merge until requirements pass again.
Alternatives considered
- Manual squash merge: rejected because it requires another action after all gates pass.
- Privileged workflow that queues every pull request: rejected because token-triggered merge events may not
start the
mainpush workflow that publishes documentation, and elevated pull-request workflows increase risk.