Skip to content
Latchkey

How to Run Renovate Self-Hosted in a Workflow

Running Renovate self-hosted means invoking the renovatebot/github-action on a cron schedule with a token, so no third-party app needs access to your repositories.

Add a scheduled workflow that runs renovatebot/github-action. Provide a token (a PAT or GitHub App token) with permission to open PRs. This replaces the hosted Renovate app and gives you full control over frequency and runners.

Steps

  • Create a token with contents and pull-requests write access.
  • Add a workflow on schedule that runs renovatebot/github-action.
  • Pass the token via the token input.
  • Keep your renovate.json in the repo as usual.

Self-hosted workflow

.github/workflows/renovate.yml
name: Renovate
on:
  schedule:
    - cron: '0 2 * * *'
  workflow_dispatch:
jobs:
  renovate:
    runs-on: ubuntu-latest
    steps:
      - uses: renovatebot/github-action@v40
        with:
          token: ${{ secrets.RENOVATE_TOKEN }}
        env:
          RENOVATE_REPOSITORIES: my-org/my-repo

Gotchas

  • The default GITHUB_TOKEN cannot open PRs that trigger other workflows; use a PAT or GitHub App token.
  • Self-hosting means you own the runner minutes and upgrade cadence of the Renovate version.
  • Pin the action to a version tag so a Renovate release does not silently change behavior mid-run.

Related guides

Run this faster and cheaper on Latchkey managed runners. Start free →