github

package
v0.8.0 Latest Latest
Warning

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

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

Documentation

Index

Constants

View Source
const (
	DefaultWorkPath = ".github-workpath"
	// https://github.com/merico-dev/dtm-scaffolding-golang/archive/refs/heads/main.zip -> 302 ->
	// https://codeload.github.com/merico-dev/dtm-scaffolding-golang/zip/refs/heads/main
	DefaultLatestCodeZipfileDownloadUrlFormat = "https://codeload.github.com/%s/%s/zip/refs/heads/main"
	DefaultLatestCodeZipfileName              = "main-latest.zip"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client struct {
	*Option
	*github.Client
	context.Context
}

func NewClient

func NewClient(option *Option) (*Client, error)

func (*Client) AddRepoSecret

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

AddRepoSecret adds a secret to a GitHub repo.

func (*Client) AddWorkflow

func (c *Client) AddWorkflow(workflow *Workflow, branch string) 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 added in v0.7.0

func (c *Client) DeleteBranch(branch string) 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) DeleteWorkflow

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

func (*Client) DownloadAsset

func (c *Client) DownloadAsset(tagName, assetName, fileName string) 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) GetLatestCodeZipURL added in v0.8.0

func (c *Client) GetLatestCodeZipURL() string

func (*Client) GetLatestReleaseTagName added in v0.8.0

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

func (*Client) GetRepoDescription

func (c *Client) GetRepoDescription() (*github.Repository, error)

func (*Client) GetWorkflowPath

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

func (*Client) InitRepo added in v0.8.0

func (c *Client) InitRepo(mainBranch string) error

func (*Client) MergeCommits added in v0.8.0

func (c *Client) MergeCommits(mergeBranch, mainBranch string) error

func (*Client) MergePullRequest

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

func (*Client) NewBranch

func (c *Client) NewBranch(baseBranch, newBranch string) error

func (*Client) NewPullRequest

func (c *Client) NewPullRequest(fromBranch, toBranch string) (int, error)

func (*Client) PushLocalPath added in v0.8.0

func (c *Client) PushLocalPath(repoPath, branch string) error

func (*Client) PushLocalPathToBranch added in v0.8.0

func (c *Client) PushLocalPathToBranch(mergeBranch, mainBranch, repoPath string) (bool, error)

PushLocalPathToBranch will push local change to remote repo return boolean value is for control whether to rollout if encounter 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 Option

type Option struct {
	Owner    string
	Org      string
	Repo     string
	NeedAuth bool
	WorkPath string
}

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