paritytech/substrate-tip-bot

[Tip Bot V2] Make Tip Bot Asynchronous

Closed this issue · 5 comments

There are a bunch of ideas that we can do to take the tip bot to the next level:

  • Allow users to submit their associated address ahead of time, either through some local DB or maybe just easier to maintain a JSON file which people can submit PRs to.
  • Automatically pick the size of the tip based on the "Size of issue" tag on the PR
  • Introduce new tag "tip" which allows the tip bot to execute on that PR
  • Allow anyone (mainly the contributor) to trigger a tip one time, given the appropriate tags, the bot will execute
  • Maybe a new tag "tip-paid" used to signal that the tip was paid.

This will improve the process for getting tips for good PRs. We can passively add this tag, and the users can themselves trigger the tip bot, rather than waiting for us to do it.

The only issue might be that we may not want to allow ANYONE to add a tip tag to the PR. Is it possible to limit certain kinds of tags?

@shawntabrizi
as I understood, the main motivations behind the ideas are

  1. reduce the time that you spend on guidance for contributor how to get a tip (so you don't explain each time how/where to add address etc)
  2. remove merge dependency on core team so the contributors can asynchronously be tipped if allowed earlier
  3. make sure the bot automatically tips once and no more with the size defined in "Size of issue" tag

Did i miss any other motivation?
If no - few questions:

  • what's reason you want bot to add a new tag 'tip-paid'? is it supposed to prevent new tip or you might wanna use it when you filtering or reviewing the tipped issues through the time?
  • could you help me learn what are the tags which defined the "size of the issue" ?

Thanks

tip-paid tag allows us to track the PRs which are earning tips. Great for metrics, community building, and also can help prevent the same PR from getting multiple tips. Or imagine that someone requests a tip, but somehow they are tipped via a bounty or some other program. That can also signal that a treasury tip is not needed.

For tags, you would introduce tip-small through tip-large tags, which can be added to a PR by appropriate owners, and can allow the tip bot process to happen without need of further involvement of users.

thanks @shawntabrizi
After I read last comment from @bkchr here #41 (comment)

This is the reason we give tips in retro perspective

I got an impression that a proposed improvement is contradicting with this reasoning. Isn't it?

Inclusion of the tag can happen at any point in the PR, and payout only happens after the PR is merged.

The main point with making things async is that someone who is reviewing the PR for a tip can simply add some tags, and then they are not involved anymore for making the payout happen when it should happen.

For example, i see a PR, it's 98% done. I gave my final review, there are some small nit picks, but i approve the PR.

I can also at that time, put the tip tags, and then when it gets merged (after fixed and another review) then the PR owner can trigger the tip process themselves.

I asked in tip-bot room and this proposal didn't get any support, so doesn't look like this is something needed