@maggioli-rd/semantic-release-base
Version:
Maggioli Semantic Release Shareable Configuration: base
56 lines (40 loc) • 1.86 kB
Markdown
# semantic-release-base
Maggioli Semantic Release Shareable Configuration: Base
* [https://semantic-release.gitbook.io/semantic-release/](https://semantic-release.gitbook.io/semantic-release/)
* [https://semantic-release.gitbook.io/semantic-release/usage/shareable-configurations](https://semantic-release.gitbook.io/semantic-release/usage/shareable-configurations)
* [https://semantic-release.gitbook.io/semantic-release/usage/configuration#extends](https://semantic-release.gitbook.io/semantic-release/usage/configuration#extends)
## Beta/Prerelease Support
All configurations support beta releases via the `beta` branch.
### Supported Branches
| Branch | Version Format | Example |
|--------|---------------|---------|
| `main` | Stable releases | `1.21.0` |
| `beta` | Prerelease versions | `1.21.0-beta.1` |
### How It Works
1. Create a `beta` branch from `main`
2. Push commits with conventional commit messages
3. Semantic-release creates versions like `1.21.0-beta.1`, `1.21.0-beta.2`, etc.
4. Each push to `beta` increments the prerelease number
5. When ready, merge `beta` to `main` for stable release
### Docker Image Tags
Beta releases produce two tags:
- `{version}` - Specific version (e.g., `1.21.0-beta.1`)
- `latest-beta` - Floating tag pointing to newest beta
### Renovatebot Integration
Configure Renovatebot to track beta releases for dev environments:
```json
{
"packageRules": [
{
"description": "Track beta via latest-beta tag",
"matchFileNames": ["environments/dev.yaml"],
"matchDatasources": ["docker"],
"followTag": "latest-beta",
"automerge": true
}
]
}
```
This ensures dev only updates when `latest-beta` changes, ignoring stable releases during beta development.
### Returning to Stable
After merging beta to main, manually update dev environment to the new stable version.