release

package
v0.8.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 24, 2026 License: Apache-2.0 Imports: 22 Imported by: 0

Documentation

Index

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

func GenerateAndShowFromVersion(version string) string

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

func GetChangelog(version string) (changelogFilePath, computedVersion string)

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:

  1. Validate the version format (must be semver like v1.2.3)
  2. Create the tag locally (no credentials needed)
  3. Generate the changelog using chronicle with --until-tag
  4. Push the tag to remote using the configured credential
  5. 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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL