gerrit: Use a Gerrit label instead of hashtag for autosubmit
This moves to using a Gerrit label ('Autosubmit') with boolean values
for determining whether a developer wants to have a change
automatically submitted.
See also https://cl.tvl.fyi/c/depot/+/4172
This commit is contained in:
parent
c67b3ba7ea
commit
24f5a642af
5 changed files with 17 additions and 44 deletions
|
|
@ -20,26 +20,24 @@ type Runner struct {
|
|||
wipSerie *gerrit.Serie
|
||||
logger *log.Logger
|
||||
gerrit *gerrit.Client
|
||||
submitQueueTag string // the tag used to submit something to the submit queue
|
||||
}
|
||||
|
||||
// NewRunner creates a new Runner struct
|
||||
func NewRunner(logger *log.Logger, gerrit *gerrit.Client, submitQueueTag string) *Runner {
|
||||
func NewRunner(logger *log.Logger, gerrit *gerrit.Client) *Runner {
|
||||
return &Runner{
|
||||
logger: logger,
|
||||
gerrit: gerrit,
|
||||
submitQueueTag: submitQueueTag,
|
||||
logger: logger,
|
||||
gerrit: gerrit,
|
||||
}
|
||||
}
|
||||
|
||||
// isAutoSubmittable determines if something could be autosubmitted, potentially requiring a rebase
|
||||
// for this, it needs to:
|
||||
// * have the auto-submit label
|
||||
// * have the "Autosubmit" label set to +1
|
||||
// * have gerrit's 'submittable' field set to true
|
||||
// it doesn't check if the series is rebased on HEAD
|
||||
func (r *Runner) isAutoSubmittable(s *gerrit.Serie) bool {
|
||||
for _, c := range s.ChangeSets {
|
||||
if c.Submittable != true || !c.HasTag(r.submitQueueTag) {
|
||||
if c.Submittable != true || !c.IsAutosubmit() {
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue