- Link Unreleased heading to repository main branch.
- Link release headings to release tag pages.
- Derive repository URL from CI metadata or origin git remote.
- Keep plain headings when repository URL cannot be resolved.
- Update tests and README usage docs for linked heading behavior.
- Update prepare-release to call do-release via workflow_call after tag creation.
- Update README examples and release-flow docs to reflect direct invocation
instead of relying only on tag-push triggers.
Prevent silent successful runs that skip tag creation. If the resolved
release tag already exists locally or remotely, fail with guidance so users
know why tag-triggered do-release will not run.
- Disable setup-go module cache path in prepare action's source-run mode
to avoid invalid '..' cache-dependency-path patterns.
- Make commit/tag step idempotent when release tag already exists locally
or remotely.
- Skip empty commit attempts when no release files changed while still
allowing first-time tag creation.
- Remove token and cache-token from public action inputs
- Always use github.token internally for downloads/push
- Read fixed cache token from VOCIFERATE_CACHE_TOKEN env
- Add explicit 'Resolve cache token' step before prepare/tag in
prepare-release workflow and pass it via env
Add a new optional cache-token input to both published actions.
- Default cache key token is now action_repository + release_tag.
- Cache key uses this token plus runner architecture.
- prepare-release workflow passes github.sha as a fixed token.
This prevents cross-repository cache collisions when consumers pull
vociferate binaries produced by this repository.
When github.action_ref is not a semver tag (e.g. main), skip binary
download and run vociferate directly via 'go run ./cmd/vociferate' from
the action's own source directory (GITHUB_ACTION_PATH). A conditional
Setup Go step installs the toolchain only on that path.
When pinned to a semver tag (v*), the existing prebuilt binary download
and cache behaviour is unchanged.
This makes the prepare-release workflow self-contained on main — it no
longer requires a published release to bootstrap itself.
Add two focused subdirectory composite actions:
- prepare/action.yml: downloads the vociferate binary, runs it to update
changelog and release-version, then commits, tags, and pushes — replacing
the boilerplate git steps consumers previously had to write inline.
- publish/action.yml: extracts the matching changelog section and creates or
updates the Gitea/GitHub release. Outputs release-id, tag, and version so
consumers can upload their own assets after it runs.
Simplify the vociferate workflows to use ./prepare and ./publish directly,
validating both actions in the self-release pipeline.
Update README to show the clean two-action usage pattern.
- action.yml: clarify that version-file triggers version-file-based
resolution and that omitting it causes the version to be derived from
the changelog; note version-pattern is only required when version-file
is set.
- README: replace stale reference to the plain-text release-version file
as the default with an accurate description of changelog-based
versioning as the default, directing users to set version-file and
version-pattern only for repos with source-embedded versioning.
- RecommendedTag now reads the current version from the most recent
released section heading in the changelog (## [x.y.z] - ...) when no
--version-file flag is given, removing the dependency on a separate
version file for recommendation.
- When the changelog contains no prior releases, the base version
defaults to 0.0.0, so the first recommended tag is v1.0.0 (or higher
depending on unreleased content).
- Prepare creates the release-version file if it does not already exist,
so new repositories do not need to pre-seed it.
- Add tests covering changelog-based version resolution, first-release
default, and automatic file creation.
- Update README and changelog unreleased section to document the new
behaviour.
- Remove publish steps (release creation, binary build/upload) from the
Prepare Release workflow; it now stops after committing and pushing the
tag.
- Add Do Release workflow triggered on v*.*.* tag pushes; reads release
notes from the tagged changelog section, creates or updates the release,
builds linux/amd64 and linux/arm64 binaries, uploads assets, then
smoke-tests both binaries in a follow-on validate job.
- Remove the standalone Action Validation workflow; binary validation now
runs as a second job in Do Release after the release job succeeds, using
the exact tag and version just published.
- Update README to document the two-workflow release model and add split
prepare/publish usage examples for both the composite action and the
reusable workflows.
- Update changelog unreleased section to reflect the new pipeline split
and corrected artifact scope (linux/amd64 and linux/arm64 only).