feat: migrate changelog path to CHANGELOG.md

This commit is contained in:
Micheal Wilkinson
2026-03-21 00:27:18 +00:00
parent 62f637614d
commit ba715d9965
7 changed files with 214 additions and 14 deletions

View File

@@ -17,7 +17,9 @@ revision.
## Use In Other Repositories
Vociferate ships three composite actions covering release preparation, release publication, and coverage badge publishing.
Release tags now exist; pin all action and reusable-workflow references to the same released tag (for example, `@v0.2.0`) instead of `@main`.
Release README now exist; pin all action and reusable-workflow references to the same released tag (for example, `@v0.2.0`) instead of `@main`.
For agentic coding partners, see [`AGENTS.md`](AGENTS.md) for a direct integration playbook, selection matrix, and copy-paste workflow patterns.
### `prepare` — update files, commit, and push tag
@@ -51,7 +53,7 @@ jobs:
secrets: inherit
```
Downloads a prebuilt vociferate binary, runs it to update `changelog.md` and
Downloads a prebuilt vociferate binary, runs it to update `CHANGELOG.md` and
`release-version`, then commits those changes to the default branch and pushes
the release tag. Does not require Go on the runner.
@@ -63,7 +65,7 @@ and `version-pattern`:
with:
version-file: internal/myapp/version/version.go
version-pattern: 'const Version = "([^"]+)"'
git-add-files: changelog.md internal/myapp/version/version.go
git-add-files: CHANGELOG.md internal/myapp/version/version.go
```
`prepare` uses `github.token` internally for authenticated fetch/push operations,
@@ -89,7 +91,7 @@ jobs:
secrets: inherit
```
Reads the matching section from `changelog.md` and creates or updates the
Reads the matching section from `CHANGELOG.md` and creates or updates the
Gitea/GitHub release with those notes. The `version` input is optional — when
omitted it is derived from the current tag ref automatically.
@@ -183,7 +185,7 @@ Defaults:
- `version-file`: `release-version`
- `version-pattern`: `^\s*([^\r\n]+)\s*$`
- `changelog`: `changelog.md`
- `changelog`: `CHANGELOG.md`
When no `--version-file` flag is provided, `vociferate` derives the current version from the most recent released section heading in the changelog (`## [x.y.z] - ...`). If no prior releases exist, it defaults to `0.0.0` and recommends `v1.0.0` as the first tag.
@@ -203,7 +205,7 @@ just go-test
Releases use two workflows:
- `Prepare Release` runs on demand, updates `release-version` and `changelog.md`, commits those changes back to `main`, and pushes the release tag.
- `Prepare Release` runs on demand, updates `release-version` and `CHANGELOG.md`, commits those changes back to `main`, and pushes the release tag.
- `Prepare Release` then calls `Do Release` directly via reusable `workflow_call` with the resolved tag.
- `Do Release` reads the matching changelog section from that tagged revision, creates or updates the release, and uploads prebuilt binaries.