49 lines
1.7 KiB
Markdown
49 lines
1.7 KiB
Markdown
---
|
|
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
|