-
v1.1.0 Stable
released this
2026-03-21 20:16:35 +00:00 | 12 commits to main since this release[1.1.0] - 2026-03-21
Breaking
Added
- Added changelog gate validation to
decorate-praction for enforcing changelog updates on qualifying code changes. - Changelog gate modes:
strict(fails job on violation) andsoft(warns via PR comment). - Docs-only PR exemption with customizable glob patterns for documentation files.
- PR label-based exemptions for changelog gate (example:
skip-changelog). - Precise diff parsing: validates only added lines within the Unreleased section.
- Gate decision outputs:
gate-passed,docs-only,unreleased-additions-count,gate-failure-reasonfor reuse downstream. - Integrated remediation guidance in PR comments showing how to add changelog entries.
Changed
- Refactored
internal/vociferateto use a constructor-backed service with injected filesystem, environment, and git dependencies while preserving the existing package-level API. - Hardened
prepare-releasevalidation to enforce formatting checks, module hygiene,gosec, andgovulncheckbefore preparing a release. - Added matching local validation targets in
justfilefor formatting, module hygiene, tests, and security checks. decorate-prnow reads Unreleased changelog content through thevociferateGo CLI instead of maintaining separate shell parsing logic in the composite action.publishnow extracts tagged release notes through thevociferateGo CLI instead of duplicating changelog section parsing in shell.- Composite actions now share a centralized
run-vociferateorchestration flow, with binary-versus-source execution delegated through shared composite actions and single-use runtime/download logic folded back intorun-vociferate.binary. run-vociferatenow contains both binary and source execution flows directly in a single action implementation, removing nested local action wrappers for better runner compatibility.- Release automation now requires
secrets.RELEASE_PATfor prepare/publish/do-release operations instead of defaulting toGITHUB_TOKEN/GITEA_TOKEN.
Removed
Fixed
- Prevented
govulncheck-actionfrom defaulting tosetup-goversionstableby explicitly settinggo-version-fileand disablingcheck-latest, avoiding unauthenticated GitHub API rate-limit failures on self-hosted/act-style runners. - Made
do-releaseversion resolution resilient toworkflow_callinput passing issues by adding a separate tag detection step that fetches and discovers the latest tag from origin as a fallback wheninputs.tagis empty, enabling proper operation even when Gitea's workflow_call doesn't pass inputs through correctly. - Fixed version resolution in
do-releaseworkflow by moving version calculation before checkout, resolving from inputs/git tags, and always passing explicit version topublishaction. - Fixed tag detection in
do-releaseto prioritize the tag at current HEAD (created byprepare-release) over the globally latest tag, ensuring correct version is detected when called fromprepare-releaseworkflow. - Fixed
do-releaseworkflow_call resolution on Teacup runners by explicitly falling back toneeds.prepare.outputs.tagand normalizing%!t(string=...)wrapped values before choosing a release tag. - Fixed release-chain triggering by using a PAT for release commit/tag pushes so downstream release workflows are triggered reliably.
- Made
publishaction version resolution more robust with clearer error messages when version input is missing and workflow is not running from a tag push. - Fixed
do-releaseworkflow to always checkout the resolved release tag, eliminating conditional checkout logic that could skip the checkout when called fromprepare-releaseworkflow. - Pinned
securego/gosecandgolang/govulncheck-actionto concrete version tags (v2.22.4andv1.0.4) so self-hosted Gitea runners can resolve them via direct git clone without relying on the GitHub Actions floating-tag API. - Restored explicit gosec caching by storing a pinned
v2.22.4binary under${{ runner.temp }}/gosec-binwithactions/cache@v4, so CI keeps fast security scans while still using the Go 1.26 toolchain fromsetup-go. - Replaced
securego/goseccomposite action with a directgo install github.com/securego/gosec/v2/cmd/gosec@v2.22.4 && gosec ./...run step so gosec uses the Go 1.26 toolchain installed bysetup-gorather than the action's bundled Go 1.24 binary which ignoresGOTOOLCHAIN=auto. - Fixed nested local composite-action references to use repository-local
./run-vociferatepaths so strict runners do not misparse parent-directory (../) action references as malformed remote coordinates. - Consolidated
run-vociferatebinary and source execution flows directly into the mainrun-vociferateaction to avoid nested local-action path resolution issues on strict runners. - Hardened workflow module hygiene by retrying
go mod verifyafter a module-cache refresh (go clean -modcache+go mod download) when runners report modified cached dependency directories.
Downloads
- Added changelog gate validation to