Coder Social home page Coder Social logo

miss-islington's People

Contributors

alexwaygood avatar amaajemyfren avatar ambv avatar berkerpeksag avatar danielnoord avatar dependabot-preview[bot] avatar dependabot[bot] avatar ezio-melotti avatar hugovk avatar jackenmen avatar jacobtylerwalls avatar jellezijlstra avatar julienpalard avatar lysnikolaou avatar mariatta avatar masterneko avatar maxking avatar miss-islington avatar pablogsal avatar pradyunsg avatar pyup-bot avatar sobolevn avatar zware avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

miss-islington's Issues

Odd backport failure

When I merged python/cpython#5981 with backport labels, the usual backport PRs were generated and I approved both. python/cpython#5986 for 3.7 went normally. python/cpython#5987 for 3.6 got hung-up waiting for Appveyor to report. I could not check details because there was no details link. Miss I. twice said "Backport status check is done, and it's a success", which usually triggers a merge. To try to restart CI, I closed and opened, but Miss I. reclosed, permanently.

I went back to original PR and re-added 3.6 backport label. python/cpython#5993 then proceeded normally.

I don't know that there is anything to do, except to take notice of a new? failure mode.

Trigger the backport by leaving comments to miss-islington

Would be nice to be able to trigger the backport after PR has been merged, in case that people forgot to apply the needs backport label.

Some thoughts:

  • Allow people to leave a comment like "@miss-islington backport this" or something like that
  • Perhaps this ability should be restricted to the PR author or core devs or even core dev who merged the PR. So if a random person or another bot leaves the comment, miss-islington will ignore it.

Error when trying to merge a PR that's already merged

The error can be caught.

Log:
Aug 09 15:03:52 miss-islington app/web.1: GH delivery ID 19e9ae34-9c20-11e8-8119-f84026ce9ae3
Aug 09 15:03:53 miss-islington heroku/router: at=info method=POST path="/" host=miss-islington.herokuapp.com request_id=61fe7df2-985b-4549-bbaf-8a0d34964361 fwd="192.30.252.34" dyno=web.1 connect=1ms service=2394ms status=500 bytes=187 protocol=https
Aug 09 15:03:54 miss-islington app/web.1: Traceback (most recent call last):
Aug 09 15:03:54 miss-islington app/web.1: File "/app/miss_islington/main.py", line 40, in main
Aug 09 15:03:54 miss-islington app/web.1: await router.dispatch(event, gh)
Aug 09 15:03:54 miss-islington app/web.1: File "/app/.heroku/python/lib/python3.6/site-packages/gidgethub/routing.py", line 80, in dispatch
Aug 09 15:03:54 miss-islington app/web.1: await callback(event, *args, **kwargs)
Aug 09 15:03:54 miss-islington app/web.1: File "/app/miss_islington/status_change.py", line 22, in check_status
Aug 09 15:03:54 miss-islington app/web.1: await check_ci_status_and_approval(gh, sha, leave_comment=True)
Aug 09 15:03:54 miss-islington app/web.1: File "/app/miss_islington/status_change.py", line 80, in check_ci_status_and_approval
Aug 09 15:03:54 miss-islington app/web.1: await merge_pr(gh, pr_number, sha)
Aug 09 15:03:54 miss-islington app/web.1: File "/app/miss_islington/status_change.py", line 96, in merge_pr
Aug 09 15:03:54 miss-islington app/web.1: "merge_method": "squash",
Aug 09 15:03:54 miss-islington app/web.1: File "/app/.heroku/python/lib/python3.6/site-packages/gidgethub/abc.py", line 104, in put
Aug 09 15:03:54 miss-islington app/web.1: data, _ = await self._make_request("PUT", url, url_vars, data, accept)
Aug 09 15:03:54 miss-islington app/web.1: File "/app/.heroku/python/lib/python3.6/site-packages/gidgethub/abc.py", line 66, in _make_request
Aug 09 15:03:54 miss-islington app/web.1: data, self.rate_limit, more = sansio.decipher_response(*response)
Aug 09 15:03:54 miss-islington app/web.1: File "/app/.heroku/python/lib/python3.6/site-packages/gidgethub/sansio.py", line 310, in decipher_response
Aug 09 15:03:54 miss-islington app/web.1: raise exc_type(*args)
Aug 09 15:03:54 miss-islington app/web.1: gidgethub.BadRequest: Base branch was modified. Review and try the merge again.
Aug 09 15:03:54 miss-islington app/web.1: Traceback (most recent call last):
Aug 09 15:03:54 miss-islington app/web.1: File "/app/miss_islington/main.py", line 40, in main
Aug 09 15:03:54 miss-islington app/web.1: await router.dispatch(event, gh)
Aug 09 15:03:54 miss-islington app/web.1: File "/app/.heroku/python/lib/python3.6/site-packages/gidgethub/routing.py", line 80, in dispatch
Aug 09 15:03:54 miss-islington app/web.1: await callback(event, *args, **kwargs)
Aug 09 15:03:54 miss-islington app/web.1: File "/app/miss_islington/status_change.py", line 30, in pr_reviewed
Aug 09 15:03:54 miss-islington app/web.1: await check_ci_status_and_approval(gh, sha)
Aug 09 15:03:54 miss-islington app/web.1: File "/app/miss_islington/status_change.py", line 80, in check_ci_status_and_approval
Aug 09 15:03:54 miss-islington heroku/router: at=info method=POST path="/" host=miss-islington.herokuapp.com request_id=e469ce6a-3e94-46d5-8a34-8431731e8dfd fwd="192.30.252.34" dyno=web.1 connect=0ms service=2719ms status=500 bytes=187 protocol=https

Emoji showing up as boxes in comments

It seems that the robot face emoji and pick emoji are showing up as boxes when @miss-islington adds Thanks and Sorry comments in PRs. I tested it on latest Firefox nightly and Chrome 67 on Mac OS with both of them showing boxes. The same case with README too.

Thanks

Add info about how to customize and use this bot for other repositories?

Currently we use custom cherry-pick scripts to backport to other branches (manual). I love the idea of automated back-porting. Some information about how to customize this bot and use it for other repositories would be awesome. I want to understand how can I fork this, customize(I can work on that) and include this in other repositories I own.

Any help is appreciated.

can the preserve the author of the original commit in the squash merge?

$ git show -s b03623227ed1264e3cac4e6bb4878d96b91aa484 --pretty=fuller
commit b03623227ed1264e3cac4e6bb4878d96b91aa484
Author:     Miss Islington (bot) <[email protected]>
AuthorDate: Thu Sep 7 11:35:03 2017 -0700
Commit:     Benjamin Peterson <[email protected]>
CommitDate: Thu Sep 7 11:35:03 2017 -0700

    [3.6] fixes bpo-31373: fix undefined floating-point demotions (GH-3396) (#3424)
    
    (cherry picked from commit a853a8ba7850381d49b284295dd6f0dc491dbe44)

The author metadata should be from the original commit not stamped over. (e.g., so the Author should still be me in the above example)

I'm not sure if this is actually possible, since GitHub is actually doing the author rewrite during the squash.

Show command in error message

Miss Islington would be even more helpful if she would just tell me the right command. For example python/cpython#3674 (review) has comment

Sorry @felipeochoa and @tiran, I had trouble checking out the 2.7 backport branch.
Please backport using cherry_picker on command line.

She has all the information to tell me the right hash and branch(es):

Sorry @felipeochoa and @tiran, I had trouble checking out the 2.7 backport branch.
Please backport using cherry_picker on command line:

cherry_picker 19e4d93 2.7``.

If the original author and the committer is the same...

I just have merged my first PR after miss-islington become working. If the original author and the committer is the same person, miss-islington's comment's look slightly strange.

Thanks @serhiy-storchaka for the PR, and @serhiy-storchaka for merging it

Sorry, @serhiy-storchaka and @serhiy-storchaka, I could not cleanly backport this to 3.6 due to a conflict.

This is low priority, but I think that it would be nice to not duplicate the name in this case.

Thank you for your awesome work @Mariatta! Your tools help a lot!

Leave a comment when automerge failed

Miss-islington should leave a comment if merging failed, e.g. if it doesn't have the right permission to merge into protected branch.
At the moment it fails silently.

Remove bpo link in automerge commit

Could we remove bpo link in automerge commit? It's somewhat duplicate, also make the backport commit message not neat. It seems currently backport commit message removes the bpo link, any real need to apply two different strategies?

Add "skip auto backport" label

Sometimes I need to manually backport a PR due to API changes. Currently, the only way I know to tell miss-islington not to create a backport PR is removing the "backport to X.Y" label. But I find "backport to X.Y" labels useful since we don't always keep the version field in the bpo issue up-to-date. Can we add a "skip auto backport" label (similar to what "skip news" etc. does)? I'm open to alternative names and as always I can implement it if people find the idea useful.

Merge when ๐Ÿค– automerge label is applied, if checks already passed

I've applied the ๐Ÿค– automerge label to an issue whose checks already passed, and was a bit surprised that nothing happened. I had to press Squash and add GH- by hand! (I admit I am very spoiled by useful bots.)

Would it be a good idea automerge when the label is added, if the other conditions are met?

"Automerge-Triggered-By: @githubhandle" message causes spam

Since miss-islington uses a GitHub handle in the "Automerge-Triggered-By" 'header', whoever triggered the automerge gets spammed any time a contributor does something strange in their own fork of the repo that causes a new commit with the same "Automerge-Triggered-By" message to be pushed to their fork. For example, I was just notified about this commit this morning.

I would prefer using display name (Zachary Ware, possibly with email address if public) rather than GitHub handle (@zware) for this message, which also makes it easier to tie the committer to the commit since the GitHub handle is not actually present anywhere else in the Git repository.

Stop 'Thanks' comments.

The downside of auto backport is the slew of several emails per backport. I would like the 'Thanks' comments stopped as they are just noise (to me, at least). Typically, the only person who see it is the core developer who did the merge.

Remove [X.Y] from the backport commit message

[X.Y] should be in the PR title but not in the backport commit message.

Not sure yet if this is for miss-islington or cherry-picker ๐Ÿ˜…
Writing it down somewhere before I forgot about the issue.

Resolve conflicts in generated files.

For now the automated cherry-pick failed if generated files are changed. These conflicts can be resolved automatically โ€” just regenerate files by running make regen-all (or with more specific targets, depending on affected files).

Is there anything we need to do to prevent automerging to security-fix-only branches?

Now that the cpython 3.6 branch is moving to security-fix-only mode, per our prior practice I have now restricted merges on the 3.6 branch to release managers and administrators. That made me wonder whether that restriction applies to our GitHub bots, particularly the automerge bot. Since I can't easily test this from my GitHub account (as I'm in the release manager team!), does anyone know whether automerges have been being blocked for 3.5 and/or could test for 3.6?

Notify when backport PRs failed

In python/cpython#3548, the pr backports cleanly without conflict, but the test suite failed.

Some ideas of what @miss-islington can do:

  • notify the original PR author, or the core dev merging the PR, that the backport failed (leave a comment)
  • automatically close the backport PR? because it now requires manual backport. A core dev can close it too.
  • re-add the needs backport to [X.Y] label to the original PR

miss-islington broken again

I don't know what to do when this bot is broken :-(

I requested a backport from master to 3.7 on python/cpython#13421 The bot wrote "Thanks @erikjanss for the PR, and @vstinner for merging it .. I'm working now to backport this PR to: 3.7." and then nothing, as if it fails but doesn't say anything about its failure.

Who operates this bot? Who knows how to debug it?

is automated dependency analysis useful?

Forgive me for barging in here - I have only just discovered this project so I know very little about it, but maybe my tool could help with your automated backports in the cases where cherry-picking causes conflicts due to the commit being backported relying on other commits?

https://github.com/aspiers/git-deps#use-case-1-porting-between-branches

I would certainly not claim that this can always be safely used to fully automate the resolution of conflicts. However it can serve as a useful assistant to a) provide an estimate of the complexity of the porting task and which dependent commits might need to be included in the port.

If I'm off the mark here then feel free to close this, but I thought I'd mention it just in case it's useful :-)

Network issue

I'm having trouble backporting to 3.7. Reason: 'Error 110 while writing to socket. Connection timed out.'. Please retry by removing and re-adding the needs backport to 3.7 label.

Issue seen at: python/cpython#13816 (comment)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.