github

package
v0.10.0 Latest Latest
Warning

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

Go to latest
Published: Nov 29, 2022 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

View Source
const (
	TokenEnvKey = "GITHUB_TOKEN"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client struct {
	*git.RepoInfo
	*github.Client
	context.Context
}

func NewClient

func NewClient(option *git.RepoInfo) (*Client, error)

func (*Client) AddRepoSecret

func (c *Client) AddRepoSecret(secretKey, secretValue string) error

AddRepoSecret adds a secret to a GitHub repo.

func (*Client) AddWebhook

func (c *Client) AddWebhook(webhookConfig *git.WebhookConfig) error

func (*Client) AddWorkflow

func (c *Client) AddWorkflow(workflow *Workflow, branch string) error

func (*Client) BuildCommitTree

func (c *Client) BuildCommitTree(ref *github.Reference, commitInfo *git.CommitInfo, checkChange bool) (*github.Tree, error)

func (*Client) CreateFile

func (c *Client) CreateFile(content []byte, filePath, targetBranch string) error

func (*Client) CreateRepo

func (c *Client) CreateRepo(org, defaultBranch string) error

func (*Client) DeleteBranch

func (c *Client) DeleteBranch(branch string) error

func (*Client) DeleteFiles

func (c *Client) DeleteFiles(commitInfo *git.CommitInfo) error

func (*Client) DeleteRepo

func (c *Client) DeleteRepo() error

func (*Client) DeleteRepoSecret

func (c *Client) DeleteRepoSecret(secretKey string) error

DeleteRepoSecret deletes a secret in a GitHub repo.

func (*Client) DeleteWebhook

func (c *Client) DeleteWebhook(webhookConfig *git.WebhookConfig) error

func (*Client) DeleteWorkflow

func (c *Client) DeleteWorkflow(workflow *Workflow, branch string) error

func (*Client) DescribeRepo

func (c *Client) DescribeRepo() (*git.RepoInfo, error)

func (*Client) DownloadAsset

func (c *Client) DownloadAsset(tagName, assetName, fileName string) error

func (*Client) DownloadRepo added in v0.10.0

func (c *Client) DownloadRepo() (string, error)

DownloadRepo will download repo, return repo local path and error

func (*Client) FetchRemoteContent

func (c *Client) FetchRemoteContent(wsFiles []string) ([]string, map[string]error, error)

func (*Client) GetLastCommit

func (c *Client) GetLastCommit() (*github.RepositoryCommit, error)

func (*Client) GetLatestReleaseTagName

func (c *Client) GetLatestReleaseTagName() (string, error)

func (*Client) GetPathInfo added in v0.10.0

func (c *Client) GetPathInfo(location string) ([]*git.RepoFileStatus, error)

func (*Client) GetWorkflowPath

func (c *Client) GetWorkflowPath() (string, error)

func (*Client) InitRepo

func (c *Client) InitRepo() error

func (*Client) MergeCommits

func (c *Client) MergeCommits(commitInfo *git.CommitInfo) error

func (*Client) MergePullRequest

func (c *Client) MergePullRequest(number int, mergeMethod MergeMethod) error

func (*Client) NewBranch

func (c *Client) NewBranch(newBranch string) (*github.Reference, error)

func (*Client) NewPullRequest

func (c *Client) NewPullRequest(commitInfo *git.CommitInfo) (int, error)

func (*Client) ProtectBranch

func (c *Client) ProtectBranch(branch string) error

ProtectBranch will protect the special branch

func (*Client) PushFiles added in v0.10.0

func (c *Client) PushFiles(commitInfo *git.CommitInfo, checkChange bool) (bool, error)

PushFiles will push local change to remote repo return boolean value is for control whether to roll out if encounter error

func (*Client) PushLocalPath

func (c *Client) PushLocalPath(ref *github.Reference, tree *github.Tree, commitInfo *git.CommitInfo) error

func (*Client) RepoSecretExists

func (c *Client) RepoSecretExists(secretKey string) (bool, error)

RepoSecretExists detects if a secret exists in a GitHub repo.

func (*Client) VerifyWorkflows

func (c *Client) VerifyWorkflows(workflows []*Workflow) (map[string]error, error)

VerifyWorkflows get the workflows with names "wf1.yml", "wf2.yml", then: If all workflows is ok => return ({"wf1.yml":nil, "wf2.yml:nil}, nil) If some error occurred => return (nil, error) If wf1.yml is not found => return ({"wf1.yml":error("not found"), "wf2.yml:nil},nil)

type MergeMethod

type MergeMethod string
const (
	MergeMethodSquash MergeMethod = "squash"
	MergeMethodMerge  MergeMethod = "merge"
	MergeMethodRebase MergeMethod = "rebase"
)

type Workflow

type Workflow struct {
	CommitMessage    string
	WorkflowFileName string
	WorkflowContent  string
}

Workflow is the struct for a GitHub Actions Workflow.

Jump to

Keyboard shortcuts

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