Stop using GITHUB_TOKEN/GITEA_TOKEN fallbacks in prepare/do-release/publish mutation paths. Require explicit PAT wiring via secrets.RELEASE_PAT for commit/push/tag and release update operations so downstream workflows trigger reliably.
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.