Files
vociferate/changelog.md
Micheal Wilkinson c859a3fccb
All checks were successful
Push Validation / validate (push) Successful in 54s
ci: split prepare and publish into separate release pipelines
- 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).
2026-03-20 19:55:03 +00:00

2.6 KiB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

A ### Breaking section is used in addition to Keep a Changelog's standard sections to explicitly document changes that are backwards-incompatible but would otherwise appear under ### Changed. Entries under ### Breaking trigger a major version bump in automated release recommendation logic.

[Unreleased]

Breaking

Changed

  • Release automation is now split into a prepare workflow that updates and tags main, and a tag-driven publish workflow that creates the release from the tagged revision.
  • The CLI entrypoint, internal package paths, build outputs, and automation references now use the vociferate name instead of the earlier releaseprep naming.
  • Configurable version source and parser via --version-file and --version-pattern.
  • Configurable changelog path via --changelog.
  • The release workflow and composite action now treat a provided version as an override and otherwise fall back to the recommended next version automatically.
  • Release preparation now runs directly in the prepare workflow; the repository-local helper script and just recipe were removed.
  • Release creation is now idempotent: existing releases for the same tag are updated in place instead of recreated.
  • Release asset uploads now replace existing assets with matching filenames so reruns stay synchronized.
  • Automated release artifact publishing in the tag-driven release workflow for linux/amd64, linux/arm64, and checksums.txt.
  • Release recommendation now forces a major version bump whenever a ### Breaking heading is present in ## [Unreleased], even if the section has no bullet entries yet.
  • The composite action now downloads and caches released vociferate binaries on both amd64 and arm64 platforms instead of installing Go and running the module source directly.
  • Reusable workflow_call support for the Prepare Release workflow, enabling other repositories to invoke it directly.
  • Reusable workflow_call support for the tag-driven Do Release workflow, enabling other repositories to publish from pushed tags without reimplementing release note or asset logic.
  • Composite action (action.yml) for release preparation and recommendation flows.
  • Gitea workflows for push validation, manual release preparation, and tag-driven release publishing.
  • README guidance for release artifacts and examples for reusing vociferate as a composite action or reusable workflow.