Skip to content

Commit 1725729

Browse files
authored
Add release instructions to CONTRIBUTING.md (#52)
1 parent df44c7e commit 1725729

1 file changed

Lines changed: 59 additions & 0 deletions

File tree

CONTRIBUTING.md

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -364,6 +364,65 @@ Available environment variables for `run.sh`:
364364
5. **Update documentation** if you change behavior or add features
365365
6. **Keep changes minimal** - smaller PRs are easier to review
366366

367+
## Creating a Release
368+
369+
Releases are created using semantic versioning tags (e.g., `v1.2.3`). The `make release` command simplifies the process:
370+
371+
```bash
372+
# Create a patch release (v1.2.3 -> v1.2.4)
373+
make release patch
374+
375+
# Create a minor release (v1.2.3 -> v1.3.0)
376+
make release minor
377+
378+
# Create a major release (v1.2.3 -> v2.0.0)
379+
make release major
380+
```
381+
382+
### Release Process
383+
384+
1. **Run the release command** with the appropriate bump type:
385+
```bash
386+
make release patch
387+
```
388+
389+
2. **Review the version** that will be created:
390+
```
391+
Latest tag: v1.2.3
392+
New version will be: v1.2.4
393+
Do you want to create and push this tag? [Y/n]
394+
```
395+
396+
3. **Confirm** by pressing `Y` (or `Enter` for yes)
397+
398+
4. **Monitor the workflow** at the URL shown:
399+
```
400+
✓ Tag v1.2.4 created and pushed
401+
✓ Release workflow will be triggered automatically
402+
403+
Monitor the release workflow at:
404+
https://github.com/githubnext/gh-aw-mcpg/actions/workflows/release.lock.yml
405+
```
406+
407+
### What Happens Automatically
408+
409+
When you push a release tag, the automated release workflow:
410+
- Runs the full test suite
411+
- Builds multi-platform binaries (Linux, macOS, Windows for amd64 and arm64)
412+
- Creates a GitHub release with all binaries and checksums
413+
- Builds and pushes a multi-arch Docker image to `ghcr.io/githubnext/gh-aw-mcpg` with tags:
414+
- `latest` - Always points to the newest release
415+
- `v1.2.4` - Specific version tag
416+
- `<commit-sha>` - Specific commit reference
417+
- Generates and attaches SBOM files (SPDX and CycloneDX formats)
418+
- Creates release highlights from merged PRs
419+
420+
### Version Guidelines
421+
422+
- **Patch** (`v1.2.3``v1.2.4`): Bug fixes, documentation updates, minor improvements
423+
- **Minor** (`v1.2.3``v1.3.0`): New features, non-breaking changes
424+
- **Major** (`v1.2.3``v2.0.0`): Breaking changes, major architectural changes
425+
367426
## Architecture Notes
368427

369428
### Core Features

0 commit comments

Comments
 (0)