Skip to content

docs: add detailed changelog process documentation #35

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Nov 20, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [v2.1.1] - 2024-11-20

### Documentation
- update project documentation

[v2.1.1]: https://github.com/PeterVinter/Manage_linux_docker_containers/releases/tag/v2.1.1


## [v2.1.0] - 2024-11-19

### Added
Expand Down
95 changes: 72 additions & 23 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -284,29 +284,78 @@ Our project follows a structured branching strategy to maintain code quality and
- Update changelog automatically
- Create release tag

#### Changelog Automation

Our changelog is automatically managed through PRs:

1. **Version Bumping**
- Major (2.0.0 → 3.0.0): PR title contains `!` or `BREAKING CHANGE`
- Minor (2.0.0 → 2.1.0): PR title starts with `feat:`
- Patch (2.0.0 → 2.0.1): All other changes

2. **Entry Categories**
- Added: New features
- Changed: Changes in existing functionality
- Deprecated: Soon-to-be removed features
- Removed: Removed features
- Fixed: Bug fixes
- Security: Vulnerability fixes

3. **Process Flow**
- Merge PR → Workflow detects changes
- Creates changelog entry
- Updates version number
- Creates new PR with changes
- Auto-merges changelog update
#### Changelog Process

The changelog is automatically updated through our GitHub Actions workflow. Here's the complete process:

1. **Starting Development**
```bash
# Always start from develop
git checkout develop
git pull origin develop

# Create your feature branch
git checkout -b feature/your-feature
```

2. **Making Changes**
```bash
# Make your changes
git add .
git commit -m "type: description"
git push origin feature/your-feature
```

3. **Pull Request Flow**
a. Feature to Develop:
- Create PR from your feature branch to develop
- Get review and approval
- Merge to develop

b. Develop to Main:
- Create PR from develop to main
- Get review and approval
- Merge to main
- **IMPORTANT**: Wait for changelog PR

c. Changelog Update:
- Automatic PR will be created
- Title will be: "docs: update changelog for vX.Y.Z"
- **MUST** merge this PR before new changes

4. **Version Updates**
The workflow automatically determines version increments:
- Major (X.0.0): Breaking changes
- Minor (x.Y.0): New features
- Patch (x.y.Z): Bug fixes and docs

5. **Important Notes**
- Never skip waiting for the changelog PR
- Always merge changelog PR before new changes
- Keep PRs focused and single-purpose
- Follow commit message conventions

Example Flow:
```bash
# Start new feature
git checkout develop
git pull origin develop
git checkout -b feature/new-feature

# Make changes and commit
git add .
git commit -m "feat: add new feature"
git push origin feature/new-feature

# Create PR to develop and wait for merge
# Create PR to main and wait for merge
# Wait for changelog PR and merge it

# Then start next feature
git checkout develop
git pull origin develop
git checkout -b feature/next-feature
```

#### Best Practices

Expand Down