changelog generator & diff tool stormlightlabs.github.io/git-storm/
changelog changeset markdown golang git
README.md

title: Integration Testing Scenarios updated: 2025-11-08 version: 2#

Feature Branch#

# 1. Create feature branch
git checkout -b feature/new-auth

# 2. Make commits
git commit -m "feat(auth): add OAuth support"
git commit -m "test(auth): add OAuth tests"

# 3. Generate entries interactively
storm generate main HEAD --interactive

# 4. Validate all documented
storm check main HEAD

# 5. Review entries
storm unreleased list

# Expected: 2 entries created, check passes

Release Preparation#

# 1. Generate from last release
storm generate --since v1.0.0

# 2. Review and clean up entries
storm unreleased review
# Navigate with j/k
# Press 'x' to mark duplicates/mistakes for deletion
# Press 'e' to fix typos or categorization
# Press Enter to apply changes

# 3. Add manual entry for non-code change
storm unreleased add --type changed --summary "Updated documentation"

# 4. Dry-run release
storm release --version 1.1.0 --dry-run

# 5. Execute release with tag
storm release --version 1.1.0 --tag --clear-changes

# 6. Verify
git tag -n9 v1.1.0
cat CHANGELOG.md

# Expected: Clean CHANGELOG, annotated tag, empty .changes/

Entry Cleanup Workflow#

# 1. Create some test entries with issues
storm unreleased add --type added --summary "Test entry 1"
storm unreleased add --type fixed --summary "Wrong category entry"
storm unreleased add --type added --summary "Duplicate test entry"
storm unreleased add --type added --summary "Duplicate test entry"

# 2. Review and fix
storm unreleased review
# - Mark duplicate for deletion with 'x'
# - Mark wrong category entry for edit with 'e'
# - Press Enter to confirm

# 3. In editor TUI for marked entry:
# - Press Ctrl+T to cycle type from 'fixed' to 'changed'
# - Tab to scope field, enter "docs"
# - Tab to summary field, update text
# - Press Enter to save

# 4. Verify changes
storm unreleased list

# Expected: Only 2 entries remain, edited entry has correct type and scope

CI Pipeline Validation#

# 1. Simulate PR with new commits
git checkout -b pr/fix-bug
git commit -m "fix(api): resolve rate limit bug"

# 2. CI check (should fail)
storm check main HEAD
# Exit code: 1

# 3. Create entry
storm unreleased partial HEAD

# 4. CI check (should pass)
storm check main HEAD
# Exit code: 0

# Expected: PR can be merged with confidence

Rebase Handling#

# 1. Create entries for commits
storm generate HEAD~3 HEAD

# 2. Rebase interactively (squash/reword)
git rebase -i HEAD~3

# 3. Regenerate (should detect rebased commits)
storm generate HEAD~2 HEAD

# Expected: Metadata updated, no duplicates