Documentation
¶
Index ¶
- func ChangelogTask() Task
- func GenerateAndShowChangelog() (changelogFilePath, versionFilePath string)
- func GenerateAndShowFromVersion(version string) string
- func GetChangelog(version string) (changelogFilePath, computedVersion string)
- func TagAndCreateGHRelease() Taskdeprecated
- func TagReleaseTask() Task
- func Tasks() Task
- func WorkflowReleaseTask() Task
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ChangelogTask ¶
func ChangelogTask() Task
ChangelogTask creates a task that generates a changelog using chronicle. Requires GitHub authentication via `gh auth login`.
func GenerateAndShowChangelog ¶ added in v0.0.2
func GenerateAndShowChangelog() (changelogFilePath, versionFilePath string)
GenerateAndShowChangelog generates a changelog using chronicle, writes it to CHANGELOG.md, and displays it (using glow if available for better formatting). Returns paths to the generated changelog and version files.
func GenerateAndShowFromVersion ¶ added in v0.1.0
GenerateAndShowFromVersion generates a changelog for a specific version tag using chronicle's --until-tag flag. This is useful when the tag already exists locally and we want to generate the changelog up to and including that tag. Returns the changelog file path.
func GetChangelog ¶ added in v0.8.0
GetChangelog resolves the release changelog for the current HEAD commit, preferring the pre-built artifact published to the OCI changelog cache over regenerating it in the pipeline. It returns the changelog file path and the computed release version.
On any cache failure (a missing artifact, an auth problem, or transient registry errors that outlast the retries) it falls back to generating the changelog locally with chronicle, exactly as the pipeline did before the cache existed. Pass the release version when it is already known (CI publish jobs) so the fallback can scope to that tag; pass "" (the release trigger) to let chronicle compute the next version.
func TagAndCreateGHRelease
deprecated
added in
v0.1.0
func TagAndCreateGHRelease() Task
TagAndCreateGHRelease is a convenience alias for TagAndCreateGHReleaseTask to simplify the Makefile.
Deprecated: please use TagReleaseTask
func TagReleaseTask ¶ added in v0.2.0
func TagReleaseTask() Task
TagReleaseTask creates a git tag and GitHub release for a specific version. This task is designed to run in CI with GitHub's release environment, which provides either a TAG_TOKEN (HTTPS, preferred) or a DEPLOY_KEY (SSH) secret for tag control. This is necessary because repository rulesets typically prevent direct tag pushes from the default GITHUB_TOKEN, so a credential with explicit write access is required.
The workflow is:
- Validate the version format (must be semver like v1.2.3)
- Create the tag locally (no credentials needed)
- Generate the changelog using chronicle with --until-tag
- Push the tag to remote using the configured credential
- Create the GitHub release with the changelog
func Tasks ¶
func Tasks() Task
Tasks creates the complete release task group including changelog generation, CI releases (publish tag + gh release... NOT goreleaser), and workflow triggers.
func WorkflowReleaseTask ¶ added in v0.0.2
func WorkflowReleaseTask() Task
WorkflowReleaseTask creates a task that triggers a GitHub Actions release workflow. It generates a changelog, prompts for confirmation, then triggers the release.yaml workflow with the version from the VERSION file.
Types ¶
This section is empty.