-
Notifications
You must be signed in to change notification settings - Fork 23.7k
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
πΈ π π β Integrate cherry picker #41403
πΈ π π β Integrate cherry picker #41403
Conversation
Documentation is important. A few examples on how to create a backport, at least. I have no problem with this PR, otherwise. |
Agreed. I think specifically showing an example that roughly duplicates our manual process using cherry-picker would be extremely helpful. |
Yeah, I was thinking about it. It was just an end of the day and I postponed it :) Will add it. |
This enables developers to use cherry-picker for backporting purposes. This tool originally comes from Core Python Development Workflow. Ref: https://pypi.org/p/cherry-picker Ref: https://github.com/python/core-workflow/tree/master/cherry_picker
8de686f
to
437f296
Compare
@@ -82,6 +82,48 @@ pull request to backport the change to a previous stable branch. | |||
but it can be helpful, especially when making multiple backport PRs for | |||
multiple stable branches. | |||
|
|||
.. note:: |
This comment was marked as outdated.
This comment was marked as outdated.
Sorry, something went wrong.
This comment was marked as outdated.
This comment was marked as outdated.
Sorry, something went wrong.
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
This comment was marked as outdated.
This comment was marked as outdated.
Sorry, something went wrong.
This comment was marked as outdated.
This comment was marked as outdated.
Sorry, something went wrong.
@acozine could you please review the doc change here? |
@webknjaz I tried to use cherry_picker for a PR today and had no success. The examples in the docs probably need a little work:
The stable-2.6 branch failed. There's not enough information given for me to tell why. The stbale-2.4 and stable-2.5 branches appear to have worked but the browser windows that cherry_picker opened up show that there's no changes to commit: https://github.com/ansible/ansible/compare/stable-2.5...abadger:backport-336b376-stable-2.5?expand=1 Running cherry_picker on just the stable-2.5 branch, I get the failure to push message so my guess is that all three failed to push but only the stable-2.6 branch realized that it had an error. The other two weren't seen as an error because stable-2.6 had already failed. |
Thanks for the feedback @abadger :) I'll look into it deeper.
I think @Mariatta will be glad to accept another patch for such flexibility. You probably want
This is weired, I'd expect |
The default behavior is:
Sounds to me that it is already working as expected? I haven't look at the rest of the issues mentioned here, will find time later this week. |
Seems like 336b376 was already cherry-picked into stable-2.4 , so there is nothing to backport. |
@abadger such change makes sense to me. I suspect that you might have (1) outdated version of Git and/or (2) custom global user config (please post your Have you tried running this on the different machine? P.S. My Git is: $ git --version
git version 2.17.1 |
@abadger by the way, if it makes sense for you, you can try exporting |
I'm not sure, but you might have a custom |
Hmmm... I thought I posted my .gitconfig earlier but I must have started to edit out the auth tokens and then walked away and forgot. I do seem to have [push] default set. No idea why.
|
Okay, PR's submitted upstream for the bugs I've run into: python/core-workflow#265 and python/core-workflow#264 @Mariatta Is there a reason you don't want to let "upstream" be settable? I've got a half-done change to add --upstream-repo which is just like --pr-repo which I'll finish off, document, and submit if you want it. But if you have strong feelings that you don't want it, I'll just keep that as a local change. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@webknjaz I meant to make my comments a review - take a look and let me know what you think
Failures are completely unrelated: 2018-07-12 14:53:13 =================================== FAILURES ===================================
2018-07-12 14:53:13 _______________________________ test_upload_api ________________________________
2018-07-12 14:53:13 monkeypatch = <_pytest.monkeypatch.MonkeyPatch instance at 0x7605710>
2018-07-12 14:53:13
2018-07-12 14:53:13 def test_upload_api(monkeypatch):
2018-07-12 14:53:13 class FakeConnection:
2018-07-12 14:53:13
2018-07-12 14:53:13 def put_rest_api(self, *args, **kwargs):
2018-07-12 14:53:13 assert kwargs["body"] == "the-swagger-text-is-fake"
2018-07-12 14:53:13 return {"msg": "success!"}
2018-07-12 14:53:13
2018-07-12 14:53:13 def return_fake_connection(*args, **kwargs):
2018-07-12 14:53:13 return FakeConnection()
2018-07-12 14:53:13
2018-07-12 14:53:13 > monkeypatch.setattr(agw, "boto3_conn", return_fake_connection)
2018-07-12 14:53:13 E AttributeError: <module 'ansible.modules.cloud.amazon.aws_api_gateway' from '/root/ansible/lib/ansible/modules/cloud/amazon/aws_api_gateway.py'> has no attribute 'boto3_conn'
2018-07-12 14:53:13
2018-07-12 14:53:13 test/units/modules/cloud/amazon/test_api_gateway.py:56: AttributeError
2018-07-12 14:53:13 ============= 1 failed, 3665 passed, 155 skipped in 593.00 seconds ============= |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm happy with the docs side of this PR, thanks @webknjaz
Thanks, @acozine! I'm merging this then. We can improve things in follow-up PRs. I'm going to ignore CI failures since those are unrelated. |
This enables developers to use cherry-picker for backporting purposes. This tool originally comes from Core Python Development Workflow. Ref: https://pypi.org/p/cherry-picker Ref: https://github.com/python/core-workflow/tree/master/cherry_picker Also: * π Add docs about supporting cherry-picker (cherry picked from commit 97cc0cc) Co-authored-by: Sviatoslav Sydorenko <wk.cvs.github@sydorenko.org.ua>
This enables developers to use cherry-picker for backporting purposes. This tool originally comes from Core Python Development Workflow. Ref: https://pypi.org/p/cherry-picker Ref: https://github.com/python/core-workflow/tree/master/cherry_picker Also: * π Add docs about supporting cherry-picker (cherry picked from commit 97cc0cc) Co-authored-by: Sviatoslav Sydorenko <wk.cvs.github@sydorenko.org.ua>
This enables developers to use cherry-picker for backporting purposes. This tool originally comes from Core Python Development Workflow. Ref: https://pypi.org/p/cherry-picker Ref: https://github.com/python/core-workflow/tree/master/cherry_picker Also: * π Add docs about supporting cherry-picker (cherry picked from commit 97cc0cc) Co-authored-by: Sviatoslav Sydorenko <wk.cvs.github@sydorenko.org.ua>
This enables developers to use cherry-picker for backporting purposes. This tool originally comes from Core Python Development Workflow. Ref: https://pypi.org/p/cherry-picker Ref: https://github.com/python/core-workflow/tree/master/cherry_picker Also: * π Add docs about supporting cherry-picker (cherry picked from commit 97cc0cc) Co-authored-by: Sviatoslav Sydorenko <wk.cvs.github@sydorenko.org.ua>
We could let python-pip install it. |
SUMMARY
This adds config for using cherry-picker tool from Python Core Workflow. No docs yet, but it should be enough for people to start trying it out.
ISSUE TYPE
COMPONENT NAME
β
ANSIBLE VERSION
ADDITIONAL INFORMATION
β