betterscientificsoftware / bssw.io

Better Scientific Software Homepage
https://bssw.io
Other
140 stars 90 forks source link

GH automation tools to explore #443

Open bernhold opened 4 years ago

bernhold commented 4 years ago

Here's a list of tools I've found to automate various aspects of GitHub workflows. I haven't evaluated any of them. This is just a starting point.

https://github.com/apps/project-bot

https://probot.github.io/apps/minimum-reviews/

https://github.com/marketplace/actions/closes-issues-related-to-a-merged-pull-request

https://probot.github.io/apps/delete-merged-branch/ https://github.com/marketplace/actions/delete-merged-branch https://help.github.com/en/github/administering-a-repository/managing-the-automatic-deletion-of-branches

https://github.com/marketplace/pr-scheduler

https://github.com/marketplace/actions/github-issue-due-dates-action

https://github.com/boyney123/auto-comment

https://github.com/palantir/bulldozer auto-merge bot https://github.com/marketplace/mergify https://github.com/marketplace/auto-merge https://github.com/marketplace/actions/automatic-merge https://github.com/marketplace/actions/nightly-merge https://github.com/marketplace/actions/merge-pal https://github.com/marketplace/actions/pr-build-merge https://github.com/marketplace/actions/pr-merge-bot https://github.com/marketplace/actions/pull-request-merge-command https://github.com/marketplace/actions/merge-pull-requests https://github.com/marketplace/actions/pull-request-merginator https://github.com/marketplace/actions/gitflow-action

https://github.com/marketplace/actions/top-issues-labeler this is not what we need for the Topic Review column, but perhaps some of the code here would be useful for someone constructing a bot that would label issues needing votes and/or move issues that meet our criteria to the Ready for Development column (or closing as not interested). I haven't found any other bots that process reactions.

bernhold commented 4 years ago

Mentioned by @bartlettroscoe in another discussion https://probot.github.io/apps/deploy/ https://github.com/dessant/label-actions

bartlettroscoe commented 4 years ago

Someone who really know Github actions could likely put together what we need very quickly. It would be good if someone ECP funded would be willing to learn this as service to ECP.

bernhold commented 4 years ago

@bartlettroscoe why close?

bartlettroscoe commented 4 years ago

Sorry, pressed wrong button on accident. Reopening

markcmiller86 commented 3 years ago

I found this resource describing github actions in a way and in details other resources don't and which I personally found VERY HELPFULL. It might even be worth a CC article.

markcmiller86 commented 3 years ago

Found another resource I found quite helpful in inderstanding how shell code integrates with GHA run: blocks, among other things.

bartlettroscoe commented 3 years ago

Seems like we should write a CC article about GHA with these references.

markcmiller86 commented 3 years ago

Seems like we should write a CC article about GHA with these references.

Ok, created #746

bartlettroscoe commented 3 years ago

The more I learn about GHA, the less impressed I am. I will document examples as I go. One example is that you can't prematurely terminate a job in one of the steps without returning a no-zero error code. That would actually be very useful in something like the preview branch workflow. See my comment in https://github.com/actions/runner/issues/662#issuecomment-808605045. If they are going to define a new language (which is what GHA is), then it needs to be full featured or you will be forced to create workflows that have one big set per job and handle all of your own logic in that one step (and it has to be the last step in the job). Otherwise, you can't achieve an early termination of a job with a zero return code.