pytorch / pytorch/executorch

Automate dependency updates with a scheduled Action

Open Beginner friendly
#21,640 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement triaged
Dominant language
Python
Stars
5k
Forks
1.2k
Avg merge
2d 10h
Merged PRs (30d)
581

Description

🚀 The feature, motivation and pitch

Hi, thanks for creating and maintaining this package. I use it in some of my own projects and wanted to help make sure it stays secure and well maintained with the least effort from maintainers.

Looking through the commit history, dependency bumps look like they're done manually right now, but I've recently created a new GitHub Action called Update Dependencies that might help here: https://github.com/marketplace/actions/update-dependencies

It scans your package manager(s), opens a PR with version bumps, and labels each change as breaking or non-breaking (Depending on which strategy we use).

Suggested setup for this repo:

  • Run it monthly, non-breaking updates only, so not much manual review is needed.
  • Set min-release-age-days to 14 (default is 3, similar to Github's Dependabot). That gives the community about two weeks to catch bugs or security issues in a new release before it lands here.
  • If you already run tests on every PR (which it seems you do), no extra config needed; your CI just checks the update PR like any other PR.

One thing worth noting: the GitHub token should be a PAT rather than the default token, so your CI actually triggers on the PR it opens. That'd need an admin to create and maintain.

Example workflow:

name: Update Dependencies

on:
  schedule:
    - cron: '0 2 1 * *' # monthly, 1st of month at 02:00 UTC
  workflow_dispatch:

permissions:
  contents: write
  pull-requests: write

jobs:
  update:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: yanovian/update-dependencies-action@v1
        with:
          update-strategy: non-breaking
          min-release-age-days: 14
          create-pull-request: true
          github-token: ${{ secrets.PAT_TOKEN }}

What do you think? Happy to help set it up if useful.

Alternatives

Manual update or "custom scripts" but none of them actually check with the list of CVEs, and also it is not easy to check the update time for every single package.

Additional context

No response

RFC (Optional)

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the repository's existing GitHub Actions workflows and dependency manifests, then compare their permissions and test triggers with the proposed scheduled workflow. Done means a monthly workflow uses the specified non-breaking strategy and 14-day release age, creates update pull requests, and has the required PAT configuration confirmed by a maintainer.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions
Domain
ci-cd
Issue type
Feature
Difficulty
2/5
Estimated time
Half a day
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.