Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

x/build: submit queue, possibly implemented as optional auto-submit on +2 when trybots/slowbots with rebase pass #12482

Open
minux opened this issue Sep 3, 2015 · 16 comments
Labels
Builders x/build issues (builders, bots, dashboards) FeatureRequest
Milestone

Comments

@minux
Copy link
Member

minux commented Sep 3, 2015

I see a trend of giving +2 together with trybot recently.
because we've defined that +2 means it's ok to submit,
I wonder if trybot could just submit the change (on behave
of the user who gives +2 and also invokes the trybot) if
the trybot runs are successful.

what do you think?

@bradfitz
Copy link
Contributor

bradfitz commented Sep 3, 2015

Russ does not want automatic submission for his own CLs, but he's fine with it for others.

We could add a new checkbox.

@bradfitz bradfitz added the Builders x/build issues (builders, bots, dashboards) label Sep 3, 2015
@bradfitz
Copy link
Contributor

bradfitz commented Sep 3, 2015

/cc @adg

@minux
Copy link
Member Author

minux commented Sep 3, 2015 via email

@adg
Copy link
Contributor

adg commented Sep 4, 2015

Until we can have the trybots automatically rebase on the HEAD before running, I don't think this is wise. Am I being paranoid?

@mwhudson
Copy link
Contributor

mwhudson commented Sep 4, 2015

On 4 September 2015 at 14:09, Andrew Gerrand [email protected]
wrote:

Until we can have the trybots automatically rebase on the HEAD before
running, I don't think this is wise. Am I being paranoid?

I don't think so.

@minux
Copy link
Member Author

minux commented Sep 4, 2015

On Thu, Sep 3, 2015 at 10:09 PM, Andrew Gerrand [email protected]
wrote:

Until we can have the trybots automatically rebase on the HEAD before
running, I don't think this is wise. Am I being paranoid?

If that could cause problems, then it will also affect us now because there
is no
way for a human reviewer to notice anything unusual before clicking the
submit
button. The trybot could do a few more checks before submission though.

If we do want to implement, we need to make sure that the trybot will only
try to
submit the revision that the trybot has been run on.

@rsc rsc added this to the Unreleased milestone Oct 23, 2015
@bradfitz bradfitz self-assigned this May 12, 2017
@bradfitz bradfitz changed the title gerrit: automatic submission if trybot passes and +2 given? x/build: optional auto-submit on +2 when trybots (with rebase) pass May 12, 2017
@bradfitz
Copy link
Contributor

See also: #9858 (rebase when testing)

@josharian
Copy link
Contributor

Here's a slightly more fleshed out suggestion, for discussion.

Add an AutoSubmit score. When set to +1, it requests that GopherBot submit when the following conditions hold.

  • The CL has a codereview +2.
  • The AutoSubmit score was set to +1 simultaneously to or after the CL received a codereview +2. (This is to ensure that the choice to submit was made after seeing an approved form of the CL.)
  • 24 hours have passed since the AutoSubmit score was set, to give others a chance to comment.
  • There have been no negative codereview scores since the AutoSubmit score was set to +1 (for the final time).

Once all those have been met, gopherbot does a trybot run after rebasing. If it passes, it submits. If it fails, then a human must intervene.

@josharian
Copy link
Contributor

cc @dmitshur @bcmills

@bcmills
Copy link
Contributor

bcmills commented Apr 29, 2019

  • The AutoSubmit score was set to +1 simultaneously to or after the CL received a codereview +2. (This is to ensure that the choice to submit was made after seeing an approved form of the CL.)

I don't think that's necessary: presumably the reviewer can see the AutoSubmit score ahead of time, so if they want to explicitly “+2 with requested changes” they can revoke the AutoSubmit (perhaps by voting AutoSubmit -1?) at that point.

If the uploader of the CL does not have submit permission, then uploading a new snapshot should also revoke the AutoSubmit +1.

@bcmills
Copy link
Contributor

bcmills commented Apr 29, 2019

  • There have been no negative codereview scores since the AutoSubmit score was set to +1 (for the final time).

This condition seems a bit too strong: a -1 or -2 on the current patchset should certainly cancel auto-submit, but if someone votes -1 or -2 and the CL is subsequently reworked (and those negative votes removed), then it should not be necessary to clear and re-set the AutoSubmit +1 in order for it to take effect.

@josharian
Copy link
Contributor

if they want to explicitly “+2 with requested changes” they can revoke the AutoSubmit

That is true, but I'd rather the default be safe.

if someone votes -1 or -2 and the CL is subsequently reworked

Again, that is true, but I'd rather be conservative, at least to start.

These minor disagreements notwithstanding, I'd be happy with just about any variant of this.

@bradfitz bradfitz removed their assignment May 30, 2019
@dmitshur
Copy link
Contributor

/cc @FiloSottile who also wanted this.

@FiloSottile
Copy link
Contributor

Yup, and I also expected it to be an AutoSubmit vote. I'd like to send simple CLs by git codereview mail -r [email protected] -trybot -autosubmit and not have to think about them again, so I'd also relax the "AutoSubmit must come after Code-Review" requirement.

@bradfitz bradfitz changed the title x/build: optional auto-submit on +2 when trybots (with rebase) pass x/build: optional auto-submit on +2 when trybots (with rebase) pass (submit queue) Sep 24, 2019
@dmitshur dmitshur changed the title x/build: optional auto-submit on +2 when trybots (with rebase) pass (submit queue) x/build: submit queue, possibly implemented as optional auto-submit on +2 when trybots/slowbots with rebase pass Aug 18, 2020
@matloob
Copy link
Contributor

matloob commented Aug 19, 2020

cc @andybons @dmitshur

I would love a submit queue. Ideally we could run all the trybots (including slowbots) when we actually submit a CL. (And if we're more like a submit queue and do a rebase when submitting, the results can be copied straight to build.golang.org when the tests pass and the CL is submitted).

Personally I'd prefer to not have autosubmit but instead have the submit button trigger a test run, submitting if the tests pass, but i'd be pretty happy with autosubmit too.

@dmitshur
Copy link
Contributor

CC @rolandshoemaker.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Builders x/build issues (builders, bots, dashboards) FeatureRequest
Projects
None yet
Development

No branches or pull requests

10 participants