mirror of
https://github.com/woodpecker-ci/woodpecker.git
synced 2024-12-20 23:46:49 +00:00
fixes #914
This commit is contained in:
parent
78fa97d53c
commit
833b5af087
3 changed files with 64 additions and 35 deletions
|
@ -2,41 +2,46 @@ package model
|
||||||
|
|
||||||
// swagger:model build
|
// swagger:model build
|
||||||
type Build struct {
|
type Build struct {
|
||||||
ID int64 `json:"id" meddler:"build_id,pk"`
|
ID int64 `json:"id" meddler:"build_id,pk"`
|
||||||
RepoID int64 `json:"-" meddler:"build_repo_id"`
|
RepoID int64 `json:"-" meddler:"build_repo_id"`
|
||||||
ConfigID int64 `json:"-" meddler:"build_config_id"`
|
ConfigID int64 `json:"-" meddler:"build_config_id"`
|
||||||
Number int `json:"number" meddler:"build_number"`
|
Number int `json:"number" meddler:"build_number"`
|
||||||
Parent int `json:"parent" meddler:"build_parent"`
|
Parent int `json:"parent" meddler:"build_parent"`
|
||||||
Event string `json:"event" meddler:"build_event"`
|
Event string `json:"event" meddler:"build_event"`
|
||||||
Status string `json:"status" meddler:"build_status"`
|
Status string `json:"status" meddler:"build_status"`
|
||||||
Error string `json:"error" meddler:"build_error"`
|
Error string `json:"error" meddler:"build_error"`
|
||||||
Enqueued int64 `json:"enqueued_at" meddler:"build_enqueued"`
|
Enqueued int64 `json:"enqueued_at" meddler:"build_enqueued"`
|
||||||
Created int64 `json:"created_at" meddler:"build_created"`
|
Created int64 `json:"created_at" meddler:"build_created"`
|
||||||
Started int64 `json:"started_at" meddler:"build_started"`
|
Started int64 `json:"started_at" meddler:"build_started"`
|
||||||
Finished int64 `json:"finished_at" meddler:"build_finished"`
|
Finished int64 `json:"finished_at" meddler:"build_finished"`
|
||||||
Deploy string `json:"deploy_to" meddler:"build_deploy"`
|
Deploy string `json:"deploy_to" meddler:"build_deploy"`
|
||||||
Commit string `json:"commit" meddler:"build_commit"`
|
Commit string `json:"commit" meddler:"build_commit"`
|
||||||
Branch string `json:"branch" meddler:"build_branch"`
|
Branch string `json:"branch" meddler:"build_branch"`
|
||||||
Ref string `json:"ref" meddler:"build_ref"`
|
Ref string `json:"ref" meddler:"build_ref"`
|
||||||
Refspec string `json:"refspec" meddler:"build_refspec"`
|
Refspec string `json:"refspec" meddler:"build_refspec"`
|
||||||
Remote string `json:"remote" meddler:"build_remote"`
|
Remote string `json:"remote" meddler:"build_remote"`
|
||||||
Title string `json:"title" meddler:"build_title"`
|
Title string `json:"title" meddler:"build_title"`
|
||||||
Message string `json:"message" meddler:"build_message"`
|
Message string `json:"message" meddler:"build_message"`
|
||||||
Timestamp int64 `json:"timestamp" meddler:"build_timestamp"`
|
Timestamp int64 `json:"timestamp" meddler:"build_timestamp"`
|
||||||
Sender string `json:"sender" meddler:"build_sender"`
|
Sender string `json:"sender" meddler:"build_sender"`
|
||||||
Author string `json:"author" meddler:"build_author"`
|
Author string `json:"author" meddler:"build_author"`
|
||||||
Avatar string `json:"author_avatar" meddler:"build_avatar"`
|
Avatar string `json:"author_avatar" meddler:"build_avatar"`
|
||||||
Email string `json:"author_email" meddler:"build_email"`
|
Email string `json:"author_email" meddler:"build_email"`
|
||||||
Link string `json:"link_url" meddler:"build_link"`
|
Link string `json:"link_url" meddler:"build_link"`
|
||||||
Signed bool `json:"signed" meddler:"build_signed"` // deprecate
|
Signed bool `json:"signed" meddler:"build_signed"` // deprecate
|
||||||
Verified bool `json:"verified" meddler:"build_verified"` // deprecate
|
Verified bool `json:"verified" meddler:"build_verified"` // deprecate
|
||||||
Reviewer string `json:"reviewed_by" meddler:"build_reviewer"`
|
Reviewer string `json:"reviewed_by" meddler:"build_reviewer"`
|
||||||
Reviewed int64 `json:"reviewed_at" meddler:"build_reviewed"`
|
Reviewed int64 `json:"reviewed_at" meddler:"build_reviewed"`
|
||||||
// Jobs []*Job `json:"jobs,omitempty" meddler:"-"`
|
Procs []*Proc `json:"procs,omitempty" meddler:"-"`
|
||||||
Procs []*Proc `json:"procs,omitempty" meddler:"-"`
|
|
||||||
}
|
}
|
||||||
|
|
||||||
type BuildGroup struct {
|
// Trim trims string values that would otherwise exceed
|
||||||
Date string
|
// the database column sizes and fail to insert.
|
||||||
Builds []*Build
|
func (b *Build) Trim() {
|
||||||
|
if len(b.Title) > 500 {
|
||||||
|
b.Title = b.Title[:500]
|
||||||
|
}
|
||||||
|
if len(b.Message) > 500 {
|
||||||
|
b.Message = b.Message[:500]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
23
model/build_test.go
Normal file
23
model/build_test.go
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
package model
|
||||||
|
|
||||||
|
import (
|
||||||
|
"crypto/rand"
|
||||||
|
"fmt"
|
||||||
|
"testing"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestBuildTrim(t *testing.T) {
|
||||||
|
d := make([]byte, 1000)
|
||||||
|
rand.Read(d)
|
||||||
|
|
||||||
|
b := Build{}
|
||||||
|
b.Message = fmt.Sprintf("%X", d)
|
||||||
|
|
||||||
|
if len(b.Message) != 2000 {
|
||||||
|
t.Errorf("Failed to generate 2000 byte test string")
|
||||||
|
}
|
||||||
|
b.Trim()
|
||||||
|
if len(b.Message) != 500 {
|
||||||
|
t.Errorf("Failed to trim text string to 500 bytes")
|
||||||
|
}
|
||||||
|
}
|
|
@ -197,6 +197,7 @@ func PostHook(c *gin.Context) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
build.Trim()
|
||||||
err = store.CreateBuild(c, build, build.Procs...)
|
err = store.CreateBuild(c, build, build.Procs...)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logrus.Errorf("failure to save commit for %s. %s", repo.FullName, err)
|
logrus.Errorf("failure to save commit for %s. %s", repo.FullName, err)
|
||||||
|
|
Loading…
Reference in a new issue