ci: split prepare and publish into separate release pipelines
All checks were successful
Push Validation / validate (push) Successful in 54s
All checks were successful
Push Validation / validate (push) Successful in 54s
- 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).
This commit is contained in:
@@ -11,20 +11,21 @@ A `### Breaking` section is used in addition to Keep a Changelog's standard sect
|
||||
|
||||
### 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 release workflow; the repository-local helper script and just recipe were removed.
|
||||
- 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 release workflow for `darwin`, `linux`, and `windows` binaries plus `checksums.txt`.
|
||||
- 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 and manual release preparation.
|
||||
- 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.
|
||||
|
||||
Reference in New Issue
Block a user