chore: update golangci-lint to v2.13.0

Migrate the deprecated gofumpt `extra-rules` to `extra.group-params`, as
the alias now also enables the new `clothe-returns` and `balance-calls`
rules. Disable SA4023, which hangs on go 1.27, see
https://github.com/golangci/golangci-lint/issues/6732.

Apply the resulting modernize fixes, mostly flattening embedded struct
literals and switching errors.As to errors.AsType.

Assisted-by: Claude:Opus 5
This commit is contained in:
silverwind
2026-08-20 06:21:34 +02:00
parent b227ad8a5f
commit bef127f188
173 changed files with 1161 additions and 1659 deletions
+1 -1
View File
@@ -14,6 +14,7 @@ import (
"strconv"
"strings"
"time"
"uuid"
user_model "gitea.dev/models/user"
"gitea.dev/modules/git"
@@ -26,7 +27,6 @@ import (
"gitea.dev/modules/structs"
"go.yaml.in/yaml/v4"
"uuid"
)
var _ base.Uploader = &RepositoryDumper{}
+19 -23
View File
@@ -176,11 +176,9 @@ func (g *GiteaDownloader) GetMilestones(ctx context.Context) ([]*base.Milestone,
}
ms, _, err := g.client.Repositories.ListMilestones(g.ctx, g.repoOwner, g.repoName, gitea_sdk.ListMilestoneOption{
ListOptions: gitea_sdk.ListOptions{
PageSize: g.maxPerPage,
Page: i,
},
State: gitea_sdk.StateAll,
PageSize: g.maxPerPage,
Page: i,
State: gitea_sdk.StateAll,
})
if err != nil {
return nil, err
@@ -240,10 +238,10 @@ func (g *GiteaDownloader) GetLabels(ctx context.Context) ([]*base.Label, error)
default:
}
ls, _, err := g.client.Repositories.ListRepoLabels(g.ctx, g.repoOwner, g.repoName, gitea_sdk.ListLabelsOptions{ListOptions: gitea_sdk.ListOptions{
ls, _, err := g.client.Repositories.ListRepoLabels(g.ctx, g.repoOwner, g.repoName, gitea_sdk.ListLabelsOptions{
PageSize: g.maxPerPage,
Page: i,
}})
})
if err != nil {
return nil, err
}
@@ -328,10 +326,10 @@ func (g *GiteaDownloader) GetReleases(ctx context.Context) ([]*base.Release, err
default:
}
rl, _, err := g.client.Releases.ListReleases(g.ctx, g.repoOwner, g.repoName, gitea_sdk.ListReleasesOptions{ListOptions: gitea_sdk.ListOptions{
rl, _, err := g.client.Releases.ListReleases(g.ctx, g.repoOwner, g.repoName, gitea_sdk.ListReleasesOptions{
PageSize: g.maxPerPage,
Page: i,
}})
})
if err != nil {
return nil, err
}
@@ -362,10 +360,10 @@ func (g *GiteaDownloader) getIssueReactions(ctx context.Context, index int64) ([
default:
}
reactions, _, err := g.client.Issues.ListIssueReactions(g.ctx, g.repoOwner, g.repoName, index, gitea_sdk.ListIssueReactionsOptions{ListOptions: gitea_sdk.ListOptions{
reactions, _, err := g.client.Issues.ListIssueReactions(g.ctx, g.repoOwner, g.repoName, index, gitea_sdk.ListIssueReactionsOptions{
PageSize: g.maxPerPage,
Page: i,
}})
})
if err != nil {
return nil, err
}
@@ -414,9 +412,9 @@ func (g *GiteaDownloader) GetIssues(ctx context.Context, page, perPage int) ([]*
allIssues := make([]*base.Issue, 0, perPage)
issues, _, err := g.client.Issues.ListRepoIssues(g.ctx, g.repoOwner, g.repoName, gitea_sdk.ListIssueOption{
ListOptions: gitea_sdk.ListOptions{Page: page, PageSize: perPage},
State: gitea_sdk.StateAll,
Type: gitea_sdk.IssueTypeIssue,
Page: page, PageSize: perPage,
State: gitea_sdk.StateAll,
Type: gitea_sdk.IssueTypeIssue,
})
if err != nil {
return nil, false, fmt.Errorf("error while listing issues: %w", err)
@@ -481,10 +479,10 @@ func (g *GiteaDownloader) GetComments(ctx context.Context, commentable base.Comm
default:
}
comments, _, err := g.client.Issues.ListIssueComments(g.ctx, g.repoOwner, g.repoName, commentable.GetForeignIndex(), gitea_sdk.ListIssueCommentOptions{ListOptions: gitea_sdk.ListOptions{
comments, _, err := g.client.Issues.ListIssueComments(g.ctx, g.repoOwner, g.repoName, commentable.GetForeignIndex(), gitea_sdk.ListIssueCommentOptions{
PageSize: g.maxPerPage,
Page: i,
}})
})
if err != nil {
return nil, false, fmt.Errorf("error while listing comments for issue #%d. Error: %w", commentable.GetForeignIndex(), err)
}
@@ -523,11 +521,9 @@ func (g *GiteaDownloader) GetPullRequests(ctx context.Context, page, perPage int
allPRs := make([]*base.PullRequest, 0, perPage)
prs, _, err := g.client.PullRequests.ListRepoPullRequests(g.ctx, g.repoOwner, g.repoName, gitea_sdk.ListPullRequestsOptions{
ListOptions: gitea_sdk.ListOptions{
Page: page,
PageSize: perPage,
},
State: gitea_sdk.StateAll,
Page: page,
PageSize: perPage,
State: gitea_sdk.StateAll,
})
if err != nil {
return nil, false, fmt.Errorf("error while listing pull requests (page: %d, pagesize: %d). Error: %w", page, perPage, err)
@@ -652,10 +648,10 @@ func (g *GiteaDownloader) GetReviews(ctx context.Context, reviewable base.Review
default:
}
prl, _, err := g.client.PullRequests.ListPullReviews(g.ctx, g.repoOwner, g.repoName, reviewable.GetForeignIndex(), gitea_sdk.ListPullReviewsOptions{ListOptions: gitea_sdk.ListOptions{
prl, _, err := g.client.PullRequests.ListPullReviews(g.ctx, g.repoOwner, g.repoName, reviewable.GetForeignIndex(), gitea_sdk.ListPullReviewsOptions{
Page: i,
PageSize: g.maxPerPage,
}})
})
if err != nil {
return nil, err
}
+1 -2
View File
@@ -12,6 +12,7 @@ import (
"strconv"
"strings"
"time"
"uuid"
"gitea.dev/models/db"
issues_model "gitea.dev/models/issues"
@@ -32,8 +33,6 @@ import (
"gitea.dev/modules/util"
"gitea.dev/services/pull"
repo_service "gitea.dev/services/repository"
"uuid"
)
var _ base.Uploader = &GiteaLocalUploader{}
+4 -8
View File
@@ -80,10 +80,8 @@ func TestGiteaUploadRepo(t *testing.T) {
assert.Len(t, labels, 12)
releases, err := db.Find[repo_model.Release](t.Context(), repo_model.FindReleasesOptions{
ListOptions: db.ListOptions{
PageSize: 10,
Page: 0,
},
PageSize: 10,
Page: 0,
IncludeTags: true,
RepoID: repo.ID,
})
@@ -91,10 +89,8 @@ func TestGiteaUploadRepo(t *testing.T) {
assert.Len(t, releases, 8)
releases, err = db.Find[repo_model.Release](t.Context(), repo_model.FindReleasesOptions{
ListOptions: db.ListOptions{
PageSize: 10,
Page: 0,
},
PageSize: 10,
Page: 0,
IncludeTags: false,
RepoID: repo.ID,
})
+18 -36
View File
@@ -244,11 +244,9 @@ func (g *GithubDownloaderV3) GetMilestones(ctx context.Context) ([]*base.Milesto
g.waitAndPickClient(ctx)
ms, resp, err := g.getClient().Issues.ListMilestones(ctx, g.repoOwner, g.repoName,
&github.MilestoneListOptions{
State: "all",
ListOptions: github.ListOptions{
Page: i,
PerPage: perPage,
},
State: "all",
Page: i,
PerPage: perPage,
})
if err != nil {
return nil, err
@@ -459,10 +457,8 @@ func (g *GithubDownloaderV3) GetIssues(ctx context.Context, page, perPage int) (
for i := 1; ; i++ {
g.waitAndPickClient(ctx)
res, resp, err := g.getClient().Reactions.ListIssueReactions(ctx, g.repoOwner, g.repoName, issue.GetNumber(), &github.ListReactionOptions{
ListOptions: github.ListOptions{
Page: i,
PerPage: perPage,
},
Page: i,
PerPage: perPage,
})
if err != nil {
return nil, false, err
@@ -529,9 +525,7 @@ func (g *GithubDownloaderV3) getComments(ctx context.Context, commentable base.C
opt := &github.IssueListCommentsOptions{
Sort: &created,
Direction: &asc,
ListOptions: github.ListOptions{
PerPage: g.maxPerPage,
},
PerPage: g.maxPerPage,
}
for {
g.waitAndPickClient(ctx)
@@ -547,10 +541,8 @@ func (g *GithubDownloaderV3) getComments(ctx context.Context, commentable base.C
for i := 1; ; i++ {
g.waitAndPickClient(ctx)
res, resp, err := g.getClient().Reactions.ListIssueCommentReactions(ctx, g.repoOwner, g.repoName, comment.GetID(), &github.ListReactionOptions{
ListOptions: github.ListOptions{
Page: i,
PerPage: g.maxPerPage,
},
Page: i,
PerPage: g.maxPerPage,
})
if err != nil {
return nil, err
@@ -602,10 +594,8 @@ func (g *GithubDownloaderV3) GetAllComments(ctx context.Context, page, perPage i
opt := &github.IssueListCommentsOptions{
Sort: &created,
Direction: &asc,
ListOptions: github.ListOptions{
Page: page,
PerPage: perPage,
},
Page: page,
PerPage: perPage,
}
g.waitAndPickClient(ctx)
@@ -624,10 +614,8 @@ func (g *GithubDownloaderV3) GetAllComments(ctx context.Context, page, perPage i
for i := 1; ; i++ {
g.waitAndPickClient(ctx)
res, resp, err := g.getClient().Reactions.ListIssueCommentReactions(ctx, g.repoOwner, g.repoName, comment.GetID(), &github.ListReactionOptions{
ListOptions: github.ListOptions{
Page: i,
PerPage: g.maxPerPage,
},
Page: i,
PerPage: g.maxPerPage,
})
if err != nil {
return nil, false, err
@@ -672,10 +660,8 @@ func (g *GithubDownloaderV3) GetPullRequests(ctx context.Context, page, perPage
Sort: "created",
Direction: "asc",
State: "all",
ListOptions: github.ListOptions{
PerPage: perPage,
Page: page,
},
PerPage: perPage,
Page: page,
}
allPRs := make([]*base.PullRequest, 0, perPage)
g.waitAndPickClient(ctx)
@@ -697,10 +683,8 @@ func (g *GithubDownloaderV3) GetPullRequests(ctx context.Context, page, perPage
for i := 1; ; i++ {
g.waitAndPickClient(ctx)
res, resp, err := g.getClient().Reactions.ListIssueReactions(ctx, g.repoOwner, g.repoName, pr.GetNumber(), &github.ListReactionOptions{
ListOptions: github.ListOptions{
Page: i,
PerPage: perPage,
},
Page: i,
PerPage: perPage,
})
if err != nil {
return nil, false, err
@@ -786,10 +770,8 @@ func (g *GithubDownloaderV3) convertGithubReviewComments(ctx context.Context, cs
for i := 1; ; i++ {
g.waitAndPickClient(ctx)
res, resp, err := g.getClient().Reactions.ListPullRequestCommentReactions(ctx, g.repoOwner, g.repoName, c.GetID(), &github.ListReactionOptions{
ListOptions: github.ListOptions{
Page: i,
PerPage: g.maxPerPage,
},
Page: i,
PerPage: g.maxPerPage,
})
if err != nil {
return nil, err
+24 -40
View File
@@ -210,11 +210,9 @@ func (g *GitlabDownloader) GetMilestones(ctx context.Context) ([]*base.Milestone
milestones := make([]*base.Milestone, 0, perPage)
for i := 1; ; i++ {
ms, _, err := g.client.Milestones.ListMilestones(g.repoID, &gitlab.ListMilestonesOptions{
State: &state,
ListOptions: gitlab.ListOptions{
Page: int64(i),
PerPage: int64(perPage),
},
State: &state,
Page: int64(i),
PerPage: int64(perPage),
}, nil, gitlab.WithContext(ctx))
if err != nil {
return nil, err
@@ -280,10 +278,10 @@ func (g *GitlabDownloader) GetLabels(ctx context.Context) ([]*base.Label, error)
perPage := g.maxPerPage
labels := make([]*base.Label, 0, perPage)
for i := 1; ; i++ {
ls, _, err := g.client.Labels.ListLabels(g.repoID, &gitlab.ListLabelsOptions{ListOptions: gitlab.ListOptions{
ls, _, err := g.client.Labels.ListLabels(g.repoID, &gitlab.ListLabelsOptions{
Page: int64(i),
PerPage: int64(perPage),
}}, nil, gitlab.WithContext(ctx))
}, nil, gitlab.WithContext(ctx))
if err != nil {
return nil, err
}
@@ -358,10 +356,8 @@ func (g *GitlabDownloader) GetReleases(ctx context.Context) ([]*base.Release, er
releases := make([]*base.Release, 0, perPage)
for i := 1; ; i++ {
ls, _, err := g.client.Releases.ListReleases(g.repoID, &gitlab.ListReleasesOptions{
ListOptions: gitlab.ListOptions{
Page: int64(i),
PerPage: int64(perPage),
},
Page: int64(i),
PerPage: int64(perPage),
}, nil, gitlab.WithContext(ctx))
if err != nil {
return nil, err
@@ -393,12 +389,10 @@ func (g *GitlabDownloader) GetIssues(ctx context.Context, page, perPage int) ([]
}
opt := &gitlab.ListProjectIssuesOptions{
State: &state,
Sort: &sort,
ListOptions: gitlab.ListOptions{
PerPage: int64(perPage),
Page: int64(page),
},
State: &state,
Sort: &sort,
PerPage: int64(perPage),
Page: int64(page),
}
allIssues := make([]*base.Issue, 0, perPage)
@@ -423,7 +417,7 @@ func (g *GitlabDownloader) GetIssues(ctx context.Context, page, perPage int) ([]
var reactions []*gitlab.AwardEmoji
awardPage := 1
for {
awards, _, err := g.client.AwardEmoji.ListIssueAwardEmoji(g.repoID, issue.IID, &gitlab.ListAwardEmojiOptions{ListOptions: gitlab.ListOptions{Page: int64(awardPage), PerPage: int64(perPage)}}, gitlab.WithContext(ctx))
awards, _, err := g.client.AwardEmoji.ListIssueAwardEmoji(g.repoID, issue.IID, &gitlab.ListAwardEmojiOptions{Page: int64(awardPage), PerPage: int64(perPage)}, gitlab.WithContext(ctx))
if err != nil {
return nil, false, fmt.Errorf("error while listing issue awards: %w", err)
}
@@ -480,17 +474,13 @@ func (g *GitlabDownloader) GetComments(ctx context.Context, commentable base.Com
var err error
if !context.IsMergeRequest {
comments, resp, err = g.client.Discussions.ListIssueDiscussions(g.repoID, commentable.GetForeignIndex(), &gitlab.ListIssueDiscussionsOptions{
ListOptions: gitlab.ListOptions{
Page: page,
PerPage: int64(g.maxPerPage),
},
Page: page,
PerPage: int64(g.maxPerPage),
}, nil, gitlab.WithContext(ctx))
} else {
comments, resp, err = g.client.Discussions.ListMergeRequestDiscussions(g.repoID, commentable.GetForeignIndex(), &gitlab.ListMergeRequestDiscussionsOptions{
ListOptions: gitlab.ListOptions{
Page: page,
PerPage: int64(g.maxPerPage),
},
Page: page,
PerPage: int64(g.maxPerPage),
}, nil, gitlab.WithContext(ctx))
}
@@ -515,17 +505,13 @@ func (g *GitlabDownloader) GetComments(ctx context.Context, commentable base.Com
var err error
if context.IsMergeRequest {
stateEvents, resp, err = g.client.ResourceStateEvents.ListMergeStateEvents(g.repoID, commentable.GetForeignIndex(), &gitlab.ListStateEventsOptions{
ListOptions: gitlab.ListOptions{
Page: page,
PerPage: int64(g.maxPerPage),
},
Page: page,
PerPage: int64(g.maxPerPage),
}, nil, gitlab.WithContext(ctx))
} else {
stateEvents, resp, err = g.client.ResourceStateEvents.ListIssueStateEvents(g.repoID, commentable.GetForeignIndex(), &gitlab.ListStateEventsOptions{
ListOptions: gitlab.ListOptions{
Page: page,
PerPage: int64(g.maxPerPage),
},
Page: page,
PerPage: int64(g.maxPerPage),
}, nil, gitlab.WithContext(ctx))
}
if err != nil {
@@ -606,11 +592,9 @@ func (g *GitlabDownloader) GetPullRequests(ctx context.Context, page, perPage in
view := "simple"
opt := &gitlab.ListProjectMergeRequestsOptions{
ListOptions: gitlab.ListOptions{
PerPage: int64(perPage),
Page: int64(page),
},
View: &view,
PerPage: int64(perPage),
Page: int64(page),
View: &view,
}
allPRs := make([]*base.PullRequest, 0, perPage)
@@ -668,7 +652,7 @@ func (g *GitlabDownloader) GetPullRequests(ctx context.Context, page, perPage in
var reactions []*gitlab.AwardEmoji
awardPage := 1
for {
awards, _, err := g.client.AwardEmoji.ListMergeRequestAwardEmoji(g.repoID, pr.IID, &gitlab.ListAwardEmojiOptions{ListOptions: gitlab.ListOptions{Page: int64(awardPage), PerPage: int64(perPage)}}, gitlab.WithContext(ctx))
awards, _, err := g.client.AwardEmoji.ListMergeRequestAwardEmoji(g.repoID, pr.IID, &gitlab.ListAwardEmojiOptions{Page: int64(awardPage), PerPage: int64(perPage)}, gitlab.WithContext(ctx))
if err != nil {
return nil, false, fmt.Errorf("error while listing merge requests awards: %w", err)
}
+2 -4
View File
@@ -45,10 +45,8 @@ func updateMigrationPosterIDByGitService(ctx context.Context, tp structs.GitServ
}
users, err := db.Find[user_model.ExternalLoginUser](ctx, user_model.FindExternalUserOptions{
ListOptions: db.ListOptions{
PageSize: batchSize,
Page: page,
},
PageSize: batchSize,
Page: page,
Provider: provider,
OrderBy: "login_source_id ASC, external_id ASC",
})