actions

package
v1.3.0 Latest Latest
Warning

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

Go to latest
Published: Apr 4, 2026 License: MIT Imports: 16 Imported by: 0

Documentation

Index

Constants

View Source
const ReleaseNotesFilePattern = ".cidx/release-notes-v%s.md"

ReleaseNotesFilePattern is the pattern for release notes files

View Source
const ReleaseVersionFile = ".cidx/release-version"

ReleaseVersionFile is the path where the target version is stored

View Source
const TagMessageFile = ".cidx/tag-message"

TagMessageFile is the path where the tag message is stored

View Source
const TagVersionFile = ".cidx/tag-version"

TagVersionFile is the path where the target tag version is stored

Variables

This section is empty.

Functions

func CleanupPreparedNotes added in v1.2.1

func CleanupPreparedNotes(workDir, version string) error

CleanupPreparedNotes removes the release notes file after successful release

func CleanupPreparedTagVersion added in v1.2.1

func CleanupPreparedTagVersion(workDir string) error

CleanupPreparedTagVersion removes the version file after successful tag creation

func CleanupPreparedVersion added in v1.2.1

func CleanupPreparedVersion(workDir string) error

CleanupPreparedVersion removes the version file after successful release

func CleanupTagMessage added in v1.2.1

func CleanupTagMessage(workDir string) error

CleanupTagMessage removes the message file after successful tag creation

func DisplayWorkflowStatus added in v1.3.0

func DisplayWorkflowStatus(w *remote.Workflow)

DisplayWorkflowStatus renders the current workflow status to stdout Used by release, commit-push-watch, and other actions that watch workflows

func GetReleaseNotesFile added in v1.2.1

func GetReleaseNotesFile(version string) string

GetReleaseNotesFile returns the path for release notes with the given version

func HasPreparedNotes added in v1.2.1

func HasPreparedNotes(workDir, version string) bool

HasPreparedNotes checks if release notes have been prepared for the given version

func HasPreparedTagVersion added in v1.2.1

func HasPreparedTagVersion(workDir string) bool

HasPreparedTagVersion checks if a tag version has been prepared

func HasPreparedVersion added in v1.2.1

func HasPreparedVersion(workDir string) bool

HasPreparedVersion checks if a version has been prepared

func HasTagMessage added in v1.2.1

func HasTagMessage(workDir string) bool

HasTagMessage checks if a tag message has been prepared

func LoadPreparedNotes added in v1.2.1

func LoadPreparedNotes(workDir, version string) (string, error)

LoadPreparedNotes loads previously prepared release notes for the given version

func LoadPreparedTagVersion added in v1.2.1

func LoadPreparedTagVersion(workDir string) (string, error)

LoadPreparedTagVersion loads the target version from file

func LoadPreparedVersion added in v1.2.1

func LoadPreparedVersion(workDir string) (string, error)

LoadPreparedVersion loads the target version from file

func LoadTagMessage added in v1.2.1

func LoadTagMessage(workDir string) (string, error)

LoadTagMessage loads the tag message from file

func SavePreparedTagVersion added in v1.2.1

func SavePreparedTagVersion(workDir, version string) error

SavePreparedTagVersion saves the target version to a file

func SavePreparedVersion added in v1.2.1

func SavePreparedVersion(workDir, version string) error

SavePreparedVersion saves the target version to a file

func SaveTagMessage added in v1.2.1

func SaveTagMessage(workDir, message string) error

SaveTagMessage saves the tag message to a file

Types

type ArtifactCleanupAction added in v1.2.1

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

ArtifactCleanupAction deletes artifacts

func NewArtifactCleanup added in v1.2.1

func NewArtifactCleanup(provider remote.Provider, deleteAll, expired bool, olderThan int, dryRun bool) *ArtifactCleanupAction

NewArtifactCleanup creates a new artifact cleanup action

func (*ArtifactCleanupAction) Execute added in v1.2.1

func (a *ArtifactCleanupAction) Execute(ctx context.Context) error

Execute runs the artifact cleanup action

type ArtifactListAction added in v1.2.1

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

ArtifactListAction lists all artifacts

func NewArtifactList added in v1.2.1

func NewArtifactList(provider remote.Provider, verbose bool) *ArtifactListAction

NewArtifactList creates a new artifact list action

func (*ArtifactListAction) Execute added in v1.2.1

func (a *ArtifactListAction) Execute(ctx context.Context) error

Execute runs the artifact list action

type ArtifactProvider added in v1.2.1

type ArtifactProvider interface {
	ListArtifacts(ctx context.Context) (*remote.ArtifactStats, error)
	DeleteArtifact(ctx context.Context, artifactID int64) error
	DeleteArtifactsBefore(ctx context.Context, before time.Time) (deleted int, freedBytes int64, err error)
	DeleteAllArtifacts(ctx context.Context) (deleted int, freedBytes int64, err error)
	DeleteExpiredArtifacts(ctx context.Context) (deleted int, freedBytes int64, err error)
}

ArtifactProvider is the interface for artifact operations Only GitHub supports artifacts currently

type ArtifactStatsAction added in v1.2.1

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

ArtifactStatsAction shows artifact storage statistics

func NewArtifactStats added in v1.2.1

func NewArtifactStats(provider remote.Provider) *ArtifactStatsAction

NewArtifactStats creates a new artifact stats action

func (*ArtifactStatsAction) Execute added in v1.2.1

func (a *ArtifactStatsAction) Execute(ctx context.Context) error

Execute runs the artifact stats action

type CommitInfo added in v1.2.1

type CommitInfo struct {
	Hash    string
	Type    string
	Scope   string
	Subject string
	Body    string
	PR      int
}

CommitInfo holds parsed commit information

type CommitPushWatchAction

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

CommitPushWatchAction orchestrates commit, push, and workflow watching

func NewCommitPushWatch

func NewCommitPushWatch(repo *vcs.Repository, provider remote.Provider, message string) *CommitPushWatchAction

NewCommitPushWatch creates a new commit-push-watch action

func (*CommitPushWatchAction) Execute

func (a *CommitPushWatchAction) Execute(ctx context.Context) error

Execute runs the action: commit → push → watch

type PRAction

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

PRAction manages pull request workflow

func NewPR

func NewPR(repo *vcs.Repository, provider remote.Provider, title, issueNum string, dryRun, readyMode bool) *PRAction

NewPR creates a new PR action

func NewPRMerge

func NewPRMerge(repo *vcs.Repository, provider remote.Provider, mergeMethod string, watchFlow, skipChecks, dryRun bool) *PRAction

NewPRMerge creates a new PR merge action

func (*PRAction) Execute

func (a *PRAction) Execute(ctx context.Context) error

Execute runs the PR workflow

type PRInfo added in v1.2.1

type PRInfo struct {
	Number int
	Title  string
	Author string
}

PRInfo holds PR information

type ReleaseAction

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

ReleaseAction orchestrates the release process using dynamic action configuration

func NewRelease

func NewRelease(repo *vcs.Repository, provider remote.Provider, releaseConfig config.ReleaseConfig, actionName string, dryRun bool) *ReleaseAction

NewRelease creates a new release action

func (*ReleaseAction) Execute

func (a *ReleaseAction) Execute(ctx context.Context) error

Execute runs the release workflow using dynamic action configuration

type ReleaseCommitAction added in v1.2.1

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

ReleaseCommitAction commits prepared release notes

func NewReleaseCommit added in v1.2.1

func NewReleaseCommit(repo *vcs.Repository, dryRun bool) *ReleaseCommitAction

NewReleaseCommit creates a new release commit action

func (*ReleaseCommitAction) Execute added in v1.2.1

func (a *ReleaseCommitAction) Execute(ctx context.Context) error

Execute commits the prepared release notes

type ReleasePrepareAction added in v1.2.1

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

ReleasePrepareAction prepares release notes for human review

func NewReleasePrepare added in v1.2.1

func NewReleasePrepare(repo *vcs.Repository, provider remote.Provider, releaseConfig config.ReleaseConfig, dryRun bool) *ReleasePrepareAction

NewReleasePrepare creates a new release prepare action

func (*ReleasePrepareAction) Execute added in v1.2.1

func (a *ReleasePrepareAction) Execute(ctx context.Context) error

Execute prepares release notes and opens editor for review

type ReleasePreviewAction added in v1.2.1

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

ReleasePreviewAction shows what will happen during release

func NewReleasePreview added in v1.2.1

func NewReleasePreview(repo *vcs.Repository, releaseConfig config.ReleaseConfig, dryRun bool) *ReleasePreviewAction

NewReleasePreview creates a new release preview action

func (*ReleasePreviewAction) Execute added in v1.2.1

func (a *ReleasePreviewAction) Execute(ctx context.Context) error

Execute shows a preview of the release

type TagCreateAction added in v1.2.1

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

TagCreateAction creates and optionally pushes a git tag

func NewTagCreate added in v1.2.1

func NewTagCreate(repo *vcs.Repository, tagConfig config.TagConfig, dryRun bool) *TagCreateAction

NewTagCreate creates a new tag create action

func (*TagCreateAction) Execute added in v1.2.1

func (a *TagCreateAction) Execute(ctx context.Context) error

Execute creates the tag and optionally pushes it

type TagDeleteAction added in v1.2.1

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

TagDeleteAction deletes a git tag locally and optionally from remote

func NewTagDelete added in v1.2.1

func NewTagDelete(repo *vcs.Repository, tagConfig config.TagConfig, tagName string, remote, force, dryRun bool) *TagDeleteAction

NewTagDelete creates a new tag delete action

func (*TagDeleteAction) Execute added in v1.2.1

func (a *TagDeleteAction) Execute(ctx context.Context) error

Execute deletes the specified tag

type TagListAction added in v1.2.1

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

TagListAction lists git tags with filtering options

func NewTagList added in v1.2.1

func NewTagList(repo *vcs.Repository, tagConfig config.TagConfig, limit int, pattern string, verbose bool) *TagListAction

NewTagList creates a new tag list action

func (*TagListAction) Execute added in v1.2.1

func (a *TagListAction) Execute(ctx context.Context) error

Execute lists tags based on configuration

type TagPrepareAction added in v1.2.1

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

TagPrepareAction prepares a tag for human review before creation

func NewTagPrepare added in v1.2.1

func NewTagPrepare(repo *vcs.Repository, tagConfig config.TagConfig, dryRun bool) *TagPrepareAction

NewTagPrepare creates a new tag prepare action

func (*TagPrepareAction) Execute added in v1.2.1

func (a *TagPrepareAction) Execute(ctx context.Context) error

Execute prepares a tag version and message for review

type TagPreviewAction added in v1.2.1

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

TagPreviewAction shows what will happen during tag creation

func NewTagPreview added in v1.2.1

func NewTagPreview(repo *vcs.Repository, tagConfig config.TagConfig) *TagPreviewAction

NewTagPreview creates a new tag preview action

func (*TagPreviewAction) Execute added in v1.2.1

func (a *TagPreviewAction) Execute(ctx context.Context) error

Execute shows a preview of the tag operation

type WorkflowListAction added in v1.2.1

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

WorkflowListAction lists workflow runs from GitHub Actions

func NewWorkflowList added in v1.2.1

func NewWorkflowList(workflow string, limit int, verbose bool) *WorkflowListAction

NewWorkflowList creates a new workflow list action

func (*WorkflowListAction) Execute added in v1.2.1

func (a *WorkflowListAction) Execute(ctx context.Context) error

Execute lists workflow runs from GitHub Actions

type WorkflowRun added in v1.2.1

type WorkflowRun struct {
	ID           int64     `json:"id"`
	Name         string    `json:"name"`
	HeadBranch   string    `json:"head_branch"`
	HeadSha      string    `json:"head_sha"`
	Status       string    `json:"status"`
	Conclusion   string    `json:"conclusion"`
	CreatedAt    time.Time `json:"created_at"`
	UpdatedAt    time.Time `json:"updated_at"`
	HTMLURL      string    `json:"html_url"`
	RunNumber    int       `json:"run_number"`
	DisplayTitle string    `json:"display_title"`
}

WorkflowRun represents a GitHub Actions workflow run

type WorkflowRunsResponse added in v1.2.1

type WorkflowRunsResponse struct {
	TotalCount   int           `json:"total_count"`
	WorkflowRuns []WorkflowRun `json:"workflow_runs"`
}

WorkflowRunsResponse represents the GitHub API response for workflow runs

Jump to

Keyboard shortcuts

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