Skip to content

Commit cf955a9

Browse files
Copilotbenaadams
andcommitted
Add release process and branch strategy documentation
Co-authored-by: benaadams <1142958+benaadams@users.noreply.github.com>
1 parent 043a5cc commit cf955a9

1 file changed

Lines changed: 37 additions & 0 deletions

File tree

CONTRIBUTING.md

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ Thank you for your interest in contributing to Magma! We welcome contributions f
1212
- [Code Style and Conventions](#code-style-and-conventions)
1313
- [Making Changes](#making-changes)
1414
- [Submitting a Pull Request](#submitting-a-pull-request)
15+
- [Release Process](#release-process)
1516
- [Reporting Issues](#reporting-issues)
1617
- [Project Structure](#project-structure)
1718
- [Additional Resources](#additional-resources)
@@ -278,6 +279,42 @@ git push origin feature/your-feature-name
278279
- Ensure CI checks pass
279280
- Be responsive to feedback
280281

282+
## Release Process
283+
284+
Magma follows [Semantic Versioning](https://semver.org/) (SemVer) for version numbering:
285+
286+
- **Major** (X.Y.Z → (X+1).0.0): Breaking changes that are not backward compatible
287+
- **Minor** (X.Y.Z → X.(Y+1).0): New features that are backward compatible
288+
- **Patch** (X.Y.Z → X.Y.(Z+1)): Bug fixes that are backward compatible
289+
290+
### Creating a Release
291+
292+
Releases are created from the `main` branch and follow this process:
293+
294+
1. **Prepare the release**:
295+
- Ensure all tests pass
296+
- Update version numbers in `version.props`
297+
- Update documentation (README.md, CHANGELOG.md if present)
298+
- Create release notes summarizing changes
299+
300+
2. **Tag the release**:
301+
- Create an annotated git tag (e.g., `v1.2.3`)
302+
- Push the tag to GitHub
303+
304+
3. **Publish artifacts**:
305+
- CI/CD pipeline builds and publishes NuGet packages
306+
- GitHub release is created with release notes attached
307+
308+
### Branch Strategy
309+
310+
- **main**: Stable release branch; all commits should be production-ready
311+
- **Feature branches**: Created from `main` for development:
312+
- `feature/description` - New features
313+
- `fix/description` - Bug fixes
314+
- `docs/description` - Documentation changes
315+
- `refactor/description` - Code refactoring
316+
- `perf/description` - Performance improvements
317+
281318
## Reporting Issues
282319

283320
### Before Opening an Issue

0 commit comments

Comments
 (0)