Skip to content

Productionize GitHub Action to update dependencies on schedule #188

@peterdemin

Description

@peterdemin

One of the friction points in the adoption of pip-compile-multi, is the lack of support by @dependabot-bot 1, which automates regular updates of the lock files.

The requirements for an update system are:

  1. Run regularly without an explicit trigger from a developer.
  2. Allow locking process customization to support hashed dependencies.
  3. Open a GitHub pull request if any of the lock files changed.
  4. Be cost-free for open-source projects.

One way of implementing this is by using GitHub Actions.
PoC action definition: https://github.com/peterdemin/pip-compile-multi/blob/master/.github/workflows/pipcompilemulti.yml

Example update PR generated by the GitHub Action: #187

Known problems:

  • Pull request is opened on behalf of the user who provided the PAT token, which means that this person won't receive an email notification. The PR will still be shown on the Recent Activity 2 section though.
  • Old Pull requests are not automatically closed when the new ones are created. But it's a relatively low effort to manually delete the obsolete PRs.

CC @davidism

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions