ci(release): make release notes idempotent and publish binaries
This commit is contained in:
50
README.md
50
README.md
@@ -51,3 +51,53 @@ Defaults:
|
||||
```bash
|
||||
just go-test
|
||||
```
|
||||
|
||||
## Release Artifacts
|
||||
|
||||
The `Prepare Release` workflow creates a release and uploads prebuilt `vociferate` binaries for:
|
||||
|
||||
- `darwin/amd64`
|
||||
- `darwin/arm64`
|
||||
- `linux/amd64`
|
||||
- `linux/arm64`
|
||||
- `windows/amd64`
|
||||
- `windows/arm64`
|
||||
|
||||
It also uploads `checksums.txt` for integrity verification.
|
||||
If a release already exists for the same tag, the workflow replaces it so release notes and attached binaries stay in sync.
|
||||
|
||||
## Reuse In Other Repositories
|
||||
|
||||
You can reuse vociferate in two ways.
|
||||
|
||||
Use the composite action directly:
|
||||
|
||||
```yaml
|
||||
- name: Prepare release files
|
||||
uses: git.hrafn.xyz/aether/vociferate@main
|
||||
with:
|
||||
version: v1.2.3
|
||||
version-file: internal/myapp/version/version.go
|
||||
version-pattern: 'const Version = "([^"]+)"'
|
||||
changelog: changelog.md
|
||||
```
|
||||
|
||||
Call the reusable release workflow:
|
||||
|
||||
```yaml
|
||||
name: Release
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
version:
|
||||
description: Semantic version to release.
|
||||
required: true
|
||||
|
||||
jobs:
|
||||
release:
|
||||
uses: aether/vociferate/.gitea/workflows/prepare-release.yml@main
|
||||
with:
|
||||
version: ${{ inputs.version }}
|
||||
secrets: inherit
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user