mirror of
https://github.com/apricote/releaser-pleaser.git
synced 2026-02-10 19:57:03 +00:00
refactor: move git to package
This commit is contained in:
parent
44184a77f9
commit
5765b48703
10 changed files with 114 additions and 102 deletions
|
|
@ -10,6 +10,8 @@ import (
|
|||
"github.com/go-git/go-git/v5"
|
||||
"github.com/go-git/go-git/v5/config"
|
||||
"github.com/go-git/go-git/v5/plumbing"
|
||||
|
||||
git2 "github.com/apricote/releaser-pleaser/internal/git"
|
||||
)
|
||||
|
||||
const (
|
||||
|
|
@ -224,7 +226,7 @@ func (rp *ReleaserPleaser) runReconcileReleasePR(ctx context.Context) error {
|
|||
logger.InfoContext(ctx, "next version", "version", nextVersion)
|
||||
|
||||
logger.DebugContext(ctx, "cloning repository", "clone.url", rp.forge.CloneURL())
|
||||
repo, err := CloneRepo(ctx, rp.forge.CloneURL(), rp.targetBranch, rp.forge.GitAuth())
|
||||
repo, err := git2.CloneRepo(ctx, rp.forge.CloneURL(), rp.targetBranch, rp.forge.GitAuth())
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to clone repository: %w", err)
|
||||
}
|
||||
|
|
@ -317,8 +319,8 @@ func (rp *ReleaserPleaser) runReconcileReleasePR(ctx context.Context) error {
|
|||
|
||||
releaseCommitMessage := fmt.Sprintf("chore(%s): release %s", rp.targetBranch, nextVersion)
|
||||
releaseCommitHash, err := worktree.Commit(releaseCommitMessage, &git.CommitOptions{
|
||||
Author: GitSignature(),
|
||||
Committer: GitSignature(),
|
||||
Author: git2.Signature(),
|
||||
Committer: git2.Signature(),
|
||||
})
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to commit changes: %w", err)
|
||||
|
|
@ -329,7 +331,7 @@ func (rp *ReleaserPleaser) runReconcileReleasePR(ctx context.Context) error {
|
|||
newReleasePRChanges := true
|
||||
|
||||
// Check if anything changed in comparison to the remote branch (if exists)
|
||||
if remoteRef, err := repo.Reference(plumbing.NewRemoteReferenceName(GitRemoteName, rpBranch), false); err != nil {
|
||||
if remoteRef, err := repo.Reference(plumbing.NewRemoteReferenceName(git2.RemoteName, rpBranch), false); err != nil {
|
||||
if err.Error() != "reference not found" {
|
||||
// "reference not found" is expected and we should always push
|
||||
return err
|
||||
|
|
@ -363,7 +365,7 @@ func (rp *ReleaserPleaser) runReconcileReleasePR(ctx context.Context) error {
|
|||
))
|
||||
logger.DebugContext(ctx, "pushing branch", "commit.hash", releaseCommitHash.String(), "branch.name", rpBranch, "refspec", pushRefSpec.String())
|
||||
if err = repo.PushContext(ctx, &git.PushOptions{
|
||||
RemoteName: GitRemoteName,
|
||||
RemoteName: git2.RemoteName,
|
||||
RefSpecs: []config.RefSpec{pushRefSpec},
|
||||
Force: true,
|
||||
Auth: rp.forge.GitAuth(),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue