feat: add Release workflow for automated releases

This commit is contained in:
2026-01-08 19:03:49 +01:00
parent 1bfb2e0229
commit 615b16e8f3
2 changed files with 449 additions and 1 deletions
+39 -1
View File
@@ -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