-
-
Notifications
You must be signed in to change notification settings - Fork 163
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
Automatic Merging Implementation #112
Comments
I think it would be a good idea for it to have a delay before the actual merge is done. So it would post a comment saying "Will automatically merge in 1 hour without intervention". Then people have some time to react before a bot changes master all by itself. |
Note: At least one job must succeed. If all jobs are Not Attempted, then the merge job is canceled. |
👍 from me, with or without @infinisil's addendum (which I agree is better). |
I think the initial implementation as described by @grahamc would be nice, then later and separately ofborg could also learn something like Also, cancellation should be available not only to all known (and trusted) users, but also to the original submitter, and ideally package maintainer — maybe the first iteration should make it available to everyone, because the person requesting the merge will see a notification and can merge manually if needed. |
I wonder how long it will be before ofborg gets is own UI... |
I think a UI is already work-in-progress. |
|
Specifying an additional delay might be deferred to another iteration of this feature. I guess sometimes the PR seems OK, but I may still want to give the package maintainer(s) a day or two to react if they want, depending on the case. |
To avoid confusion it would be good to post a quick explanation when a command is ignored (when a non-trusted or non-commit user issues the command). |
@timokau please open a new issue for that, because it is a problem with all commands not just this one. |
It seems the 24h (optional) delay seems to really be popular in people's comment on this topic. I think the reason is: a lot of us feel like a PR is OK, but we're not necessarily 100% confident about it, or really we think there must be someone out there with more expertise and authority to review this. The reality is, there is probably someone with more expertise but that someone may never find the time to review the PR. merge-if-build-after-24h gives us shy reviewers an easy conscience because that theoretical expert reviewer now has the option to act. Also, would be nice if ofborg tagged the PR as "slated-for-merging" when the command is issued so that the PRs can be filtered from workflow? |
I think the reason is: a lot of us feel like a PR is OK, but we're not necessarily 100% confident about it, or really we think there must be someone out there with more expertise and authority to review this.
I would expect «PR seems OK, but we might be missing the perspective from people with different use cases.» to be a more important argument. Unlike qualification and authority this is unavoidable even in principle.
Also, would be nice if ofborg tagged the PR as "slated-for-merging" when the command is issued so that the PRs can be filtered from workflow?
I agree. Adding lables seems to be a relatively easy part, though.
|
@domenkozar No, this is not enough to distinguish must-never-fail checks and build-checks that require some value judgements. I want to be able to merge SBCL conditional on Maxima building fine (maybe Maxima tests passing); but maybe Maxima build should not be a blocker if it was already tested locally. |
This issue has been mentioned on NixOS Discourse. There might be relevant details there: |
I would add the following command:
Then, if:
is queued
If a merge job is queued, it will contain:
command ID.
The merge job will then wait for each build job to complete.
If any return a Failure, the merge job is canceled.
If the PR's status checks fail, the job is canceled.
If any known or trusted user comments:
after the command was issued, the job is canceled.
When all of the jobs complete with Success or "not attempted" (a special
status to indicate the job wasn't possible, like building systemd on
x86_64-darwin) the PR is then merged by OfBorg's user. The merge
commit will indicate who issued the merge command.
The text was updated successfully, but these errors were encountered: