--- id: 148f15d3-1d84-4db7-ad59-5a518f660ac4 type: workflow title: "next-release branch pattern for batching major-domo changes before deploy" tags: [major-domo, git, workflow, deployment, ci-cd, branching] importance: 0.5 confidence: 0.8 created: "2026-02-20T04:31:04.212569+00:00" updated: "2026-02-20T04:31:04.212569+00:00" --- ## Pattern: next-release Branch for Atomic Deploys ### Context Major-domo discord-app-v2. Gitea Actions CI/CD triggers a Docker build and deploy on every merge to `main`. ### Problem Non-urgent changes (deploy scripts, test cleanup, minor fixes) would each trigger a separate deploy if merged individually to `main`. This creates unnecessary intermediate deploys and noisy CI runs. ### Solution Accumulate non-urgent changes on a `next-release` branch. When ready to deploy, open a single PR from `next-release` into `main` to capture all changes atomically. ### Workflow ```bash # Start or check out existing batch branch git checkout -b next-release # or git checkout next-release # Merge individual feature/fix branches into it git merge feature/deploy-script git merge fix/remove-obsolete-tests # When ready to deploy, open a PR tea pulls create --head next-release --base main --title "chore: batch release - deploy script + test cleanup" ``` ### First Use Combined two changes on one `next-release` branch: - `.scripts/deploy.sh` — new deploy helper script - Removal of obsolete `MoveAction` test stub (closes #16) ### When to Use - Changes that are complete but non-urgent - Multiple small changes that logically belong together - Avoiding a deploy for every minor cleanup commit ### When NOT to Use - Hotfixes (go directly to a `fix/` branch → PR to main) - Breaking changes that need their own deploy validation