Skip to content

Implement automatic dependency bumping #15

@njsmith

Description

@njsmith

Dependabot is cool, but has some issues:

  • It's super noisy. I got 20 emails from it yesterday, which is not unusual. There are dozens of people watching our repos, so multiply by that. And probably we'll have more repos in the future. I've hesitated to add it to new repos because of this. And 95% of these emails are completely irrelevant to any human, which makes it hard to find the 5% that we care about.

  • It can't auto-merge into repos with a restricted committer list, like this one. (There's no way to add a "github app" to the allowed committers list.)

  • Its auto-merge feature is going to be problematic once we switch to a bors-like workflow where a bot handles merges in serial order. The bors workflow assumes that only the bors-bot commits to the master branch; we'd want the dependency updates to get routed into the bors-bot merge queue, but dependabot can't do that.

Our dependency bumping needs are actually super simple, and could be handled by a bot that does something like this:

  • On some schedule, pull down the repo, and run pip-compile
  • If this results in changes, push them back as a branch, and watch to see if the tests pass
  • If the tests pass, merge it automatically without hassling anyone
  • If the tests don't pass, convert the branch into a PR and leave it for a human to sort out

So maybe snekomatic should grow the ability to handle dependency bumping, integrated into any future bors-like features.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions