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

Create bot for backporting PRs to released distributions on maintainer request, other automation needs #2593

Closed
SteveMacenski opened this issue Oct 11, 2021 · 11 comments

Comments

@SteveMacenski
Copy link
Member

I've seen this in action in other ROS 2 core repos, I'd like to see if that would make sense here as well to make maintenance of this repo easier for N distributions at once.

Potentially also a bot for incrementing up the package.xml files and blooming it up?

@SteveMacenski
Copy link
Member Author

SteveMacenski commented Oct 14, 2021

https://docs.mergify.io/actions/comment/

Attribute options: https://docs.mergify.io/conditions/#attributes

  • conflict ask
  • build failure
  • if galactic/foxy and not me, say so
  • welcome new contributors / welcome back old
  • checklist rules

@SteveMacenski SteveMacenski changed the title Create bot for backporting PRs to released distributions on maintainer request Create bot for backporting PRs to released distributions on maintainer request, other automation needs Oct 14, 2021
@tylerjw
Copy link

tylerjw commented Oct 15, 2021

Now any time people nuke my required PR template fields, it'll give them back to me in a comment, if conflicts tell them, if builds fail tell them, if they open PRs in inappropriate branches tells them, etc

That is really cool. We saw the request for enabling it on the org and we were also thinking of experimenting with it. In addition, we have a much more lightweight bot we are trying to use to create issues for backports.

Moved this over here. Also, this means github should notify me of changes to this issue.

@tylerjw
Copy link

tylerjw commented Oct 15, 2021

I noticed you are also using ZenHub. We recently just started trying to use it to organize work on MoveIt. Do you have any advice/feedback on ZenHub?

Sorry for the tangent, I'll put this in a separate issue if you'd prefer.

@SteveMacenski
Copy link
Member Author

SteveMacenski commented Oct 15, 2021

I'm not using Zenhub, to be honest, I have no idea how or when that was setup. If I were to guess, it was hooked into Intel's Jira system or similar when they were just starting Nav2.

I mostly did this to try to see if I could make backporting easier so I could support more older branches in the future. But the comment tool in mergify is by far the most useful I think. I can make it trigger comments for common situations I'd normally have to comment back to tell someone to fix something. E.g.

  • If in conflict -> @ them to fix
  • If build fails (not tests) -> @ them to fix and give general advise about how to handle
  • If they removed my important PR template for making sure we keep quality up, give it to them anyway in a comment and @ me to let me know
  • If anyone but me and mergify opens a PR onto older branches, tell them not to and target to main for later backport

But then also the backport tools. I'm obviously just now setting this up and trying it out, so I can't give you much feedback at the moment, but I think these comment rules will help make my life alot easier with new contributors.

I wish I could also get comment to be able to tell if this is a first-time contributor or not for some additional messages. Also, to hook into Circle so when there is a test failure, it gives me a report in a comment about which failed specifically so I don't need to go and check. We have some flaky tests I know when they fail is not a problem, but others that are actually issues.

@SteveMacenski
Copy link
Member Author

oooh here's another good one: if you mess with a particular package, automatically request a review from a particular responsible party

@tylerjw
Copy link

tylerjw commented Oct 15, 2021

oooh here's another good one: if you mess with a particular package, automatically request a review from a particular responsible party

We are currently using github codeownsers for that. documentation link. Is there something mergify does that is better than that?

@SteveMacenski
Copy link
Member Author

Same thing mostly. You'd just have automations for saying modifications to particular directories trigger XYZ to be added as a reviewer. I don't think it matters much which, but personally I like to minimize tools so if I was using mergify, I'd use that instead.

@SteveMacenski
Copy link
Member Author

https://docs.mergify.io/conditions/#attributes this is the set of things you have access to to mess with. There'd be a few more automations I'd add if I knew "who" this contributor was (new, contributed < N, contributed > N) like add exceptions for power users or welcome messages for newbies.

@tylerjw
Copy link

tylerjw commented Oct 15, 2021

Cool. I will look into using some of these with MoveIt ( I might just copy some of what you are already doing, they look really nice ).

@SteveMacenski
Copy link
Member Author

Let me know if you add any more that might be useful. These were just ones off the top of my head based on things I regularly have to tell people

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants