changelog generator & diff tool
stormlightlabs.github.io/git-storm/
changelog
changeset
markdown
golang
git
1---
2title: Integration Testing Scenarios
3updated: 2025-11-08
4version: 2
5---
6
7## Feature Branch
8
9```bash
10# 1. Create feature branch
11git checkout -b feature/new-auth
12
13# 2. Make commits
14git commit -m "feat(auth): add OAuth support"
15git commit -m "test(auth): add OAuth tests"
16
17# 3. Generate entries interactively
18storm generate main HEAD --interactive
19
20# 4. Validate all documented
21storm check main HEAD
22
23# 5. Review entries
24storm unreleased list
25
26# Expected: 2 entries created, check passes
27```
28
29## Release Preparation
30
31```bash
32# 1. Generate from last release
33storm generate --since v1.0.0
34
35# 2. Review and clean up entries
36storm unreleased review
37# Navigate with j/k
38# Press 'x' to mark duplicates/mistakes for deletion
39# Press 'e' to fix typos or categorization
40# Press Enter to apply changes
41
42# 3. Add manual entry for non-code change
43storm unreleased add --type changed --summary "Updated documentation"
44
45# 4. Dry-run release
46storm release --version 1.1.0 --dry-run
47
48# 5. Execute release with tag
49storm release --version 1.1.0 --tag --clear-changes
50
51# 6. Verify
52git tag -n9 v1.1.0
53cat CHANGELOG.md
54
55# Expected: Clean CHANGELOG, annotated tag, empty .changes/
56```
57
58## Entry Cleanup Workflow
59
60```bash
61# 1. Create some test entries with issues
62storm unreleased add --type added --summary "Test entry 1"
63storm unreleased add --type fixed --summary "Wrong category entry"
64storm unreleased add --type added --summary "Duplicate test entry"
65storm unreleased add --type added --summary "Duplicate test entry"
66
67# 2. Review and fix
68storm unreleased review
69# - Mark duplicate for deletion with 'x'
70# - Mark wrong category entry for edit with 'e'
71# - Press Enter to confirm
72
73# 3. In editor TUI for marked entry:
74# - Press Ctrl+T to cycle type from 'fixed' to 'changed'
75# - Tab to scope field, enter "docs"
76# - Tab to summary field, update text
77# - Press Enter to save
78
79# 4. Verify changes
80storm unreleased list
81
82# Expected: Only 2 entries remain, edited entry has correct type and scope
83```
84
85## CI Pipeline Validation
86
87```bash
88# 1. Simulate PR with new commits
89git checkout -b pr/fix-bug
90git commit -m "fix(api): resolve rate limit bug"
91
92# 2. CI check (should fail)
93storm check main HEAD
94# Exit code: 1
95
96# 3. Create entry
97storm unreleased partial HEAD
98
99# 4. CI check (should pass)
100storm check main HEAD
101# Exit code: 0
102
103# Expected: PR can be merged with confidence
104```
105
106## Rebase Handling
107
108```bash
109# 1. Create entries for commits
110storm generate HEAD~3 HEAD
111
112# 2. Rebase interactively (squash/reword)
113git rebase -i HEAD~3
114
115# 3. Regenerate (should detect rebased commits)
116storm generate HEAD~2 HEAD
117
118# Expected: Metadata updated, no duplicates
119```