Skip to content
This repository was archived by the owner on May 9, 2025. It is now read-only.

Commit 739992e

Browse files
committed
delete the repository if codeowners file failed to be added
1 parent 6fd41d8 commit 739992e

File tree

2 files changed

+22
-0
lines changed

2 files changed

+22
-0
lines changed

pkg/providers/gitea/gitea.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ package gitea
66

77
import (
88
"context"
9+
"errors"
910
"fmt"
1011
"strings"
1112

@@ -105,6 +106,10 @@ func (c *Client) CreateRepository(ctx context.Context, obj mpasv1alpha1.Reposito
105106
})
106107

107108
if err != nil {
109+
if _, derr := client.DeleteRepo(obj.Spec.Owner, obj.Spec.RepositoryName); derr != nil {
110+
err = errors.Join(err, derr)
111+
}
112+
108113
return fmt.Errorf("failed to add CODEOWNERS file: %w", err)
109114
}
110115
}

pkg/providers/gogit/gogit.go

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ package gogit
66

77
import (
88
"context"
9+
"errors"
910
"fmt"
1011
"strings"
1112

@@ -51,6 +52,10 @@ func CreateOrganizationRepository(ctx context.Context, gc gitprovider.Client, do
5152
}
5253

5354
if err := createCodeownersFile(ctx, repo, spec.Maintainers); err != nil {
55+
if cerr := repo.Delete(ctx); cerr != nil {
56+
err = errors.Join(err, cerr)
57+
}
58+
5459
return fmt.Errorf("failed to add CODEOWNERS file: %w", err)
5560
}
5661

@@ -65,6 +70,10 @@ func CreateOrganizationRepository(ctx context.Context, gc gitprovider.Client, do
6570
logger.Info("using existing repository", "domain", domain, "repository", spec.RepositoryName)
6671
} else {
6772
if err := createCodeownersFile(ctx, repo, spec.Maintainers); err != nil {
73+
if cerr := repo.Delete(ctx); cerr != nil {
74+
err = errors.Join(err, cerr)
75+
}
76+
6877
return fmt.Errorf("failed to add CODEOWNERS file: %w", err)
6978
}
7079

@@ -112,6 +121,10 @@ func CreateUserRepository(ctx context.Context, gc gitprovider.Client, domain str
112121
}
113122

114123
if err := createCodeownersFile(ctx, repo, spec.Maintainers); err != nil {
124+
if cerr := repo.Delete(ctx); cerr != nil {
125+
err = errors.Join(err, cerr)
126+
}
127+
115128
return fmt.Errorf("failed to add CODEOWNERS file: %w", err)
116129
}
117130

@@ -126,6 +139,10 @@ func CreateUserRepository(ctx context.Context, gc gitprovider.Client, domain str
126139
logger.Info("using existing repository", "domain", domain, "repository", spec.RepositoryName)
127140
} else {
128141
if err := createCodeownersFile(ctx, repo, spec.Maintainers); err != nil {
142+
if cerr := repo.Delete(ctx); cerr != nil {
143+
err = errors.Join(err, cerr)
144+
}
145+
129146
return fmt.Errorf("failed to add CODEOWNERS file: %w", err)
130147
}
131148

0 commit comments

Comments
 (0)