Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 7 additions & 6 deletions pkg/server/build.go
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ func (s *Server) ReceiveVersion(r *http.Request, logWriter logger.Logger, user s
if err := s.store.Upload(user, name, id, file); err != nil {
return nil, fmt.Errorf("Failed to upload to storage: %w", err)
}
if err := s.runHooks(s.postUploadHooks, user, name, id, version, nil, dir, logWriter); err != nil {
if err := s.runHooks(s.postUploadHooks, user, name, id, version, nil, logWriter); err != nil {
return nil, err
}
for _, arch := range config.Environment.Architectures {
Expand Down Expand Up @@ -111,6 +111,11 @@ func (s *Server) buildImage(buildID, dir, user, name, id string, version *model.
return
}

if err := s.runHooks(s.postBuildHooks, user, name, id, nil, result.image, logWriter); err != nil {
handleError(err)
return
}

// only upload the zip and run post-build hooks on primary arch
if isPrimary {
if err := s.saveExamples(result, dir, version.Config); err != nil {
Expand Down Expand Up @@ -139,15 +144,11 @@ func (s *Server) buildImage(buildID, dir, user, name, id string, version *model.
return
}

if err := s.runHooks(s.postBuildPrimaryHooks, user, name, id, version, result.image, dir, logWriter); err != nil {
if err := s.runHooks(s.postBuildPrimaryHooks, user, name, id, version, result.image, logWriter); err != nil {
handleError(err)
return
}
}
if err := s.runHooks(s.postBuildHooks, user, name, id, nil, result.image, dir, logWriter); err != nil {
handleError(err)
return
}

if err := s.db.InsertImage(user, name, id, arch, result.image); err != nil {
handleError(err)
Expand Down
9 changes: 5 additions & 4 deletions pkg/server/web_hook.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ func newWebHook(urlWithSecret string) (*WebHook, error) {
return &WebHook{url: hookURL, secret: secret}, nil
}

func (wh *WebHook) run(user string, name string, id string, version *model.Version, image *model.Image, dir string, logWriter logger.Logger) error {
func (wh *WebHook) run(user string, name string, id string, version *model.Version, image *model.Image, logWriter logger.Logger) error {
values := url.Values{
"version_id": {id},
"user": {user},
Expand All @@ -54,7 +54,8 @@ func (wh *WebHook) run(user string, name string, id string, version *model.Versi
return err
}
values["image_json_base64"] = []string{base64.StdEncoding.EncodeToString(imageJSON)}
values["arch"] = []string{image.Arch}
values["image_uri"] = []string{image.URI}
values["image_arch"] = []string{image.Arch}
values["cpu_usage"] = []string{fmt.Sprintf("%.2f", image.TestStats.CPUUsage)}
values["memory_usage"] = []string{strconv.FormatUint(image.TestStats.MemoryUsage, 10)}
}
Expand All @@ -71,9 +72,9 @@ func (wh *WebHook) run(user string, name string, id string, version *model.Versi
return nil
}

func (s *Server) runHooks(hooks []*WebHook, user string, id string, name string, mod *model.Version, image *model.Image, dir string, logWriter logger.Logger) error {
func (s *Server) runHooks(hooks []*WebHook, user string, name string, id string, version *model.Version, image *model.Image, logWriter logger.Logger) error {
for _, hook := range hooks {
if err := hook.run(user, name, id, mod, image, dir, logWriter); err != nil {
if err := hook.run(user, name, id, version, image, logWriter); err != nil {
return err
}
}
Expand Down