We're using a tag-based release process, following semantic versioning (semver) conventions.
- Browse to https://github.com/DataDog/guarddog/releases/new
- Create a new Git tag, e.g.
v1.2.3
![image](https://private-user-images.githubusercontent.com/136675/340960618-12e7ac21-2f8d-47b8-91cb-f3f949605f42.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkxMzQ0NTksIm5iZiI6MTczOTEzNDE1OSwicGF0aCI6Ii8xMzY2NzUvMzQwOTYwNjE4LTEyZTdhYzIxLTJmOGQtNDdiOC05MWNiLWYzZjk0OTYwNWY0Mi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjA5JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIwOVQyMDQ5MTlaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1jMTY0M2ZlNTI5MGQ1N2VjZmJiOWQ2YWM2NjhmYjg1YTBiNzNhMGYyNDUzNWExMWQ1NTk2MTQzODZjMGQ5NTlhJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.kJaUUf7sMUASRU_weDZoJ1A9vDzeXYW_a73mL0PADnQ)
- Auto generate release notes, and organize them following the template below, removing any unnecessary section:
### Breaking changes
* Change XYZ by @user (#123)
### New features
* Implement XYZ by @user (#123)
* Implement XYZ by @user (#123)
### Bug fixes and improvements
* Fix XYZ by @user (#123)
### Chores
* Bump XYZ to XYZ
- Click on "Publish release"
This will automatically:
- Create a new Git tag
- Trigger a Docker image push to the GitHub Container Registry
- Trigger a new PyPI release