1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
|
diff --git a/forge.go b/forge.go
index 8348a483e19af29d583059e08d387c503b16cedf..9aa64a99769c5a3b099a76e49bf88c787342f2fc 100644
--- a/forge.go
+++ b/forge.go
@@ -60,7 +60,7 @@ func (c *config) Login(ctx context.Context, r *types.OAuthRequest) (*model.User, string, error) {
slog.Info("Login")
provider, err := oidc.NewProvider(ctx, c.clientProvider)
if err != nil {
- slog.Error("", slog.Any("err", err))
+ slog.Error("could not create OIDC provider", slog.Any("err", err))
return nil, "", err
}
config := oauth2.Config{
@@ -77,13 +77,13 @@ }
oauthToken, err := config.Exchange(ctx, r.Code)
if err != nil {
- slog.Error("", slog.Any("err", err))
+ slog.Error("could not exchange oauth token", slog.Any("err", err))
return nil, redirectURL, err
}
userInfo, err := provider.UserInfo(ctx, oauth2.StaticTokenSource(oauthToken))
if err != nil {
- slog.Error("", slog.Any("err", err))
+ slog.Error("could not get user info", slog.Any("err", err))
return nil, redirectURL, err
}
@@ -109,12 +109,12 @@ func (c *config) Auth(ctx context.Context, token string, secret string) (string, error) {
slog.Info("Auth")
provider, err := oidc.NewProvider(ctx, c.clientProvider)
if err != nil {
- slog.Error("", slog.Any("err", err))
+ slog.Error("could not create oidc provider", slog.Any("err", err))
return "", err
}
userInfo, err := provider.UserInfo(ctx, oauth2.StaticTokenSource(&oauth2.Token{AccessToken: token}))
if err != nil {
- slog.Error("", slog.Any("err", err))
+ slog.Error("could not get user info", slog.Any("err", err))
return "", err
}
@@ -159,7 +159,7 @@ name = string(remoteID)
}
_, err := c.gitRepo(name)
if err != nil {
- slog.Error("", slog.Any("err", err))
+ slog.Error("could not get git repo", slog.String("repo", name), slog.Any("err", err))
return nil, err
}
return c.toRepo(name), nil
@@ -173,7 +173,7 @@ return []*model.Repo{}, nil
}
entries, err := os.ReadDir(c.repoDir)
if err != nil {
- slog.Error("", slog.Any("err", err))
+ slog.Error("could not read repo dir", slog.Any("err", err))
return nil, fmt.Errorf("could not read repo dir: %w", err)
}
repos := make([]*model.Repo, 0, len(entries))
@@ -181,7 +181,7 @@ for _, entry := range entries {
if strings.HasSuffix(entry.Name(), ".git") {
repo, err := c.Repo(ctx, nil, "", "", strings.TrimSuffix(entry.Name(), ".git"))
if err != nil {
- slog.Error("", slog.Any("err", err))
+ slog.Error("could not get repo", slog.Any("err", err))
return nil, err
}
repos = append(repos, repo)
@@ -196,22 +196,22 @@ func (c *config) File(ctx context.Context, u *model.User, r *model.Repo, b *model.Pipeline, f string) ([]byte, error) {
slog.Info("File")
repo, err := c.gitRepo(r.Name)
if err != nil {
- slog.Error("", slog.Any("err", err))
+ slog.Error("could not get git repo", slog.Any("err", err))
return nil, err
}
commit, err := repo.CommitObject(plumbing.NewHash(b.Commit))
if err != nil {
- slog.Error("", slog.Any("err", err))
+ slog.Error("could not get commit object", slog.String("commit", b.Commit), slog.String("repo", r.Name), slog.Any("err", err))
return nil, fmt.Errorf("could not get commit for %q: %w", b.Commit, err)
}
file, err := commit.File(f)
if err != nil {
- slog.Error("", slog.Any("err", err))
+ slog.Error("could not get file", slog.Any("err", err))
return nil, fmt.Errorf("could not get file %q: %w", f, err)
}
content, err := file.Contents()
if err != nil {
- slog.Error("", slog.Any("err", err))
+ slog.Error("could not get file contents", slog.Any("err", err))
return nil, fmt.Errorf("could not get file contents from %q: %w", f, err)
}
return []byte(content), nil
@@ -222,17 +222,17 @@ func (c *config) Dir(ctx context.Context, u *model.User, r *model.Repo, b *model.Pipeline, f string) ([]*types.FileMeta, error) {
slog.Info("Dir")
repo, err := c.gitRepo(r.Name)
if err != nil {
- slog.Error("", slog.Any("err", err))
+ slog.Error("could not get git repo", slog.Any("err", err))
return nil, err
}
commit, err := repo.CommitObject(plumbing.NewHash(b.Commit))
if err != nil {
- slog.Error("", slog.Any("err", err))
+ slog.Error("could not get commit object", slog.String("commit", b.Commit), slog.String("repo", r.Name), slog.Any("err", err))
return nil, fmt.Errorf("could not get commit for %q: %w", b.Commit, err)
}
files, err := commit.Files()
if err != nil {
- slog.Error("", slog.Any("err", err))
+ slog.Error("could not get commit files", slog.Any("err", err))
return nil, fmt.Errorf("could not get files for %q: %w", b.Commit, err)
}
f = path.Clean(f)
@@ -242,7 +242,7 @@ if err := files.ForEach(func(fi *object.File) error {
if m, _ := filepath.Match(f, fi.Name); m {
data, err := c.File(ctx, u, r, b, fi.Name)
if err != nil {
- slog.Error("", slog.Any("err", err))
+ slog.Error("could not get file", slog.Any("err", err))
return err
}
metas = append(metas, &types.FileMeta{
@@ -252,7 +252,7 @@ })
}
return nil
}); err != nil {
- slog.Error("", slog.Any("err", err))
+ slog.Error("could not iterate files", slog.Any("err", err))
return nil, fmt.Errorf("problem while iterating over files: %w", err)
}
return metas, nil
@@ -298,12 +298,12 @@ return []string{}, nil
}
repo, err := c.gitRepo(r.Name)
if err != nil {
- slog.Error("", slog.Any("err", err))
+ slog.Error("could not get git repo", slog.Any("err", err))
return nil, err
}
branches, err := repo.Branches()
if err != nil {
- slog.Error("", slog.Any("err", err))
+ slog.Error("could not get branches", slog.Any("err", err))
return nil, fmt.Errorf("could not get branches: %w", err)
}
result := make([]string, 0)
@@ -311,7 +311,7 @@ if err := branches.ForEach(func(r *plumbing.Reference) error {
result = append(result, string(r.Name().Short()))
return nil
}); err != nil {
- slog.Error("", slog.Any("err", err))
+ slog.Error("could not iterate over branches", slog.Any("err", err))
return nil, fmt.Errorf("problem while iterating over branches: %w", err)
}
return result, nil
@@ -322,12 +322,12 @@ func (c *config) BranchHead(ctx context.Context, u *model.User, r *model.Repo, branch string) (*model.Commit, error) {
slog.Info("BranchHead")
repo, err := c.gitRepo(r.Name)
if err != nil {
- slog.Error("", slog.Any("err", err))
+ slog.Error("could not get git repo", slog.Any("err", err))
return nil, err
}
ref, err := repo.Reference(plumbing.NewBranchReferenceName(branch), true)
if err != nil {
- slog.Error("", slog.Any("err", err))
+ slog.Error("could not get branch ref", slog.Any("err", err))
return nil, fmt.Errorf("could not resolve branch reference for %q: %w", branch, err)
}
return &model.Commit{
|