gitea

package
v0.84.0 Latest Latest
Warning

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

Go to latest
Published: Sep 2, 2024 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Gitea

type Gitea struct {
	// Spec contains inputs coming from updatecli configuration
	Spec Spec
	// contains filtered or unexported fields
}

Gitea contains information to interact with Gitea api

func New

func New(spec interface{}, pipelineID string) (*Gitea, error)

New returns a new valid Gitea object.

func (*Gitea) Add

func (g *Gitea) Add(files []string) error

Add run `git add`.

func (*Gitea) Checkout

func (g *Gitea) Checkout() error

Checkout create and then uses a temporary git branch.

func (*Gitea) Clean

func (g *Gitea) Clean() error

Clean deletes github working directory.

func (*Gitea) Clone

func (g *Gitea) Clone() (string, error)

Clone run `git clone`.

func (*Gitea) Commit

func (g *Gitea) Commit(message string) error

Commit run `git commit`.

func (*Gitea) GetBranches added in v0.53.0

func (g *Gitea) GetBranches() (sourceBranch, workingBranch, targetBranch string)

func (*Gitea) GetChangedFiles

func (g *Gitea) GetChangedFiles(workingDir string) ([]string, error)

func (*Gitea) GetDirectory

func (g *Gitea) GetDirectory() (directory string)

GetDirectory returns the local git repository path.

func (*Gitea) GetURL added in v0.53.0

func (g *Gitea) GetURL() string

GetURL returns a "Gitea" git URL

func (*Gitea) IsRemoteBranchUpToDate added in v0.45.0

func (g *Gitea) IsRemoteBranchUpToDate() (bool, error)

IsRemoteBranchUpToDate checks if the branch reference name is published on on the default remote

func (*Gitea) Push

func (g *Gitea) Push() (bool, error)

Push run `git push` to the corresponding Gitea remote branch if not already created.

func (*Gitea) PushBranch added in v0.44.0

func (g *Gitea) PushBranch(branch string) error

PushBranch push branch

func (*Gitea) PushTag

func (g *Gitea) PushTag(tag string) error

PushTag push tags

func (*Gitea) SearchTags

func (g *Gitea) SearchTags() (tags []string, err error)

SearchTags retrieve git tags from a remote gitea repository

type Spec

type Spec struct {
	client.Spec `yaml:",inline,omitempty"`
	//  "commitMessage" is used to generate the final commit message.
	//
	//  compatible:
	//    * scm
	//
	//  remark:
	//    it's worth mentioning that the commit message settings is applied to all targets linked to the same scm.
	CommitMessage commit.Commit `yaml:",omitempty"`
	//  "directory" defines the local path where the git repository is cloned.
	//
	//  compatible:
	//    * scm
	//
	//  remark:
	//    Unless you know what you are doing, it is recommended to use the default value.
	//    The reason is that Updatecli may automatically clean up the directory after a pipeline execution.
	//
	//  default:
	//     The default value is based on your local temporary directory like: (on Linux)
	//     /tmp/updatecli/github/<owner>/<repository>
	Directory string `yaml:",omitempty"`
	//  "email" defines the email used to commit changes.
	//
	//  compatible:
	//    * scm
	//
	//  default:
	//    default set to your global git configuration
	Email string `yaml:",omitempty"`
	//  "force" is used during the git push phase to run `git push --force`.
	//
	//	compatible:
	//    * scm
	//
	//  default:
	//    false
	//
	//  remark:
	//    When force is set to true, Updatecli also recreates the working branches that
	//    diverged from their base branch.
	Force *bool `yaml:",omitempty"`
	//	"gpg" specifies the GPG key and passphrased used for commit signing
	//
	//	compatible:
	//    * scm
	GPG sign.GPGSpec `yaml:",omitempty"`
	//  "owner" defines the owner of a repository.
	//
	//  compatible:
	//    * scm
	Owner string `yaml:",omitempty" jsonschema:"required"`
	//  "repository" specifies the name of a repository for a specific owner.
	//
	//  compatible:
	//    * scm
	Repository string `yaml:",omitempty" jsonschema:"required"`
	//	"user" specifies the user associated with new git commit messages created by Updatecli.
	//
	//	compatible:
	//    * scm
	User string `yaml:",omitempty"`
	//	"branch" defines the git branch to work on.
	//
	//	compatible:
	//	  * scm
	//
	//	default:
	//	  main
	//
	//	remark:
	//	  depending on which resource references the Gitea scm, the behavior will be different.
	//
	//    If the scm is linked to a source or a condition (using scmid), the branch will be used to retrieve
	//    file(s) from that branch.
	//
	//    If the scm is linked to target then Updatecli creates a new "working branch" based on the branch value.
	//    The working branch created by Updatecli looks like "updatecli_<pipelineID>".
	// 	  The working branch can be disabled using the "workingBranch" parameter set to false.
	Branch string `yaml:",omitempty"`
	//  "submodules" defines if Updatecli should checkout submodules.
	//
	//  compatible:
	//	  * scm
	//
	//  default: true
	Submodules *bool `yaml:",omitempty"`
	//  "workingBranch" defines if Updatecli should use a temporary branch to work on.
	//  If set to `true`, Updatecli create a temporary branch to work on, based on the branch value.
	//
	//  compatible:
	//    * scm
	//
	//  default: true
	WorkingBranch *bool `yaml:",omitempty"`
}

Spec defines settings used to interact with Gitea release

func (*Spec) Validate

func (s *Spec) Validate() error

Jump to

Keyboard shortcuts

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