Skip to content

GitHub Robot Tasks

Jeff Squyres edited this page Apr 9, 2019 · 7 revisions

This page documents the list of robots / GitHub apps that we'd like to build to help automate some of the day to day heavy lifting of running the OMPI GitHub infrastructure. This is currently an ordered list by priority.

  1. Ticket Lifecycle

    • Comment on ticket when no 'State: ' labels have been added to an issue in 1 week, asking developers to update
    • Comment on ticket when no updates in 2 weeks, asking developers to update, if no label or 'State: Awaiting developer information'
    • Close ticket with note when in state 'State: Awaiting user information' for 1 week
    • when in state 'State: Awaiting merge to release branches' for more than 1 hour and no more 'Target: *' labels, remove 'State: Awaiting merge to release branches' label and close ticket
    • Jeff's thoughts on the above bullets
      • I'd like to add at least 1 week to each of the timeframes listed above. I see the value of continually re-cerifying your interest, but sometimes 1 week just isn't enough (because of emergencies/fires at our "real" jobs, for example).
      • Can there be some automation for adding/removing "Awaiting user information" / "Awaiting developer information"? I've noticed that we're all terrible about adding/removing those manually.
  2. PR Lifecycle

    • For new PR, add label 'Target: ', where is the target branch
    • For PR, remove any labels 'Target: *' except for the one that is 'Target: ' (our developers like to add lots of targets
    • If PR has a "fixes" reference to a ticket, on merge, remove label 'Target: ' from the ticket
    • Add comment asking for change if there is a 'cherry picked from commit XXXX' in the commit and XXXX is not from master.
      • Jeff comment: Maybe a little more fine-grained:
        • If "cherry picked from commit XXXX" and XXXX does not exist anywhere, fail a CI test
        • If "cherry picked from commit XXXX" and XXXX is not on master, ask for an explanation (or add a label that has to be removed by a human?)
  3. Block PRs in '⚠️ WIP-DNM!"

    • If there is a '⚠️ WIP-DNM!' label attached to a PR, block merging by failing CI test, otherwise pass CI test (we'll then make that a mandatory test for merge)
    • Pretty sure there's a Probot app to do this, but need to figure out how to make it run.
  4. Implement the DCO checker probot (signed-off-by checker)

    • Yes, we already have one, but it would be better if all the robots used the same infrastructure
    • Basically, we want the DCO Probot app, but allowing the author emails to mismatch. The person posting the PR's email should match the signed-off-by.
  5. Add CI for Absoft and NAG Fortran compilers (we have licenses from these vendors to allow us to do this).

Clone this wiki locally