mirror of
https://github.com/woodpecker-ci/woodpecker.git
synced 2024-11-23 02:11:01 +00:00
Moved proc id changes closer to each other
This commit is contained in:
parent
4323148a85
commit
dbfbd15238
3 changed files with 32 additions and 37 deletions
|
@ -253,8 +253,6 @@ func PostHook(c *gin.Context) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
setBuildProcs(build, buildItems)
|
|
||||||
|
|
||||||
err = store.FromContext(c).ProcCreate(build.Procs)
|
err = store.FromContext(c).ProcCreate(build.Procs)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logrus.Errorf("error persisting procs %s/%d: %s", repo.FullName, build.Number, err)
|
logrus.Errorf("error persisting procs %s/%d: %s", repo.FullName, build.Number, err)
|
||||||
|
@ -286,33 +284,6 @@ func findOrPersistPipelineConfig(repo *model.Repo, remoteYamlConfig []byte) (*mo
|
||||||
return conf, nil
|
return conf, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func setBuildProcs(build *model.Build, buildItems []*buildItem) {
|
|
||||||
pcounter := len(buildItems)
|
|
||||||
for _, item := range buildItems {
|
|
||||||
build.Procs = append(build.Procs, item.Proc)
|
|
||||||
item.Proc.BuildID = build.ID
|
|
||||||
|
|
||||||
for _, stage := range item.Config.Stages {
|
|
||||||
var gid int
|
|
||||||
for _, step := range stage.Steps {
|
|
||||||
pcounter++
|
|
||||||
if gid == 0 {
|
|
||||||
gid = pcounter
|
|
||||||
}
|
|
||||||
proc := &model.Proc{
|
|
||||||
BuildID: build.ID,
|
|
||||||
Name: step.Alias,
|
|
||||||
PID: pcounter,
|
|
||||||
PPID: item.Proc.PID,
|
|
||||||
PGID: gid,
|
|
||||||
State: model.StatusPending,
|
|
||||||
}
|
|
||||||
build.Procs = append(build.Procs, proc)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func publishToTopic(c *gin.Context, build *model.Build, repo *model.Repo) {
|
func publishToTopic(c *gin.Context, build *model.Build, repo *model.Repo) {
|
||||||
message := pubsub.Message{
|
message := pubsub.Message{
|
||||||
Labels: map[string]string{
|
Labels: map[string]string{
|
||||||
|
|
|
@ -53,7 +53,7 @@ type buildItem struct {
|
||||||
func (b *procBuilder) Build() ([]*buildItem, error) {
|
func (b *procBuilder) Build() ([]*buildItem, error) {
|
||||||
var items []*buildItem
|
var items []*buildItem
|
||||||
|
|
||||||
for _, y := range b.Yamls {
|
for j, y := range b.Yamls {
|
||||||
axes, err := matrix.ParseString(y)
|
axes, err := matrix.ParseString(y)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
@ -65,8 +65,8 @@ func (b *procBuilder) Build() ([]*buildItem, error) {
|
||||||
for i, axis := range axes {
|
for i, axis := range axes {
|
||||||
proc := &model.Proc{
|
proc := &model.Proc{
|
||||||
BuildID: b.Curr.ID,
|
BuildID: b.Curr.ID,
|
||||||
PID: i + 1,
|
PID: j + i + 1,
|
||||||
PGID: i + 1,
|
PGID: j + i + 1,
|
||||||
State: model.StatusPending,
|
State: model.StatusPending,
|
||||||
Environ: axis,
|
Environ: axis,
|
||||||
}
|
}
|
||||||
|
@ -174,9 +174,38 @@ func (b *procBuilder) Build() ([]*buildItem, error) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
setBuildProcs(b.Curr, items)
|
||||||
|
|
||||||
return items, nil
|
return items, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func setBuildProcs(build *model.Build, buildItems []*buildItem) {
|
||||||
|
pcounter := len(buildItems)
|
||||||
|
for _, item := range buildItems {
|
||||||
|
build.Procs = append(build.Procs, item.Proc)
|
||||||
|
item.Proc.BuildID = build.ID
|
||||||
|
|
||||||
|
for _, stage := range item.Config.Stages {
|
||||||
|
var gid int
|
||||||
|
for _, step := range stage.Steps {
|
||||||
|
pcounter++
|
||||||
|
if gid == 0 {
|
||||||
|
gid = pcounter
|
||||||
|
}
|
||||||
|
proc := &model.Proc{
|
||||||
|
BuildID: build.ID,
|
||||||
|
Name: step.Alias,
|
||||||
|
PID: pcounter,
|
||||||
|
PPID: item.Proc.PID,
|
||||||
|
PGID: gid,
|
||||||
|
State: model.StatusPending,
|
||||||
|
}
|
||||||
|
build.Procs = append(build.Procs, proc)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// return the metadata from the cli context.
|
// return the metadata from the cli context.
|
||||||
func metadataFromStruct(repo *model.Repo, build, last *model.Build, proc *model.Proc, link string) frontend.Metadata {
|
func metadataFromStruct(repo *model.Repo, build, last *model.Build, proc *model.Proc, link string) frontend.Metadata {
|
||||||
host := link
|
host := link
|
||||||
|
|
|
@ -83,9 +83,4 @@ func TestMultiPipeline(t *testing.T) {
|
||||||
if len(buildItems) != 2 {
|
if len(buildItems) != 2 {
|
||||||
t.Fatal("Should have generated 2 buildItems")
|
t.Fatal("Should have generated 2 buildItems")
|
||||||
}
|
}
|
||||||
|
|
||||||
// fmt.Println(buildItems)
|
|
||||||
// build := &model.Build{}
|
|
||||||
// setBuildProcs(build, buildItems)
|
|
||||||
// fmt.Println(build)
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue