You've already forked woodpecker
							
							
				mirror of
				https://github.com/woodpecker-ci/woodpecker.git
				synced 2025-10-30 23:27:39 +02:00 
			
		
		
		
	inject globals
This commit is contained in:
		| @@ -2,7 +2,6 @@ package model | ||||
|  | ||||
| import ( | ||||
| 	"errors" | ||||
| 	"path/filepath" | ||||
| ) | ||||
|  | ||||
| var ( | ||||
| @@ -23,24 +22,9 @@ type EnvironStore interface { | ||||
| // Environ represents an environment variable. | ||||
| // swagger:model environ | ||||
| type Environ struct { | ||||
| 	ID     int64    `json:"id"              meddler:"env_id,pk"` | ||||
| 	Name   string   `json:"name"            meddler:"env_name"` | ||||
| 	Value  string   `json:"value,omitempty" meddler:"env_value"` | ||||
| 	Images []string `json:"image"           meddler:"env_images,json"` | ||||
| 	Events []string `json:"event"           meddler:"env_events,json"` | ||||
| } | ||||
|  | ||||
| // Match returns true if an image and event match the restricted list. | ||||
| func (e *Environ) Match(event string) bool { | ||||
| 	if len(e.Events) == 0 { | ||||
| 		return true | ||||
| 	} | ||||
| 	for _, pattern := range e.Events { | ||||
| 		if match, _ := filepath.Match(pattern, event); match { | ||||
| 			return true | ||||
| 		} | ||||
| 	} | ||||
| 	return false | ||||
| 	ID    int64  `json:"id"              meddler:"env_id,pk"` | ||||
| 	Name  string `json:"name"            meddler:"env_name"` | ||||
| 	Value string `json:"value,omitempty" meddler:"env_value"` | ||||
| } | ||||
|  | ||||
| // Validate validates the required fields and formats. | ||||
| @@ -58,9 +42,7 @@ func (e *Environ) Validate() error { | ||||
| // Copy makes a copy of the environment variable without the value. | ||||
| func (e *Environ) Copy() *Environ { | ||||
| 	return &Environ{ | ||||
| 		ID:     e.ID, | ||||
| 		Name:   e.Name, | ||||
| 		Images: e.Images, | ||||
| 		Events: e.Events, | ||||
| 		ID:   e.ID, | ||||
| 		Name: e.Name, | ||||
| 	} | ||||
| } | ||||
|   | ||||
| @@ -205,6 +205,13 @@ func PostApproval(c *gin.Context) { | ||||
| 	if err != nil { | ||||
| 		logrus.Debugf("Error getting registry credentials for %s#%d. %s", repo.FullName, build.Number, err) | ||||
| 	} | ||||
| 	envs := map[string]string{} | ||||
| 	if Config.Services.Environ != nil { | ||||
| 		globals, _ := Config.Services.Environ.EnvironList(repo) | ||||
| 		for _, global := range globals { | ||||
| 			envs[global.Name] = global.Value | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	defer func() { | ||||
| 		uri := fmt.Sprintf("%s/%s/%d", httputil.GetURL(c.Request), repo.FullName, build.Number) | ||||
| @@ -223,6 +230,7 @@ func PostApproval(c *gin.Context) { | ||||
| 		Regs:  regs, | ||||
| 		Link:  httputil.GetURL(c.Request), | ||||
| 		Yaml:  conf.Data, | ||||
| 		Envs:  envs, | ||||
| 	} | ||||
| 	items, err := b.Build() | ||||
| 	if err != nil { | ||||
| @@ -484,6 +492,12 @@ func PostBuild(c *gin.Context) { | ||||
| 	if err != nil { | ||||
| 		logrus.Debugf("Error getting registry credentials for %s#%d. %s", repo.FullName, build.Number, err) | ||||
| 	} | ||||
| 	if Config.Services.Environ != nil { | ||||
| 		globals, _ := Config.Services.Environ.EnvironList(repo) | ||||
| 		for _, global := range globals { | ||||
| 			buildParams[global.Name] = global.Value | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	b := builder{ | ||||
| 		Repo:  repo, | ||||
|   | ||||
| @@ -201,6 +201,14 @@ func PostHook(c *gin.Context) { | ||||
| 		return | ||||
| 	} | ||||
|  | ||||
| 	envs := map[string]string{} | ||||
| 	if Config.Services.Environ != nil { | ||||
| 		globals, _ := Config.Services.Environ.EnvironList(repo) | ||||
| 		for _, global := range globals { | ||||
| 			envs[global.Name] = global.Value | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	secs, err := Config.Services.Secrets.SecretListBuild(repo, build) | ||||
| 	if err != nil { | ||||
| 		logrus.Debugf("Error getting secrets for %s#%d. %s", repo.FullName, build.Number, err) | ||||
| @@ -234,6 +242,7 @@ func PostHook(c *gin.Context) { | ||||
| 		Netrc: netrc, | ||||
| 		Secs:  secs, | ||||
| 		Regs:  regs, | ||||
| 		Envs:  envs, | ||||
| 		Link:  httputil.GetURL(c.Request), | ||||
| 		Yaml:  conf.Data, | ||||
| 	} | ||||
|   | ||||
| @@ -35,6 +35,7 @@ var Config = struct { | ||||
| 		Senders    model.SenderService | ||||
| 		Secrets    model.SecretService | ||||
| 		Registries model.RegistryService | ||||
| 		Environ    model.EnvironService | ||||
| 	} | ||||
| 	Storage struct { | ||||
| 		// Users  model.UserStore | ||||
|   | ||||
		Reference in New Issue
	
	Block a user