func()

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
}