Skip to content

Commit b1738ff

Browse files
docs(csharp): replace ASCII diagrams with mermaid graphs
Co-authored-by: Isaac
1 parent fe9df69 commit b1738ff

File tree

1 file changed

+36
-16
lines changed

1 file changed

+36
-16
lines changed

csharp/RELEASE_PROCESS.md

Lines changed: 36 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,31 @@ Examples: `release/csharp/v1.0.0`, `release/csharp/v1.1.0`
1414

1515
## Lifecycle
1616

17-
### Phase 1: Pre-Cutoff (Active Development)
18-
19-
```
20-
main: A → B → C → D → E → F
21-
\ \ \
22-
release/csharp/v1.1.0: merge merge merge
17+
### Full Release Lifecycle
18+
19+
```mermaid
20+
gitGraph
21+
commit id: "A"
22+
commit id: "B"
23+
branch release/csharp/v1.1.0
24+
checkout main
25+
commit id: "C"
26+
checkout release/csharp/v1.1.0
27+
merge main id: "merge C"
28+
checkout main
29+
commit id: "D"
30+
checkout release/csharp/v1.1.0
31+
merge main id: "merge D (final)" tag: "csharp/v1.1.0"
32+
checkout main
33+
commit id: "E"
34+
commit id: "F"
35+
checkout release/csharp/v1.1.0
36+
commit id: "cherry-pick fix A" tag: "csharp/v1.1.1"
37+
commit id: "cherry-pick fix B" tag: "csharp/v1.1.2"
2338
```
2439

40+
### Phase 1: Pre-Cutoff (Active Development)
41+
2542
- All new commits go to `main` as usual.
2643
- The release branch is created early from `main`.
2744
- Periodically merge `main` into the release branch to keep it current.
@@ -31,23 +48,26 @@ release/csharp/v1.1.0: merge merge merge
3148

3249
When the release is ready to freeze:
3350

34-
1. Final merge of `main` into the release branch.
35-
2. Tag the cutoff point (e.g., `csharp/v1.1.0`).
36-
3. Enable branch protection (require PR + approval, no direct push).
37-
4. Create the next release branch (e.g., `release/csharp/v1.2.0`).
51+
```mermaid
52+
flowchart TD
53+
A[Final merge of main into release branch] --> B[Tag the cutoff point e.g. csharp/v1.1.0]
54+
B --> C[Enable branch protection on release branch]
55+
C --> D[Create next release branch e.g. release/csharp/v1.2.0]
56+
```
3857

3958
### Phase 3: Post-Cutoff (Maintenance)
4059

41-
```
42-
release/csharp/v1.1.0: ... cutoff -> cherry-pick fix A -> cherry-pick fix B
43-
| |
44-
tag v1.1.0 tag v1.1.1
45-
```
46-
4760
- Only cherry-picks allowed, with PR review.
4861
- Fixes go to `main` first, then cherry-picked to the release branch.
4962
- Each cherry-pick batch gets a new patch tag (e.g., `csharp/v1.1.1`, `csharp/v1.1.2`).
5063

64+
```mermaid
65+
flowchart LR
66+
A[Bug found] --> B[Fix on main via PR]
67+
B --> C[Cherry-pick to release branch via PR]
68+
C --> D[Tag new patch version]
69+
```
70+
5171
## Scope
5272

5373
This applies **only to the C# driver**. Other drivers in the monorepo are unaffected:

0 commit comments

Comments
 (0)