mirror of
https://github.com/woodpecker-ci/woodpecker.git
synced 2024-11-25 19:31:05 +00:00
Enable golangci linter stylecheck (#3167)
This PR only fixes error string formatting, log message strings are still mixed upper/lowercase (see https://github.com/woodpecker-ci/woodpecker/pull/3161#issuecomment-1885140649) and I'm not aware of a linter to enforce it.
This commit is contained in:
parent
00df53e941
commit
7756c60a33
58 changed files with 126 additions and 129 deletions
|
@ -163,6 +163,7 @@ linters:
|
|||
- whitespace
|
||||
- gocritic
|
||||
- nolintlint
|
||||
- stylecheck
|
||||
|
||||
run:
|
||||
timeout: 15m
|
||||
|
|
|
@ -64,7 +64,6 @@ func FormatFlag(tmpl string, hidden ...bool) *cli.StringFlag {
|
|||
}
|
||||
}
|
||||
|
||||
// specify repository
|
||||
var RepoFlag = &cli.StringFlag{
|
||||
Name: "repository",
|
||||
Aliases: []string{"repo"},
|
||||
|
|
|
@ -97,7 +97,7 @@ func deploy(c *cli.Context) error {
|
|||
}
|
||||
}
|
||||
if number == 0 {
|
||||
return fmt.Errorf("Cannot deploy failure pipeline")
|
||||
return fmt.Errorf("cannot deploy failure pipeline")
|
||||
}
|
||||
} else {
|
||||
number, err = strconv.ParseInt(pipelineArg, 10, 64)
|
||||
|
@ -108,7 +108,7 @@ func deploy(c *cli.Context) error {
|
|||
|
||||
env := c.Args().Get(2)
|
||||
if env == "" {
|
||||
return fmt.Errorf("Please specify the target environment (ie production)")
|
||||
return fmt.Errorf("please specify the target environment (i.e. production)")
|
||||
}
|
||||
|
||||
params := internal.ParseKeyPair(c.StringSlice("param"))
|
||||
|
|
|
@ -41,7 +41,7 @@ func userInfo(c *cli.Context) error {
|
|||
|
||||
login := c.Args().First()
|
||||
if len(login) == 0 {
|
||||
return fmt.Errorf("Missing or invalid user login")
|
||||
return fmt.Errorf("missing or invalid user login")
|
||||
}
|
||||
|
||||
user, err := client.User(login)
|
||||
|
|
|
@ -255,7 +255,7 @@ func (e *kube) WaitStep(ctx context.Context, step *types.Step, taskUUID string)
|
|||
}
|
||||
|
||||
if isImagePullBackOffState(pod) {
|
||||
return nil, fmt.Errorf("Could not pull image for pod %s", pod.Name)
|
||||
return nil, fmt.Errorf("could not pull image for pod %s", pod.Name)
|
||||
}
|
||||
|
||||
bs := &types.State{
|
||||
|
|
|
@ -261,7 +261,7 @@ func (c *List) UnmarshalYAML(value *yaml.Node) error {
|
|||
|
||||
if err1 != nil && err2 != nil {
|
||||
y, _ := yaml.Marshal(value)
|
||||
return fmt.Errorf("Could not parse condition: %s: %w", y, multierr.Append(err1, err2))
|
||||
return fmt.Errorf("could not parse condition: %s: %w", y, multierr.Append(err1, err2))
|
||||
}
|
||||
|
||||
return nil
|
||||
|
@ -342,7 +342,7 @@ func (c *Path) UnmarshalYAML(value *yaml.Node) error {
|
|||
|
||||
if err1 != nil && err2 != nil {
|
||||
y, _ := yaml.Marshal(value)
|
||||
return fmt.Errorf("Could not parse condition: %s", y)
|
||||
return fmt.Errorf("could not parse condition: %s", y)
|
||||
}
|
||||
|
||||
return nil
|
||||
|
|
|
@ -36,29 +36,29 @@ func Lint(r io.Reader) ([]gojsonschema.ResultError, error) {
|
|||
// read yaml config
|
||||
rBytes, err := io.ReadAll(r)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("Failed to load yml file %w", err)
|
||||
return nil, fmt.Errorf("failed to load yml file %w", err)
|
||||
}
|
||||
|
||||
// resolve sequence merges
|
||||
yamlDoc := new(yaml.Node)
|
||||
if err := xyaml.Unmarshal(rBytes, yamlDoc); err != nil {
|
||||
return nil, fmt.Errorf("Failed to parse yml file %w", err)
|
||||
return nil, fmt.Errorf("failed to parse yml file %w", err)
|
||||
}
|
||||
|
||||
// convert to json
|
||||
jsonDoc, err := yaml2json.ConvertNode(yamlDoc)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("Failed to convert yaml %w", err)
|
||||
return nil, fmt.Errorf("failed to convert yaml %w", err)
|
||||
}
|
||||
|
||||
documentLoader := gojsonschema.NewBytesLoader(jsonDoc)
|
||||
result, err := gojsonschema.Validate(schemaLoader, documentLoader)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("Validation failed %w", err)
|
||||
return nil, fmt.Errorf("validation failed %w", err)
|
||||
}
|
||||
|
||||
if !result.Valid() {
|
||||
return result.Errors(), fmt.Errorf("Config not valid")
|
||||
return result.Errors(), fmt.Errorf("config not valid")
|
||||
}
|
||||
|
||||
return nil, nil
|
||||
|
|
|
@ -104,7 +104,7 @@ bars: []
|
|||
func TestUnmarshalSliceOrMap(t *testing.T) {
|
||||
s := StructSliceorMap{}
|
||||
err := yaml.Unmarshal([]byte(sampleStructSliceorMap), &s)
|
||||
assert.Equal(t, fmt.Errorf("Cannot unmarshal 'true' of type bool into a string value"), err)
|
||||
assert.Equal(t, fmt.Errorf("cannot unmarshal 'true' of type bool into a string value"), err)
|
||||
}
|
||||
|
||||
func TestStr2SliceOrMapPtrMap(t *testing.T) {
|
||||
|
|
|
@ -42,7 +42,7 @@ func (s *StringOrInt) UnmarshalYAML(unmarshal func(any) error) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
return errors.New("Failed to unmarshal StringOrInt")
|
||||
return errors.New("failed to unmarshal StringOrInt")
|
||||
}
|
||||
|
||||
// MemStringOrInt represents a string or an integer
|
||||
|
@ -67,5 +67,5 @@ func (s *MemStringOrInt) UnmarshalYAML(unmarshal func(any) error) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
return errors.New("Failed to unmarshal MemStringOrInt")
|
||||
return errors.New("failed to unmarshal MemStringOrInt")
|
||||
}
|
||||
|
|
|
@ -40,7 +40,7 @@ func (s *SliceOrMap) UnmarshalYAML(unmarshal func(any) error) error {
|
|||
}
|
||||
parts[key] = val
|
||||
} else {
|
||||
return fmt.Errorf("Cannot unmarshal '%v' of type %T into a string value", s, s)
|
||||
return fmt.Errorf("cannot unmarshal '%v' of type %T into a string value", s, s)
|
||||
}
|
||||
}
|
||||
*s = parts
|
||||
|
@ -55,15 +55,15 @@ func (s *SliceOrMap) UnmarshalYAML(unmarshal func(any) error) error {
|
|||
if sv, ok := v.(string); ok {
|
||||
parts[sk] = sv
|
||||
} else {
|
||||
return fmt.Errorf("Cannot unmarshal '%v' of type %T into a string value", v, v)
|
||||
return fmt.Errorf("cannot unmarshal '%v' of type %T into a string value", v, v)
|
||||
}
|
||||
} else {
|
||||
return fmt.Errorf("Cannot unmarshal '%v' of type %T into a string value", k, k)
|
||||
return fmt.Errorf("cannot unmarshal '%v' of type %T into a string value", k, k)
|
||||
}
|
||||
}
|
||||
*s = parts
|
||||
return nil
|
||||
}
|
||||
|
||||
return errors.New("Failed to unmarshal SliceOrMap")
|
||||
return errors.New("failed to unmarshal SliceOrMap")
|
||||
}
|
||||
|
|
|
@ -41,7 +41,7 @@ func (s *StringOrSlice) UnmarshalYAML(unmarshal func(any) error) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
return errors.New("Failed to unmarshal StringOrSlice")
|
||||
return errors.New("failed to unmarshal StringOrSlice")
|
||||
}
|
||||
|
||||
func toStrings(s []any) ([]string, error) {
|
||||
|
@ -53,7 +53,7 @@ func toStrings(s []any) ([]string, error) {
|
|||
if sv, ok := v.(string); ok {
|
||||
r[k] = sv
|
||||
} else {
|
||||
return nil, fmt.Errorf("Cannot unmarshal '%v' of type %T into a string value", v, v)
|
||||
return nil, fmt.Errorf("cannot unmarshal '%v' of type %T into a string value", v, v)
|
||||
}
|
||||
}
|
||||
return r, nil
|
||||
|
|
|
@ -50,7 +50,7 @@ func (n *Networks) UnmarshalYAML(unmarshal func(any) error) error {
|
|||
for _, network := range sliceType {
|
||||
name, ok := network.(string)
|
||||
if !ok {
|
||||
return fmt.Errorf("Cannot unmarshal '%v' to type %T into a string value", name, name)
|
||||
return fmt.Errorf("cannot unmarshal '%v' to type %T into a string value", name, name)
|
||||
}
|
||||
n.Networks = append(n.Networks, &Network{
|
||||
Name: name,
|
||||
|
@ -65,7 +65,7 @@ func (n *Networks) UnmarshalYAML(unmarshal func(any) error) error {
|
|||
for mapKey, mapValue := range mapType {
|
||||
name, ok := mapKey.(string)
|
||||
if !ok {
|
||||
return fmt.Errorf("Cannot unmarshal '%v' to type %T into a string value", name, name)
|
||||
return fmt.Errorf("cannot unmarshal '%v' to type %T into a string value", name, name)
|
||||
}
|
||||
network, err := handleNetwork(name, mapValue)
|
||||
if err != nil {
|
||||
|
@ -76,7 +76,7 @@ func (n *Networks) UnmarshalYAML(unmarshal func(any) error) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
return errors.New("Failed to unmarshal Networks")
|
||||
return errors.New("failed to unmarshal Networks")
|
||||
}
|
||||
|
||||
func handleNetwork(name string, value any) (*Network, error) {
|
||||
|
@ -95,7 +95,7 @@ func handleNetwork(name string, value any) (*Network, error) {
|
|||
case "aliases":
|
||||
aliases, ok := mapValue.([]any)
|
||||
if !ok {
|
||||
return &Network{}, fmt.Errorf("Cannot unmarshal '%v' to type %T into a string value", aliases, aliases)
|
||||
return &Network{}, fmt.Errorf("cannot unmarshal '%v' to type %T into a string value", aliases, aliases)
|
||||
}
|
||||
network.Aliases = []string{}
|
||||
for _, alias := range aliases {
|
||||
|
@ -112,6 +112,6 @@ func handleNetwork(name string, value any) (*Network, error) {
|
|||
}
|
||||
return network, nil
|
||||
default:
|
||||
return &Network{}, fmt.Errorf("Failed to unmarshal Network: %#v", value)
|
||||
return &Network{}, fmt.Errorf("failed to unmarshal Network: %#v", value)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -64,7 +64,7 @@ func (v *Volumes) UnmarshalYAML(unmarshal func(any) error) error {
|
|||
for _, volume := range sliceType {
|
||||
name, ok := volume.(string)
|
||||
if !ok {
|
||||
return fmt.Errorf("Cannot unmarshal '%v' to type %T into a string value", name, name)
|
||||
return fmt.Errorf("cannot unmarshal '%v' to type %T into a string value", name, name)
|
||||
}
|
||||
elts := strings.SplitN(name, ":", 3)
|
||||
var vol *Volume
|
||||
|
@ -93,5 +93,5 @@ func (v *Volumes) UnmarshalYAML(unmarshal func(any) error) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
return errors.New("Failed to unmarshal Volumes")
|
||||
return errors.New("failed to unmarshal Volumes")
|
||||
}
|
||||
|
|
|
@ -65,7 +65,7 @@ func GetAgent(c *gin.Context) {
|
|||
|
||||
agent, err := store.FromContext(c).AgentFind(agentID)
|
||||
if err != nil {
|
||||
handleDbError(c, err)
|
||||
handleDBError(c, err)
|
||||
return
|
||||
}
|
||||
c.JSON(http.StatusOK, agent)
|
||||
|
@ -89,7 +89,7 @@ func GetAgentTasks(c *gin.Context) {
|
|||
|
||||
agent, err := store.FromContext(c).AgentFind(agentID)
|
||||
if err != nil {
|
||||
handleDbError(c, err)
|
||||
handleDBError(c, err)
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -132,7 +132,7 @@ func PatchAgent(c *gin.Context) {
|
|||
|
||||
agent, err := _store.AgentFind(agentID)
|
||||
if err != nil {
|
||||
handleDbError(c, err)
|
||||
handleDBError(c, err)
|
||||
return
|
||||
}
|
||||
agent.Name = in.Name
|
||||
|
@ -201,7 +201,7 @@ func DeleteAgent(c *gin.Context) {
|
|||
|
||||
agent, err := _store.AgentFind(agentID)
|
||||
if err != nil {
|
||||
handleDbError(c, err)
|
||||
handleDBError(c, err)
|
||||
return
|
||||
}
|
||||
if err = _store.AgentDelete(agent); err != nil {
|
||||
|
|
|
@ -62,7 +62,7 @@ func GetBadge(c *gin.Context) {
|
|||
}
|
||||
|
||||
if err != nil {
|
||||
handleDbError(c, err)
|
||||
handleDBError(c, err)
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -116,7 +116,7 @@ func GetCC(c *gin.Context) {
|
|||
}
|
||||
|
||||
if err != nil {
|
||||
handleDbError(c, err)
|
||||
handleDBError(c, err)
|
||||
return
|
||||
}
|
||||
|
||||
|
|
|
@ -49,7 +49,7 @@ func GetCron(c *gin.Context) {
|
|||
|
||||
cron, err := store.FromContext(c).CronFind(repo, id)
|
||||
if err != nil {
|
||||
handleDbError(c, err)
|
||||
handleDBError(c, err)
|
||||
return
|
||||
}
|
||||
c.JSON(http.StatusOK, cron)
|
||||
|
@ -76,7 +76,7 @@ func RunCron(c *gin.Context) {
|
|||
|
||||
cron, err := _store.CronFind(repo, id)
|
||||
if err != nil {
|
||||
handleDbError(c, err)
|
||||
handleDBError(c, err)
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -183,7 +183,7 @@ func PatchCron(c *gin.Context) {
|
|||
|
||||
cron, err := _store.CronFind(repo, id)
|
||||
if err != nil {
|
||||
handleDbError(c, err)
|
||||
handleDBError(c, err)
|
||||
return
|
||||
}
|
||||
if in.Branch != "" {
|
||||
|
@ -259,7 +259,7 @@ func DeleteCron(c *gin.Context) {
|
|||
return
|
||||
}
|
||||
if err := store.FromContext(c).CronDelete(repo, id); err != nil {
|
||||
handleDbError(c, err)
|
||||
handleDBError(c, err)
|
||||
return
|
||||
}
|
||||
c.Status(http.StatusNoContent)
|
||||
|
|
|
@ -62,7 +62,7 @@ func GetGlobalSecret(c *gin.Context) {
|
|||
name := c.Param("secret")
|
||||
secret, err := server.Config.Services.Secrets.GlobalSecretFind(name)
|
||||
if err != nil {
|
||||
handleDbError(c, err)
|
||||
handleDBError(c, err)
|
||||
return
|
||||
}
|
||||
c.JSON(http.StatusOK, secret.Copy())
|
||||
|
@ -122,7 +122,7 @@ func PatchGlobalSecret(c *gin.Context) {
|
|||
|
||||
secret, err := server.Config.Services.Secrets.GlobalSecretFind(name)
|
||||
if err != nil {
|
||||
handleDbError(c, err)
|
||||
handleDBError(c, err)
|
||||
return
|
||||
}
|
||||
if in.Value != "" {
|
||||
|
@ -158,7 +158,7 @@ func PatchGlobalSecret(c *gin.Context) {
|
|||
func DeleteGlobalSecret(c *gin.Context) {
|
||||
name := c.Param("secret")
|
||||
if err := server.Config.Services.Secrets.GlobalSecretDelete(name); err != nil {
|
||||
handleDbError(c, err)
|
||||
handleDBError(c, err)
|
||||
return
|
||||
}
|
||||
c.Status(http.StatusNoContent)
|
||||
|
|
|
@ -43,7 +43,7 @@ func handlePipelineErr(c *gin.Context, err error) {
|
|||
}
|
||||
}
|
||||
|
||||
func handleDbError(c *gin.Context, err error) {
|
||||
func handleDBError(c *gin.Context, err error) {
|
||||
if errors.Is(err, types.RecordNotExist) {
|
||||
c.AbortWithStatus(http.StatusNotFound)
|
||||
return
|
||||
|
|
|
@ -144,7 +144,7 @@ func PostHook(c *gin.Context) {
|
|||
repo, err := _store.GetRepoNameFallback(tmpRepo.ForgeRemoteID, tmpRepo.FullName)
|
||||
if err != nil {
|
||||
log.Error().Err(err).Msgf("failure to get repo %s from store", tmpRepo.FullName)
|
||||
handleDbError(c, err)
|
||||
handleDBError(c, err)
|
||||
return
|
||||
}
|
||||
if !repo.IsActive {
|
||||
|
|
|
@ -208,7 +208,7 @@ func GetLoginToken(c *gin.Context) {
|
|||
|
||||
user, err := _store.GetUserLogin(login)
|
||||
if err != nil {
|
||||
handleDbError(c, err)
|
||||
handleDBError(c, err)
|
||||
return
|
||||
}
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@ import (
|
|||
)
|
||||
|
||||
// errInvalidToken is returned when the api request token is invalid.
|
||||
var errInvalidToken = errors.New("Invalid or missing token")
|
||||
var errInvalidToken = errors.New("invalid or missing token")
|
||||
|
||||
// PromHandler will pass the call from /api/metrics/prometheus to prometheus
|
||||
func PromHandler() gin.HandlerFunc {
|
||||
|
|
|
@ -49,7 +49,7 @@ func GetOrg(c *gin.Context) {
|
|||
|
||||
org, err := _store.OrgGet(orgID)
|
||||
if err != nil {
|
||||
handleDbError(c, err)
|
||||
handleDBError(c, err)
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -122,7 +122,7 @@ func LookupOrg(c *gin.Context) {
|
|||
|
||||
org, err := _store.OrgFindByName(orgFullName)
|
||||
if err != nil {
|
||||
handleDbError(c, err)
|
||||
handleDBError(c, err)
|
||||
return
|
||||
}
|
||||
|
||||
|
|
|
@ -47,7 +47,7 @@ func GetOrgSecret(c *gin.Context) {
|
|||
|
||||
secret, err := server.Config.Services.Secrets.OrgSecretFind(orgID, name)
|
||||
if err != nil {
|
||||
handleDbError(c, err)
|
||||
handleDBError(c, err)
|
||||
return
|
||||
}
|
||||
c.JSON(http.StatusOK, secret.Copy())
|
||||
|
@ -152,7 +152,7 @@ func PatchOrgSecret(c *gin.Context) {
|
|||
|
||||
secret, err := server.Config.Services.Secrets.OrgSecretFind(orgID, name)
|
||||
if err != nil {
|
||||
handleDbError(c, err)
|
||||
handleDBError(c, err)
|
||||
return
|
||||
}
|
||||
if in.Value != "" {
|
||||
|
@ -195,7 +195,7 @@ func DeleteOrgSecret(c *gin.Context) {
|
|||
}
|
||||
|
||||
if err := server.Config.Services.Secrets.OrgSecretDelete(orgID, name); err != nil {
|
||||
handleDbError(c, err)
|
||||
handleDBError(c, err)
|
||||
return
|
||||
}
|
||||
c.Status(http.StatusNoContent)
|
||||
|
|
|
@ -65,7 +65,7 @@ func DeleteOrg(c *gin.Context) {
|
|||
|
||||
err = _store.OrgDelete(orgID)
|
||||
if err != nil {
|
||||
handleDbError(c, err)
|
||||
handleDBError(c, err)
|
||||
return
|
||||
}
|
||||
|
||||
|
|
|
@ -140,7 +140,7 @@ func GetPipeline(c *gin.Context) {
|
|||
|
||||
pl, err := _store.GetPipelineNumber(repo, num)
|
||||
if err != nil {
|
||||
handleDbError(c, err)
|
||||
handleDBError(c, err)
|
||||
return
|
||||
}
|
||||
if pl.Workflows, err = _store.WorkflowGetTree(pl); err != nil {
|
||||
|
@ -158,7 +158,7 @@ func GetPipelineLast(c *gin.Context) {
|
|||
|
||||
pl, err := _store.GetPipelineLast(repo, branch)
|
||||
if err != nil {
|
||||
handleDbError(c, err)
|
||||
handleDBError(c, err)
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -194,7 +194,7 @@ func GetStepLogs(c *gin.Context) {
|
|||
|
||||
pl, err := _store.GetPipelineNumber(repo, num)
|
||||
if err != nil {
|
||||
handleDbError(c, err)
|
||||
handleDBError(c, err)
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -206,7 +206,7 @@ func GetStepLogs(c *gin.Context) {
|
|||
|
||||
step, err := _store.StepLoad(stepID)
|
||||
if err != nil {
|
||||
handleDbError(c, err)
|
||||
handleDBError(c, err)
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -218,7 +218,7 @@ func GetStepLogs(c *gin.Context) {
|
|||
|
||||
logs, err := _store.LogFind(step)
|
||||
if err != nil {
|
||||
handleDbError(c, err)
|
||||
handleDBError(c, err)
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -246,7 +246,7 @@ func GetPipelineConfig(c *gin.Context) {
|
|||
|
||||
pl, err := _store.GetPipelineNumber(repo, num)
|
||||
if err != nil {
|
||||
handleDbError(c, err)
|
||||
handleDBError(c, err)
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -277,7 +277,7 @@ func CancelPipeline(c *gin.Context) {
|
|||
|
||||
pl, err := _store.GetPipelineNumber(repo, num)
|
||||
if err != nil {
|
||||
handleDbError(c, err)
|
||||
handleDBError(c, err)
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -308,7 +308,7 @@ func PostApproval(c *gin.Context) {
|
|||
|
||||
pl, err := _store.GetPipelineNumber(repo, num)
|
||||
if err != nil {
|
||||
handleDbError(c, err)
|
||||
handleDBError(c, err)
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -340,7 +340,7 @@ func PostDecline(c *gin.Context) {
|
|||
|
||||
pl, err := _store.GetPipelineNumber(repo, num)
|
||||
if err != nil {
|
||||
handleDbError(c, err)
|
||||
handleDBError(c, err)
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -394,13 +394,13 @@ func PostPipeline(c *gin.Context) {
|
|||
|
||||
user, err := _store.GetUser(repo.UserID)
|
||||
if err != nil {
|
||||
handleDbError(c, err)
|
||||
handleDBError(c, err)
|
||||
return
|
||||
}
|
||||
|
||||
pl, err := _store.GetPipelineNumber(repo, num)
|
||||
if err != nil {
|
||||
handleDbError(c, err)
|
||||
handleDBError(c, err)
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -467,7 +467,7 @@ func DeletePipelineLogs(c *gin.Context) {
|
|||
|
||||
pl, err := _store.GetPipelineNumber(repo, num)
|
||||
if err != nil {
|
||||
handleDbError(c, err)
|
||||
handleDBError(c, err)
|
||||
return
|
||||
}
|
||||
|
||||
|
|
|
@ -41,7 +41,7 @@ func GetRegistry(c *gin.Context) {
|
|||
)
|
||||
registry, err := server.Config.Services.Registries.RegistryFind(repo, name)
|
||||
if err != nil {
|
||||
handleDbError(c, err)
|
||||
handleDBError(c, err)
|
||||
return
|
||||
}
|
||||
c.JSON(200, registry.Copy())
|
||||
|
@ -110,7 +110,7 @@ func PatchRegistry(c *gin.Context) {
|
|||
|
||||
registry, err := server.Config.Services.Registries.RegistryFind(repo, name)
|
||||
if err != nil {
|
||||
handleDbError(c, err)
|
||||
handleDBError(c, err)
|
||||
return
|
||||
}
|
||||
if in.Username != "" {
|
||||
|
@ -180,7 +180,7 @@ func DeleteRegistry(c *gin.Context) {
|
|||
)
|
||||
err := server.Config.Services.Registries.RegistryDelete(repo, name)
|
||||
if err != nil {
|
||||
handleDbError(c, err)
|
||||
handleDBError(c, err)
|
||||
return
|
||||
}
|
||||
c.Status(http.StatusNoContent)
|
||||
|
|
|
@ -400,7 +400,7 @@ func DeleteRepo(c *gin.Context) {
|
|||
|
||||
if remove {
|
||||
if err := _store.DeleteRepo(repo); err != nil {
|
||||
handleDbError(c, err)
|
||||
handleDBError(c, err)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
|
|
@ -42,7 +42,7 @@ func GetSecret(c *gin.Context) {
|
|||
)
|
||||
secret, err := server.Config.Services.Secrets.SecretFind(repo, name)
|
||||
if err != nil {
|
||||
handleDbError(c, err)
|
||||
handleDBError(c, err)
|
||||
return
|
||||
}
|
||||
c.JSON(http.StatusOK, secret.Copy())
|
||||
|
@ -110,7 +110,7 @@ func PatchSecret(c *gin.Context) {
|
|||
|
||||
secret, err := server.Config.Services.Secrets.SecretFind(repo, name)
|
||||
if err != nil {
|
||||
handleDbError(c, err)
|
||||
handleDBError(c, err)
|
||||
return
|
||||
}
|
||||
if in.Value != "" {
|
||||
|
@ -176,7 +176,7 @@ func DeleteSecret(c *gin.Context) {
|
|||
name = c.Param("secret")
|
||||
)
|
||||
if err := server.Config.Services.Secrets.SecretDelete(repo, name); err != nil {
|
||||
handleDbError(c, err)
|
||||
handleDBError(c, err)
|
||||
return
|
||||
}
|
||||
c.Status(http.StatusNoContent)
|
||||
|
|
|
@ -59,7 +59,7 @@ func GetUsers(c *gin.Context) {
|
|||
func GetUser(c *gin.Context) {
|
||||
user, err := store.FromContext(c).GetUserLogin(c.Param("login"))
|
||||
if err != nil {
|
||||
handleDbError(c, err)
|
||||
handleDBError(c, err)
|
||||
return
|
||||
}
|
||||
c.JSON(http.StatusOK, user)
|
||||
|
@ -89,7 +89,7 @@ func PatchUser(c *gin.Context) {
|
|||
|
||||
user, err := _store.GetUserLogin(c.Param("login"))
|
||||
if err != nil {
|
||||
handleDbError(c, err)
|
||||
handleDBError(c, err)
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -159,11 +159,11 @@ func DeleteUser(c *gin.Context) {
|
|||
|
||||
user, err := _store.GetUserLogin(c.Param("login"))
|
||||
if err != nil {
|
||||
handleDbError(c, err)
|
||||
handleDBError(c, err)
|
||||
return
|
||||
}
|
||||
if err = _store.DeleteUser(user); err != nil {
|
||||
handleDbError(c, err)
|
||||
handleDBError(c, err)
|
||||
return
|
||||
}
|
||||
c.Status(http.StatusNoContent)
|
||||
|
|
|
@ -125,7 +125,7 @@ func (cf *configFetcher) fetch(c context.Context, timeout time.Duration, config
|
|||
case <-ctx.Done():
|
||||
return nil, ctx.Err()
|
||||
default:
|
||||
return []*types.FileMeta{}, fmt.Errorf("ConfigFetcher: Fallback did not find config: %w", err)
|
||||
return []*types.FileMeta{}, fmt.Errorf("configFetcher: fallback did not find config: %w", err)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -310,8 +310,8 @@ func TestFetch(t *testing.T) {
|
|||
}
|
||||
|
||||
// if the previous mocks do not match return not found errors
|
||||
f.On("File", mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(nil, fmt.Errorf("File not found"))
|
||||
f.On("Dir", mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(nil, fmt.Errorf("Directory not found"))
|
||||
f.On("File", mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(nil, fmt.Errorf("file not found"))
|
||||
f.On("Dir", mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(nil, fmt.Errorf("directory not found"))
|
||||
|
||||
configFetcher := forge.NewConfigFetcher(
|
||||
f,
|
||||
|
@ -516,8 +516,8 @@ func TestFetchFromConfigService(t *testing.T) {
|
|||
}
|
||||
|
||||
// if the previous mocks do not match return not found errors
|
||||
f.On("File", mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(nil, fmt.Errorf("File not found"))
|
||||
f.On("Dir", mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(nil, fmt.Errorf("Directory not found"))
|
||||
f.On("File", mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(nil, fmt.Errorf("file not found"))
|
||||
f.On("Dir", mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(nil, fmt.Errorf("directory not found"))
|
||||
|
||||
f.On("Netrc", mock.Anything, mock.Anything).Return(&model.Netrc{Machine: "mock", Login: "mock", Password: "mock"}, nil)
|
||||
|
||||
|
|
|
@ -39,7 +39,6 @@ import (
|
|||
"go.woodpecker-ci.org/woodpecker/v2/server"
|
||||
"go.woodpecker-ci.org/woodpecker/v2/server/forge"
|
||||
"go.woodpecker-ci.org/woodpecker/v2/server/forge/common"
|
||||
"go.woodpecker-ci.org/woodpecker/v2/server/forge/types"
|
||||
forge_types "go.woodpecker-ci.org/woodpecker/v2/server/forge/types"
|
||||
"go.woodpecker-ci.org/woodpecker/v2/server/model"
|
||||
"go.woodpecker-ci.org/woodpecker/v2/server/store"
|
||||
|
@ -292,7 +291,7 @@ func (c *Gitea) File(ctx context.Context, u *model.User, r *model.Repo, b *model
|
|||
|
||||
cfg, resp, err := client.GetFile(r.Owner, r.Name, b.Commit, f)
|
||||
if err != nil && resp != nil && resp.StatusCode == http.StatusNotFound {
|
||||
return nil, errors.Join(err, &types.ErrConfigNotFound{Configs: []string{f}})
|
||||
return nil, errors.Join(err, &forge_types.ErrConfigNotFound{Configs: []string{f}})
|
||||
}
|
||||
return cfg, err
|
||||
}
|
||||
|
@ -318,7 +317,7 @@ func (c *Gitea) Dir(ctx context.Context, u *model.User, r *model.Repo, b *model.
|
|||
if m, _ := filepath.Match(f, e.Path); m && e.Type == "blob" {
|
||||
data, err := c.File(ctx, u, r, b, e.Path)
|
||||
if err != nil {
|
||||
if errors.Is(err, &types.ErrConfigNotFound{}) {
|
||||
if errors.Is(err, &forge_types.ErrConfigNotFound{}) {
|
||||
return nil, fmt.Errorf("git tree reported existence of file but we got: %s", err.Error())
|
||||
}
|
||||
return nil, fmt.Errorf("multi-pipeline cannot get %s: %w", e.Path, err)
|
||||
|
@ -402,10 +401,10 @@ func (c *Gitea) Activate(ctx context.Context, u *model.User, r *model.Repo, link
|
|||
if err != nil {
|
||||
if response != nil {
|
||||
if response.StatusCode == 404 {
|
||||
return fmt.Errorf("Could not find repository")
|
||||
return fmt.Errorf("could not find repository")
|
||||
}
|
||||
if response.StatusCode == 200 {
|
||||
return fmt.Errorf("Could not find repository, repository was probably renamed")
|
||||
return fmt.Errorf("could not find repository, repository was probably renamed")
|
||||
}
|
||||
}
|
||||
return err
|
||||
|
|
|
@ -33,7 +33,6 @@ import (
|
|||
"go.woodpecker-ci.org/woodpecker/v2/server"
|
||||
"go.woodpecker-ci.org/woodpecker/v2/server/forge"
|
||||
"go.woodpecker-ci.org/woodpecker/v2/server/forge/common"
|
||||
"go.woodpecker-ci.org/woodpecker/v2/server/forge/types"
|
||||
forge_types "go.woodpecker-ci.org/woodpecker/v2/server/forge/types"
|
||||
"go.woodpecker-ci.org/woodpecker/v2/server/model"
|
||||
"go.woodpecker-ci.org/woodpecker/v2/server/store"
|
||||
|
@ -132,7 +131,7 @@ func (c *client) Login(ctx context.Context, res http.ResponseWriter, req *http.R
|
|||
}
|
||||
email := matchingEmail(emails, c.API)
|
||||
if email == nil {
|
||||
return nil, fmt.Errorf("No verified Email address for GitHub account")
|
||||
return nil, fmt.Errorf("no verified Email address for GitHub account")
|
||||
}
|
||||
|
||||
return &model.User{
|
||||
|
@ -230,7 +229,7 @@ func (c *client) File(ctx context.Context, u *model.User, r *model.Repo, b *mode
|
|||
opts.Ref = b.Commit
|
||||
content, _, resp, err := client.Repositories.GetContents(ctx, r.Owner, r.Name, f, opts)
|
||||
if resp != nil && resp.StatusCode == http.StatusNotFound {
|
||||
return nil, errors.Join(err, &types.ErrConfigNotFound{Configs: []string{f}})
|
||||
return nil, errors.Join(err, &forge_types.ErrConfigNotFound{Configs: []string{f}})
|
||||
}
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
@ -249,7 +248,7 @@ func (c *client) Dir(ctx context.Context, u *model.User, r *model.Repo, b *model
|
|||
opts.Ref = b.Commit
|
||||
_, data, resp, err := client.Repositories.GetContents(ctx, r.Owner, r.Name, f, opts)
|
||||
if resp != nil && resp.StatusCode == http.StatusNotFound {
|
||||
return nil, errors.Join(err, &types.ErrConfigNotFound{Configs: []string{f}})
|
||||
return nil, errors.Join(err, &forge_types.ErrConfigNotFound{Configs: []string{f}})
|
||||
}
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
@ -262,7 +261,7 @@ func (c *client) Dir(ctx context.Context, u *model.User, r *model.Repo, b *model
|
|||
go func(path string) {
|
||||
content, err := c.File(ctx, u, r, b, path)
|
||||
if err != nil {
|
||||
if errors.Is(err, &types.ErrConfigNotFound{}) {
|
||||
if errors.Is(err, &forge_types.ErrConfigNotFound{}) {
|
||||
err = fmt.Errorf("git tree reported existence of file but we got: %s", err.Error())
|
||||
}
|
||||
errc <- err
|
||||
|
|
|
@ -256,7 +256,7 @@ func getUserAvatar(email string) string {
|
|||
func extractFromPath(str string) (string, string, error) {
|
||||
s := strings.Split(str, "/")
|
||||
if len(s) < 2 {
|
||||
return "", "", fmt.Errorf("Minimum match not found")
|
||||
return "", "", fmt.Errorf("minimum match not found")
|
||||
}
|
||||
return s[0], s[1], nil
|
||||
}
|
||||
|
|
|
@ -34,7 +34,6 @@ import (
|
|||
"go.woodpecker-ci.org/woodpecker/v2/server"
|
||||
"go.woodpecker-ci.org/woodpecker/v2/server/forge"
|
||||
"go.woodpecker-ci.org/woodpecker/v2/server/forge/common"
|
||||
"go.woodpecker-ci.org/woodpecker/v2/server/forge/types"
|
||||
forge_types "go.woodpecker-ci.org/woodpecker/v2/server/forge/types"
|
||||
"go.woodpecker-ci.org/woodpecker/v2/server/model"
|
||||
"go.woodpecker-ci.org/woodpecker/v2/server/store"
|
||||
|
@ -127,7 +126,7 @@ func (g *GitLab) Login(ctx context.Context, res http.ResponseWriter, req *http.R
|
|||
|
||||
token, err := config.Exchange(oauth2Ctx, code)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("Error exchanging token. %w", err)
|
||||
return nil, fmt.Errorf("error exchanging token: %w", err)
|
||||
}
|
||||
|
||||
client, err := newClient(g.url, token.AccessToken, g.SkipVerify)
|
||||
|
@ -345,7 +344,7 @@ func (g *GitLab) File(ctx context.Context, user *model.User, repo *model.Repo, p
|
|||
}
|
||||
file, resp, err := client.RepositoryFiles.GetRawFile(_repo.ID, fileName, &gitlab.GetRawFileOptions{Ref: &pipeline.Commit}, gitlab.WithContext(ctx))
|
||||
if resp != nil && resp.StatusCode == http.StatusNotFound {
|
||||
return nil, errors.Join(err, &types.ErrConfigNotFound{Configs: []string{fileName}})
|
||||
return nil, errors.Join(err, &forge_types.ErrConfigNotFound{Configs: []string{fileName}})
|
||||
}
|
||||
return file, err
|
||||
}
|
||||
|
@ -383,7 +382,7 @@ func (g *GitLab) Dir(ctx context.Context, user *model.User, repo *model.Repo, pi
|
|||
}
|
||||
data, err := g.File(ctx, user, repo, pipeline, batch[i].Path)
|
||||
if err != nil {
|
||||
if errors.Is(err, &types.ErrConfigNotFound{}) {
|
||||
if errors.Is(err, &forge_types.ErrConfigNotFound{}) {
|
||||
return nil, fmt.Errorf("git tree reported existence of file but we got: %s", err.Error())
|
||||
}
|
||||
return nil, err
|
||||
|
|
|
@ -41,7 +41,7 @@ func NewWoodpeckerAuthServer(jwtManager *JWTManager, agentMasterToken string, st
|
|||
func (s *WoodpeckerAuthServer) Auth(_ context.Context, req *proto.AuthRequest) (*proto.AuthResponse, error) {
|
||||
agent, err := s.getAgent(req.AgentId, req.AgentToken)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("Agent could not auth: %w", err)
|
||||
return nil, fmt.Errorf("agent could not auth: %w", err)
|
||||
}
|
||||
|
||||
accessToken, err := s.jwtManager.Generate(agent.ID)
|
||||
|
|
|
@ -269,7 +269,7 @@ func (s *RPC) Done(c context.Context, id string, state rpc.State) error {
|
|||
|
||||
var queueErr error
|
||||
if workflow.Failing() {
|
||||
queueErr = s.queue.Error(c, id, fmt.Errorf("Step finished with exit code %d, %s", state.ExitCode, state.Error))
|
||||
queueErr = s.queue.Error(c, id, fmt.Errorf("step finished with exit code %d, %s", state.ExitCode, state.Error))
|
||||
} else {
|
||||
queueErr = s.queue.Done(c, id, workflow.State)
|
||||
}
|
||||
|
@ -388,6 +388,7 @@ func (s *RPC) ReportHealth(ctx context.Context, status string) error {
|
|||
}
|
||||
|
||||
if status != "I am alive!" {
|
||||
//nolint:stylecheck
|
||||
return errors.New("Are you alive?")
|
||||
}
|
||||
|
||||
|
|
|
@ -21,9 +21,9 @@ import (
|
|||
)
|
||||
|
||||
var (
|
||||
errRegistryAddressInvalid = errors.New("Invalid Registry Address")
|
||||
errRegistryUsernameInvalid = errors.New("Invalid Registry Username")
|
||||
errRegistryPasswordInvalid = errors.New("Invalid Registry Password")
|
||||
errRegistryAddressInvalid = errors.New("invalid registry address")
|
||||
errRegistryUsernameInvalid = errors.New("invalid registry username")
|
||||
errRegistryPasswordInvalid = errors.New("invalid registry password")
|
||||
)
|
||||
|
||||
// RegistryService defines a service for managing registries.
|
||||
|
|
|
@ -23,10 +23,10 @@ import (
|
|||
)
|
||||
|
||||
var (
|
||||
ErrSecretNameInvalid = errors.New("Invalid Secret Name")
|
||||
ErrSecretImageInvalid = errors.New("Invalid Secret Image")
|
||||
ErrSecretValueInvalid = errors.New("Invalid Secret Value")
|
||||
ErrSecretEventInvalid = errors.New("Invalid Secret Event")
|
||||
ErrSecretNameInvalid = errors.New("invalid secret name")
|
||||
ErrSecretImageInvalid = errors.New("invalid secret image")
|
||||
ErrSecretValueInvalid = errors.New("invalid secret value")
|
||||
ErrSecretEventInvalid = errors.New("invalid secret event")
|
||||
)
|
||||
|
||||
// SecretService defines a service for managing secrets.
|
||||
|
|
|
@ -25,7 +25,6 @@ import (
|
|||
"go.uber.org/multierr"
|
||||
|
||||
backend_types "go.woodpecker-ci.org/woodpecker/v2/pipeline/backend/types"
|
||||
"go.woodpecker-ci.org/woodpecker/v2/pipeline/errors"
|
||||
pipeline_errors "go.woodpecker-ci.org/woodpecker/v2/pipeline/errors"
|
||||
yaml_types "go.woodpecker-ci.org/woodpecker/v2/pipeline/frontend/yaml/types"
|
||||
forge_types "go.woodpecker-ci.org/woodpecker/v2/server/forge/types"
|
||||
|
@ -137,7 +136,7 @@ func (b *StepBuilder) genItemForWorkflow(workflow *model.Workflow, axis matrix.A
|
|||
// parse yaml pipeline
|
||||
parsed, err := yaml.ParseString(substituted)
|
||||
if err != nil {
|
||||
return nil, &errors.PipelineError{Message: err.Error(), Type: errors.PipelineErrorTypeCompiler}
|
||||
return nil, &pipeline_errors.PipelineError{Message: err.Error(), Type: pipeline_errors.PipelineErrorTypeCompiler}
|
||||
}
|
||||
|
||||
// lint pipeline
|
||||
|
|
|
@ -66,7 +66,7 @@ func (cp *http) FetchConfig(ctx context.Context, repo *model.Repo, pipeline *mod
|
|||
|
||||
status, err := utils.Send(ctx, "POST", cp.endpoint, cp.privateKey, body, response)
|
||||
if err != nil && status != 204 {
|
||||
return nil, false, fmt.Errorf("Failed to fetch config via http (%d) %w", status, err)
|
||||
return nil, false, fmt.Errorf("failed to fetch config via http (%d) %w", status, err)
|
||||
}
|
||||
|
||||
var newFileMeta []*forge_types.FileMeta
|
||||
|
|
|
@ -111,11 +111,11 @@ func decodeAuth(authStr string) (string, string, error) {
|
|||
return "", "", err
|
||||
}
|
||||
if n > decLen {
|
||||
return "", "", fmt.Errorf("Something went wrong decoding auth config")
|
||||
return "", "", fmt.Errorf("something went wrong decoding auth config")
|
||||
}
|
||||
arr := strings.SplitN(string(decoded), ":", 2)
|
||||
if len(arr) != 2 {
|
||||
return "", "", fmt.Errorf("Invalid auth configuration file")
|
||||
return "", "", fmt.Errorf("invalid auth configuration file")
|
||||
}
|
||||
password := strings.Trim(arr[1], "\x00")
|
||||
return arr[0], password, nil
|
||||
|
|
|
@ -71,7 +71,7 @@ func Send(ctx context.Context, method, path string, privateKey crypto.PrivateKey
|
|||
return resp.StatusCode, err
|
||||
}
|
||||
|
||||
return resp.StatusCode, fmt.Errorf("Response: %s", string(body))
|
||||
return resp.StatusCode, fmt.Errorf("response: %s", string(body))
|
||||
}
|
||||
|
||||
// if no other errors parse and return the json response.
|
||||
|
|
|
@ -20,7 +20,7 @@ import (
|
|||
"go.woodpecker-ci.org/woodpecker/v2/server/model"
|
||||
)
|
||||
|
||||
var ErrNoTokenProvided = errors.New("Please provide a token")
|
||||
var ErrNoTokenProvided = errors.New("please provide a token")
|
||||
|
||||
func (s storage) AgentList(p *model.ListOptions) ([]*model.Agent, error) {
|
||||
var agents []*model.Agent
|
||||
|
|
|
@ -113,7 +113,7 @@ func Migrate(e *xorm.Engine, allowLong bool) error {
|
|||
func syncAll(sess *xorm.Engine) error {
|
||||
for _, bean := range allBeans {
|
||||
if err := sess.Sync(bean); err != nil {
|
||||
return fmt.Errorf("Sync error '%s': %w", reflect.TypeOf(bean), err)
|
||||
return fmt.Errorf("sync error '%s': %w", reflect.TypeOf(bean), err)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
|
|
Loading…
Reference in a new issue