mirror of
https://github.com/woodpecker-ci/woodpecker.git
synced 2025-10-22 05:47:57 +00:00
Rework addons (use rpc) (#3268)
Co-authored-by: Anbraten <6918444+anbraten@users.noreply.github.com>
This commit is contained in:
@@ -3969,7 +3969,7 @@ const docTemplate = `{
|
||||
"errors": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/errors.PipelineError"
|
||||
"$ref": "#/definitions/types.PipelineError"
|
||||
}
|
||||
},
|
||||
"event": {
|
||||
@@ -4455,45 +4455,6 @@ const docTemplate = `{
|
||||
"EventManual"
|
||||
]
|
||||
},
|
||||
"errors.PipelineError": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"data": {},
|
||||
"is_warning": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"message": {
|
||||
"type": "string"
|
||||
},
|
||||
"type": {
|
||||
"$ref": "#/definitions/errors.PipelineErrorType"
|
||||
}
|
||||
}
|
||||
},
|
||||
"errors.PipelineErrorType": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"linter",
|
||||
"deprecation",
|
||||
"compiler",
|
||||
"generic",
|
||||
"bad_habit"
|
||||
],
|
||||
"x-enum-comments": {
|
||||
"PipelineErrorTypeBadHabit": "some bad-habit error",
|
||||
"PipelineErrorTypeCompiler": "some error with the config semantics",
|
||||
"PipelineErrorTypeDeprecation": "using some deprecated feature",
|
||||
"PipelineErrorTypeGeneric": "some generic error",
|
||||
"PipelineErrorTypeLinter": "some error with the config syntax"
|
||||
},
|
||||
"x-enum-varnames": [
|
||||
"PipelineErrorTypeLinter",
|
||||
"PipelineErrorTypeDeprecation",
|
||||
"PipelineErrorTypeCompiler",
|
||||
"PipelineErrorTypeGeneric",
|
||||
"PipelineErrorTypeBadHabit"
|
||||
]
|
||||
},
|
||||
"model.Workflow": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
@@ -4540,6 +4501,45 @@ const docTemplate = `{
|
||||
"$ref": "#/definitions/StatusValue"
|
||||
}
|
||||
}
|
||||
},
|
||||
"types.PipelineError": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"data": {},
|
||||
"is_warning": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"message": {
|
||||
"type": "string"
|
||||
},
|
||||
"type": {
|
||||
"$ref": "#/definitions/types.PipelineErrorType"
|
||||
}
|
||||
}
|
||||
},
|
||||
"types.PipelineErrorType": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"linter",
|
||||
"deprecation",
|
||||
"compiler",
|
||||
"generic",
|
||||
"bad_habit"
|
||||
],
|
||||
"x-enum-comments": {
|
||||
"PipelineErrorTypeBadHabit": "some bad-habit error",
|
||||
"PipelineErrorTypeCompiler": "some error with the config semantics",
|
||||
"PipelineErrorTypeDeprecation": "using some deprecated feature",
|
||||
"PipelineErrorTypeGeneric": "some generic error",
|
||||
"PipelineErrorTypeLinter": "some error with the config syntax"
|
||||
},
|
||||
"x-enum-varnames": [
|
||||
"PipelineErrorTypeLinter",
|
||||
"PipelineErrorTypeDeprecation",
|
||||
"PipelineErrorTypeCompiler",
|
||||
"PipelineErrorTypeGeneric",
|
||||
"PipelineErrorTypeBadHabit"
|
||||
]
|
||||
}
|
||||
}
|
||||
}`
|
||||
|
@@ -246,10 +246,10 @@ var flags = append([]cli.Flag{
|
||||
Usage: "Disable version check in admin web ui.",
|
||||
Name: "skip-version-check",
|
||||
},
|
||||
&cli.StringSliceFlag{
|
||||
EnvVars: []string{"WOODPECKER_ADDONS"},
|
||||
Name: "addons",
|
||||
Usage: "list of addon files",
|
||||
&cli.StringFlag{
|
||||
EnvVars: []string{"WOODPECKER_ADDON_FORGE"},
|
||||
Name: "addon-forge",
|
||||
Usage: "forge addon",
|
||||
},
|
||||
//
|
||||
// backend options for pipeline compiler
|
||||
|
@@ -32,6 +32,7 @@ import (
|
||||
"go.woodpecker-ci.org/woodpecker/v2/server"
|
||||
"go.woodpecker-ci.org/woodpecker/v2/server/cache"
|
||||
"go.woodpecker-ci.org/woodpecker/v2/server/forge"
|
||||
"go.woodpecker-ci.org/woodpecker/v2/server/forge/addon"
|
||||
"go.woodpecker-ci.org/woodpecker/v2/server/forge/bitbucket"
|
||||
"go.woodpecker-ci.org/woodpecker/v2/server/forge/bitbucketdatacenter"
|
||||
"go.woodpecker-ci.org/woodpecker/v2/server/forge/gitea"
|
||||
@@ -40,8 +41,6 @@ import (
|
||||
"go.woodpecker-ci.org/woodpecker/v2/server/queue"
|
||||
"go.woodpecker-ci.org/woodpecker/v2/server/store"
|
||||
"go.woodpecker-ci.org/woodpecker/v2/server/store/datastore"
|
||||
"go.woodpecker-ci.org/woodpecker/v2/shared/addon"
|
||||
addonTypes "go.woodpecker-ci.org/woodpecker/v2/shared/addon/types"
|
||||
)
|
||||
|
||||
func setupStore(c *cli.Context) (store.Store, error) {
|
||||
@@ -107,15 +106,9 @@ func setupMembershipService(_ *cli.Context, r forge.Forge) cache.MembershipServi
|
||||
|
||||
// setupForge helper function to set up the forge from the CLI arguments.
|
||||
func setupForge(c *cli.Context) (forge.Forge, error) {
|
||||
addonForge, err := addon.Load[forge.Forge](c.StringSlice("addons"), addonTypes.TypeForge)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if addonForge != nil {
|
||||
return addonForge.Value, nil
|
||||
}
|
||||
|
||||
switch {
|
||||
case c.String("addon-forge") != "":
|
||||
return addon.Load(c.String("addon-forge"))
|
||||
case c.Bool("github"):
|
||||
return setupGitHub(c)
|
||||
case c.Bool("gitlab"):
|
||||
|
Reference in New Issue
Block a user