release

package
v0.8.6 Latest Latest
Warning

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

Go to latest
Published: Jul 24, 2025 License: BSD-2-Clause Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func PromptConfirmation

func PromptConfirmation(message string) bool

PromptConfirmation asks for user confirmation

func PromptConfirmationWithNotes

func PromptConfirmationWithNotes(message, releaseNotes string) bool

PromptConfirmationWithNotes asks for user confirmation and shows release notes

Types

type Manager

type Manager struct {
	// contains filtered or unexported fields
}

Manager handles release operations

func NewManager

func NewManager(workDir string) *Manager

NewManager creates a new release manager

func (*Manager) CreateCodebergRelease

func (m *Manager) CreateCodebergRelease(owner, repo, tag, releaseNotes string) error

CreateCodebergRelease creates a release on Codeberg

func (*Manager) CreateGitHubRelease

func (m *Manager) CreateGitHubRelease(owner, repo, tag, releaseNotes string) error

CreateGitHubRelease creates a release on GitHub

func (*Manager) FindMissingReleases

func (m *Manager) FindMissingReleases(localTags, releaseTags []string) []string

FindMissingReleases finds tags that don't have releases

func (*Manager) GenerateAIReleaseNotes

func (m *Manager) GenerateAIReleaseNotes(repoPath, repoName, tag string, allTags []string, commits []string) (string, error)

GenerateAIReleaseNotes generates prose release notes using an AI tool, with fallback.

func (*Manager) GenerateReleaseNotes

func (m *Manager) GenerateReleaseNotes(repoPath, tag string, allTags []string) string

GenerateReleaseNotes generates release notes from commits

func (*Manager) GetCodebergReleases

func (m *Manager) GetCodebergReleases(owner, repo string) ([]string, error)

GetCodebergReleases fetches releases from Codeberg

func (*Manager) GetCommitsSinceTag

func (m *Manager) GetCommitsSinceTag(repoPath, fromTag, toTag string) ([]string, error)

GetCommitsSinceTag gets all commits since a specific tag

func (*Manager) GetDiffBetweenTags

func (m *Manager) GetDiffBetweenTags(repoPath, fromTag, toTag string) (string, error)

GetDiffBetweenTags gets the diff between two tags

func (*Manager) GetGitHubReleases

func (m *Manager) GetGitHubReleases(owner, repo string) ([]string, error)

GetGitHubReleases fetches releases from GitHub

func (*Manager) GetLocalTags

func (m *Manager) GetLocalTags(repoPath string) ([]string, error)

GetLocalTags returns all version tags from the local git repository

func (*Manager) SetAITool added in v0.8.1

func (m *Manager) SetAITool(tool string)

SetAITool sets the AI tool to use for release notes generation

func (*Manager) SetCodebergToken

func (m *Manager) SetCodebergToken(token string)

SetCodebergToken sets the Codeberg token for API authentication

func (*Manager) SetGitHubToken

func (m *Manager) SetGitHubToken(token string)

SetGitHubToken sets the GitHub token for API authentication

func (*Manager) UpdateCodebergRelease

func (m *Manager) UpdateCodebergRelease(owner, repo, tag, releaseNotes string) error

UpdateCodebergRelease updates an existing release on Codeberg

func (*Manager) UpdateGitHubRelease

func (m *Manager) UpdateGitHubRelease(owner, repo, tag, releaseNotes string) error

UpdateGitHubRelease updates an existing release on GitHub

type Release

type Release struct {
	TagName string `json:"tag_name"`
	Name    string `json:"name"`
	Body    string `json:"body"`
}

Release represents a release on a platform

type Tag

type Tag struct {
	Name string
}

Tag represents a git tag

Jump to

Keyboard shortcuts

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