feat: add Release workflow for automated releases
This commit is contained in:
@@ -1,2 +1,40 @@
|
||||
# shared-workflows
|
||||
# Shared Workflows
|
||||
|
||||
Reusable Gitea Actions workflows for Unbound Software repositories.
|
||||
|
||||
## Available Workflows
|
||||
|
||||
### Release.yml
|
||||
|
||||
Automated release workflow using [git-cliff](https://github.com/orhun/git-cliff) for changelog generation.
|
||||
|
||||
**Usage:**
|
||||
|
||||
```yaml
|
||||
name: Release
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [main]
|
||||
|
||||
jobs:
|
||||
release:
|
||||
uses: unboundsoftware/shared-workflows/.gitea/workflows/Release.yml@main
|
||||
secrets:
|
||||
UNBOUND_RELEASE_TOKEN: ${{ secrets.GIT_API_TOKEN }}
|
||||
```
|
||||
|
||||
**Inputs:**
|
||||
|
||||
- `tag_only` (boolean, default: `false`): Set to `true` to only create tags without full releases
|
||||
|
||||
**Secrets:**
|
||||
|
||||
- `UNBOUND_RELEASE_TOKEN` (required): Token with API access to create PRs and releases. Required scopes: `repository` (read/write), `issue` (read/write)
|
||||
|
||||
**How it works:**
|
||||
|
||||
1. On each push to the default branch, generates a changelog using git-cliff
|
||||
2. Creates or updates a `next-release` branch with the updated CHANGELOG.md and .version file
|
||||
3. Opens or updates a PR titled "chore(release): prepare for vX.Y.Z"
|
||||
4. When the .version file exists (after merging the release PR), creates a GitHub release with the changelog
|
||||
|
||||
Reference in New Issue
Block a user