release

package
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: Mar 13, 2026 License: AGPL-3.0, AGPL-3.0-only Imports: 7 Imported by: 0

Documentation

Overview

Package release handles release notes generation, release creation, and cross-platform sync.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GenerateNotes

func GenerateNotes(input NotesInput) (string, error)

GenerateNotes produces markdown release notes from git log between two refs.

Types

type Commit

type Commit struct {
	Hash     string
	Type     string // feat, fix, chore, etc.
	Scope    string // optional scope in parens
	Summary  string
	Body     string
	Author   string
	Breaking bool
}

Commit is a parsed conventional commit.

type CommitCategory

type CommitCategory struct {
	Title   string // display title (e.g., "Features", "Bug Fixes")
	Prefix  string // conventional commit prefix (e.g., "feat", "fix")
	Commits []Commit
}

CommitCategory represents a group of commits by type.

type ImageRow

type ImageRow struct {
	RegistryLabel string        // human label (e.g., "Docker Hub")
	RegistryURL   string        // provider-derived repo page URL
	ImageRef      string        // full image ref (e.g., "docker.io/prplanit/stagefreight")
	Tags          []ResolvedTag // resolved tags with URLs
	DigestRef     string        // host/path@sha256:... (for pull command)
	SBOM          string        // pull ref for SBOM artifact
	Provenance    string        // pull ref for provenance artifact
	Signature     string        // pull ref for signature artifact
}

ImageRow is a single registry/image row for the Image Availability table.

type NotesInput

type NotesInput struct {
	RepoDir      string     // git repository directory
	FromRef      string     // start ref (empty = auto-detect previous tag)
	ToRef        string     // end ref (default: HEAD)
	SecurityTile string     // one-line status (e.g., "🛡️ ✅ **Passed** — no vulnerabilities")
	SecurityBody string     // full section: status line + optional <details> CVE block
	TagMessage   string     // annotated tag message (optional, auto-detected if empty)
	ProjectName  string     // project name (auto-detected if empty)
	Version      string     // version string (auto-detected if empty)
	SHA          string     // short commit hash (auto-detected if empty)
	IsPrerelease bool       // true if version has prerelease suffix
	Images       []ImageRow // resolved registry image rows for availability table
}

NotesInput holds all data needed to render release notes.

type ResolvedTag

type ResolvedTag struct {
	Name string // e.g., "1.0.0"
	URL  string // provider-derived tag page URL
}

ResolvedTag is a single tag with its deterministic UI URL.

Jump to

Keyboard shortcuts

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