You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/release-flow.md
+65-2Lines changed: 65 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ This document defines the maintainer release flow for DeepChat without rewriting
6
6
7
7
- Keep `dev` as the only long-lived integration branch.
8
8
- Keep `main` as a stable mirror of reviewed release commits.
9
-
- Keep releases tag-driven through [`.github/workflows/release.yml`](/Users/zerob13/Documents/deepchat/.github/workflows/release.yml).
9
+
- Keep releases tag-driven through [`.github/workflows/release.yml`](../.github/workflows/release.yml).
10
10
- Avoid creating new merge commits on `main`.
11
11
12
12
## Branch Roles
@@ -52,7 +52,7 @@ This document defines the maintainer release flow for DeepChat without rewriting
52
52
53
53
Use `--force-with-lease` only because the release branch is a disposable review branch that must stay identical to a commit already on `dev`.
54
54
55
-
5. After the PR is approved, fast-forward `main` locally.
55
+
5. After the PR is approved, fast-forward `main` locally on macOS or Linux.
56
56
57
57
```bash
58
58
pnpm run release:ff -- release/v1.0.0-beta.4 --tag v1.0.0-beta.4
@@ -65,6 +65,8 @@ This document defines the maintainer release flow for DeepChat without rewriting
65
65
-`origin/main` is an ancestor of the target commit
66
66
-`main` can be updated with `git merge --ff-only`
67
67
68
+
Windows maintainers should skip this helper and use the manual release sequence below.
69
+
68
70
6. Create and push the release tag on the same commit.
69
71
70
72
```bash
@@ -79,6 +81,67 @@ This document defines the maintainer release flow for DeepChat without rewriting
79
81
git branch -d release/v1.0.0-beta.4
80
82
```
81
83
84
+
## Manual Release Sequence
85
+
86
+
Use this sequence when the automatic helper is unavailable, especially on Windows. It updates `origin/main` directly from the reviewed release commit and does not depend on the state of your local `main`.
87
+
88
+
1. Fetch the latest release refs.
89
+
90
+
```bash
91
+
git fetch origin main dev --prune
92
+
```
93
+
94
+
2. Resolve the reviewed release commit and record it as `TARGET_SHA`.
0 commit comments