Documentation
¶
Index ¶
- Constants
- func CleanupPreparedNotes(workDir, version string) error
- func CleanupPreparedTagVersion(workDir string) error
- func CleanupPreparedVersion(workDir string) error
- func CleanupTagMessage(workDir string) error
- func DisplayWorkflowStatus(w *remote.Workflow)
- func GetReleaseNotesFile(version string) string
- func HasPreparedNotes(workDir, version string) bool
- func HasPreparedTagVersion(workDir string) bool
- func HasPreparedVersion(workDir string) bool
- func HasTagMessage(workDir string) bool
- func LoadPreparedNotes(workDir, version string) (string, error)
- func LoadPreparedTagVersion(workDir string) (string, error)
- func LoadPreparedVersion(workDir string) (string, error)
- func LoadTagMessage(workDir string) (string, error)
- func SavePreparedTagVersion(workDir, version string) error
- func SavePreparedVersion(workDir, version string) error
- func SaveTagMessage(workDir, message string) error
- type ArtifactCleanupAction
- type ArtifactListAction
- type ArtifactProvider
- type ArtifactStatsAction
- type CommitInfo
- type CommitPushWatchAction
- type PRAction
- type PREditAction
- type PRInfo
- type ReleaseAction
- type ReleaseCommitAction
- type ReleasePrepareAction
- type ReleasePreviewAction
- type TagCreateAction
- type TagDeleteAction
- type TagListAction
- type TagPrepareAction
- type TagPreviewAction
- type WorkflowListAction
- type WorkflowRun
- type WorkflowRunsResponse
- type WorkflowWatchAction
Constants ¶
const ReleaseNotesFilePattern = ".cidx/release-notes-v%s.md"
ReleaseNotesFilePattern is the pattern for release notes files
const ReleaseVersionFile = ".cidx/release-version"
ReleaseVersionFile is the path where the target version is stored
const TagMessageFile = ".cidx/tag-message"
TagMessageFile is the path where the tag message is stored
const TagVersionFile = ".cidx/tag-version"
TagVersionFile is the path where the target tag version is stored
Variables ¶
This section is empty.
Functions ¶
func CleanupPreparedNotes ¶
CleanupPreparedNotes removes the release notes file after successful release
func CleanupPreparedTagVersion ¶
CleanupPreparedTagVersion removes the version file after successful tag creation
func CleanupPreparedVersion ¶
CleanupPreparedVersion removes the version file after successful release
func CleanupTagMessage ¶
CleanupTagMessage removes the message file after successful tag creation
func DisplayWorkflowStatus ¶
DisplayWorkflowStatus renders the current workflow status to stdout Used by release, commit-push-watch, and other actions that watch workflows
func GetReleaseNotesFile ¶
GetReleaseNotesFile returns the path for release notes with the given version
func HasPreparedNotes ¶
HasPreparedNotes checks if release notes have been prepared for the given version
func HasPreparedTagVersion ¶
HasPreparedTagVersion checks if a tag version has been prepared
func HasPreparedVersion ¶
HasPreparedVersion checks if a version has been prepared
func HasTagMessage ¶
HasTagMessage checks if a tag message has been prepared
func LoadPreparedNotes ¶
LoadPreparedNotes loads previously prepared release notes for the given version
func LoadPreparedTagVersion ¶
LoadPreparedTagVersion loads the target version from file
func LoadPreparedVersion ¶
LoadPreparedVersion loads the target version from file
func LoadTagMessage ¶
LoadTagMessage loads the tag message from file
func SavePreparedTagVersion ¶
SavePreparedTagVersion saves the target version to a file
func SavePreparedVersion ¶
SavePreparedVersion saves the target version to a file
func SaveTagMessage ¶
SaveTagMessage saves the tag message to a file
Types ¶
type ArtifactCleanupAction ¶
type ArtifactCleanupAction struct {
// contains filtered or unexported fields
}
ArtifactCleanupAction deletes artifacts
func NewArtifactCleanup ¶
func NewArtifactCleanup(provider remote.Provider, deleteAll, expired bool, olderThan int, dryRun bool) *ArtifactCleanupAction
NewArtifactCleanup creates a new artifact cleanup action
type ArtifactListAction ¶
type ArtifactListAction struct {
// contains filtered or unexported fields
}
ArtifactListAction lists all artifacts
func NewArtifactList ¶
func NewArtifactList(provider remote.Provider, verbose bool) *ArtifactListAction
NewArtifactList creates a new artifact list action
type ArtifactProvider ¶
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 ¶
type ArtifactStatsAction struct {
// contains filtered or unexported fields
}
ArtifactStatsAction shows artifact storage statistics
func NewArtifactStats ¶
func NewArtifactStats(provider remote.Provider) *ArtifactStatsAction
NewArtifactStats creates a new artifact stats action
type CommitInfo ¶
CommitInfo holds parsed commit information
type CommitPushWatchAction ¶
type CommitPushWatchAction struct {
// contains filtered or unexported fields
}
CommitPushWatchAction orchestrates commit, push, and CI watching
func NewCommitPushWatch ¶
func NewCommitPushWatch(repo *vcs.Repository, provider remote.Provider, message string) *CommitPushWatchAction
NewCommitPushWatch creates a new commit-push-watch action
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
type PREditAction ¶
type PREditAction struct {
// contains filtered or unexported fields
}
PREditAction updates the title and/or body of the current branch's PR.
func NewPREdit ¶
func NewPREdit(repo *vcs.Repository, provider remote.Provider, title, body string) *PREditAction
NewPREdit creates a new PR edit action. Empty title/body fields are left unchanged on the PR; at least one must be provided.
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
type ReleaseCommitAction ¶
type ReleaseCommitAction struct {
// contains filtered or unexported fields
}
ReleaseCommitAction commits prepared release notes
func NewReleaseCommit ¶
func NewReleaseCommit(repo *vcs.Repository, dryRun bool) *ReleaseCommitAction
NewReleaseCommit creates a new release commit action
type ReleasePrepareAction ¶
type ReleasePrepareAction struct {
// contains filtered or unexported fields
}
ReleasePrepareAction prepares release notes for human review
func NewReleasePrepare ¶
func NewReleasePrepare(repo *vcs.Repository, provider remote.Provider, releaseConfig config.ReleaseConfig, dryRun bool) *ReleasePrepareAction
NewReleasePrepare creates a new release prepare action
type ReleasePreviewAction ¶
type ReleasePreviewAction struct {
// contains filtered or unexported fields
}
ReleasePreviewAction shows what will happen during release
func NewReleasePreview ¶
func NewReleasePreview(repo *vcs.Repository, releaseConfig config.ReleaseConfig, dryRun bool) *ReleasePreviewAction
NewReleasePreview creates a new release preview action
type TagCreateAction ¶
type TagCreateAction struct {
// contains filtered or unexported fields
}
TagCreateAction creates and optionally pushes a git tag
func NewTagCreate ¶
func NewTagCreate(repo *vcs.Repository, tagConfig config.TagConfig, dryRun bool) *TagCreateAction
NewTagCreate creates a new tag create action
type TagDeleteAction ¶
type TagDeleteAction struct {
// contains filtered or unexported fields
}
TagDeleteAction deletes a git tag locally and optionally from remote
func NewTagDelete ¶
func NewTagDelete(repo *vcs.Repository, tagConfig config.TagConfig, tagName string, remote, force, dryRun bool) *TagDeleteAction
NewTagDelete creates a new tag delete action
type TagListAction ¶
type TagListAction struct {
// contains filtered or unexported fields
}
TagListAction lists git tags with filtering options
func NewTagList ¶
func NewTagList(repo *vcs.Repository, tagConfig config.TagConfig, limit int, pattern string, verbose bool) *TagListAction
NewTagList creates a new tag list action
type TagPrepareAction ¶
type TagPrepareAction struct {
// contains filtered or unexported fields
}
TagPrepareAction prepares a tag for human review before creation
func NewTagPrepare ¶
func NewTagPrepare(repo *vcs.Repository, tagConfig config.TagConfig, dryRun bool) *TagPrepareAction
NewTagPrepare creates a new tag prepare action
type TagPreviewAction ¶
type TagPreviewAction struct {
// contains filtered or unexported fields
}
TagPreviewAction shows what will happen during tag creation
func NewTagPreview ¶
func NewTagPreview(repo *vcs.Repository, tagConfig config.TagConfig) *TagPreviewAction
NewTagPreview creates a new tag preview action
type WorkflowListAction ¶
type WorkflowListAction struct {
// contains filtered or unexported fields
}
WorkflowListAction lists workflow runs from GitHub Actions
func NewWorkflowList ¶
func NewWorkflowList(workflow string, limit int, verbose bool) *WorkflowListAction
NewWorkflowList creates a new workflow list action
type WorkflowRun ¶
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 ¶
type WorkflowRunsResponse struct {
TotalCount int `json:"total_count"`
WorkflowRuns []WorkflowRun `json:"workflow_runs"`
}
WorkflowRunsResponse represents the GitHub API response for workflow runs
type WorkflowWatchAction ¶
type WorkflowWatchAction struct {
// contains filtered or unexported fields
}
WorkflowWatchAction watches a single workflow run on a branch (or by run ID). It complements `cidx pr watch` by supporting non-PR branches such as direct pushes to main (issue #125).
func NewWorkflowWatch ¶
func NewWorkflowWatch(provider remote.Provider, branch, runID string, quiet bool) *WorkflowWatchAction
NewWorkflowWatch creates a new workflow watch action.
Exactly one of branch or runID should be set. When branch is set, the action resolves the most recent workflow run on that branch. When runID is set, it watches the specified run directly.