in cmd/publishing-bot/publisher.go [423:459]
func (p *PublisherMunger) Run() (logs, masterHead string, err error) {
buf := bytes.NewBuffer(nil)
if p.plog, err = newPublisherLog(buf, path.Join(p.baseRepoPath, "run.log")); err != nil {
return "", "", err
}
newUpstreamHeads, err := p.updateSourceRepo()
if err != nil {
p.plog.Errorf("%v", err)
p.plog.Flush()
return p.plog.Logs(), "", err
}
if err := p.updateRules(); err != nil { // this comes after the source update because we might fetch the rules from there.
p.plog.Errorf("%v", err)
p.plog.Flush()
return p.plog.Logs(), "", err
}
if err := p.construct(); err != nil {
p.plog.Errorf("%v", err)
p.plog.Flush()
return p.plog.Logs(), "", err
}
if err := p.publish(newUpstreamHeads); err != nil {
p.plog.Errorf("%v", err)
p.plog.Flush()
return p.plog.Logs(), "", err
}
if h, ok := newUpstreamHeads["master"]; ok {
masterHead = h.String()
}
return p.plog.Logs(), masterHead, nil
}