# renovate

Published articles for renovate.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Solving Gradle metadata and Renovate integration

DevFeed: [Solving Gradle metadata and Renovate integration](<https://devfeed.tech/articles/solving-gradle-metadata-and-renovate-integration-18921.md>)

Original publisher: [Read original article](<https://blog.frankel.ch/gradle-metadata-renovate-integration/>)

Author: Nicolas Fränkel

Published: 2026-08-16T00:00:00Z

Content type: tutorial

Language: en

Sources: [Nicolas Fränkel](<https://devfeed.tech/sources/nicolas-frankel.md>)

Topics: [Gradle](<https://devfeed.tech/topics/gradle.md>), [renovate](<https://devfeed.tech/topics/renovate.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Groovy](<https://devfeed.tech/topics/groovy.md>)

Tags: [ci](<https://devfeed.tech/tags/ci.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [dependency](<https://devfeed.tech/tags/dependency.md>), [development](<https://devfeed.tech/tags/development.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [renovate](<https://devfeed.tech/tags/renovate.md>), [software-supply-chain](<https://devfeed.tech/tags/software-supply-chain.md>), [supply-chain-attacks](<https://devfeed.tech/tags/supply-chain-attacks.md>), [supply-chain-security](<https://devfeed.tech/tags/supply-chain-security.md>)

### AI overview

The article describes setting up Renovate for a Gradle project and investigating why merges of updated dependency versions caused build failures. It also discusses dependency verification and software supply chain risks.

### Source excerpt

My current company has settled on using Gradle. It doesn't make me very happy, but you need to learn to work with constraints. Plus, I must admit that the developers who actually implemented the build files did a pretty good job overall: they used Kotlin instead of Groovy, they moved code to regular plugins, etc. This week, I worked on improvements to a new project and set up Renovate.

## GitHub agentic workflows and Renovate

DevFeed: [GitHub agentic workflows and Renovate](<https://devfeed.tech/articles/github-agentic-workflows-and-renovate-18920.md>)

Original publisher: [Read original article](<https://blog.frankel.ch/github-agentic-workflow-renovate/>)

Author: Nicolas Fränkel

Published: 2026-08-02T00:00:00Z

Content type: tutorial

Language: en

Sources: [Nicolas Fränkel](<https://devfeed.tech/sources/nicolas-frankel.md>)

Topics: [GitHub](<https://devfeed.tech/topics/github.md>), [GitHub Actions](<https://devfeed.tech/topics/github-actions.md>)

Tags: [agentic-workflow](<https://devfeed.tech/tags/agentic-workflow.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [github](<https://devfeed.tech/tags/github.md>), [github-actions](<https://devfeed.tech/tags/github-actions.md>), [github-agentic-workflows](<https://devfeed.tech/tags/github-agentic-workflows.md>), [pull-requests](<https://devfeed.tech/tags/pull-requests.md>), [renovate](<https://devfeed.tech/tags/renovate.md>), [rollback](<https://devfeed.tech/tags/rollback.md>), [technical](<https://devfeed.tech/tags/technical.md>)

### AI overview

This article explains how Renovate dependency updates can break GitHub agentic workflows by changing an action SHA without updating the matching generated scripts. It also describes a failed recompilation workflow that rolled back an unrelated Node.js update, then identifies the need to keep the generated lock file synchronized with its release.

### Source excerpt

I've been a big fan of Renovate for a couple of years already. Renovate scans your repositories, detects outdated package versions, and opens pull requests to automatically bump them. It's similar to Dependabot in that it keeps your dependencies up to date. If I had to compare them in one sentence, I'd say Renovate is less integrated in the GitHub ecosystem, but handles more ecosystems and, more importantly, is extensible.

## Running Renovate as a GitHub Action (and NO PAT!)

DevFeed: [Running Renovate as a GitHub Action (and NO PAT!)](<https://devfeed.tech/articles/running-renovate-as-a-github-action-and-no-pat-13214.md>)

Original publisher: [Read original article](<https://www.chainguard.dev/unchained/running-renovate-as-a-github-action>)

Published: 2026-01-19T00:00:00Z

Content type: tutorial

Language: en

Sources: [Chainguard: Unchained](<https://devfeed.tech/sources/chainguard-unchained.md>)

Topics: [renovate](<https://devfeed.tech/topics/renovate.md>), [GitHub Actions](<https://devfeed.tech/topics/github-actions.md>), [octo sts](<https://devfeed.tech/topics/octo-sts.md>), [github personal access token](<https://devfeed.tech/topics/github-personal-access-token.md>), [Security](<https://devfeed.tech/topics/security.md>), [maintenance](<https://devfeed.tech/topics/maintenance.md>)

Tags: [chainguard-containers](<https://devfeed.tech/tags/chainguard-containers.md>), [chainguard-images](<https://devfeed.tech/tags/chainguard-images.md>), [dependabot](<https://devfeed.tech/tags/dependabot.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [github](<https://devfeed.tech/tags/github.md>), [github-action](<https://devfeed.tech/tags/github-action.md>), [github-pat-alternative](<https://devfeed.tech/tags/github-pat-alternative.md>), [guide](<https://devfeed.tech/tags/guide.md>), [maintenance](<https://devfeed.tech/tags/maintenance.md>), [octo-sts](<https://devfeed.tech/tags/octo-sts.md>), [personal-access-token](<https://devfeed.tech/tags/personal-access-token.md>), [renovate](<https://devfeed.tech/tags/renovate.md>), [run](<https://devfeed.tech/tags/run.md>), [security](<https://devfeed.tech/tags/security.md>), [software-supply-chain-security](<https://devfeed.tech/tags/software-supply-chain-security.md>)

### AI overview

This tutorial explains how to run Renovate as a scheduled GitHub Action to update repository dependencies without using a long-lived GitHub Personal Access Token. It presents Octo STS as the replacement for the PAT and outlines the workflow setup.

### Source excerpt

Discover how you can run Renovate as a GitHub Action without needing a GitHub Personal Access Token by using Octo STS.

## An Ode to Defense in Depth

DevFeed: [An Ode to Defense in Depth](<https://devfeed.tech/articles/an-ode-to-defense-in-depth-12870.md>)

Original publisher: [Read original article](<https://www.chainguard.dev/unchained/an-ode-to-defense-in-depth>)

Published: 2025-03-17T00:00:00Z

Content type: article

Language: en

Sources: [Chainguard: Unchained](<https://devfeed.tech/sources/chainguard-unchained.md>)

Topics: [supply-chain-security](<https://devfeed.tech/topics/supply-chain-security.md>), [GitHub](<https://devfeed.tech/topics/github.md>), [Security](<https://devfeed.tech/topics/security.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [Maintainers](<https://devfeed.tech/topics/maintainers.md>)

Tags: [2025](<https://devfeed.tech/tags/2025.md>), [automation](<https://devfeed.tech/tags/automation.md>), [awareness](<https://devfeed.tech/tags/awareness.md>), [chainguard](<https://devfeed.tech/tags/chainguard.md>), [defense-in-depth](<https://devfeed.tech/tags/defense-in-depth.md>), [github](<https://devfeed.tech/tags/github.md>), [maintainers](<https://devfeed.tech/tags/maintainers.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [pull-requests](<https://devfeed.tech/tags/pull-requests.md>), [renovate](<https://devfeed.tech/tags/renovate.md>), [secrets](<https://devfeed.tech/tags/secrets.md>), [security](<https://devfeed.tech/tags/security.md>), [software-supply-chain-security](<https://devfeed.tech/tags/software-supply-chain-security.md>), [spoof](<https://devfeed.tech/tags/spoof.md>), [supply-chain](<https://devfeed.tech/tags/supply-chain.md>), [supply-chain-security](<https://devfeed.tech/tags/supply-chain-security.md>), [team](<https://devfeed.tech/tags/team.md>)

### AI overview

Chainguard describes how a March 14, 2025 supply chain attack compromised tags in the tj-actions/changed-files GitHub repository, causing a malicious commit to dump action-runner memory and potentially expose secrets. The article outlines Chainguard's defense-in-depth response, including blocking affected updates, suspending some automation, checking affected repositories, contacting customers and maintainers, and treating build systems like production systems.

### Source excerpt

Chainguard's defense in depth approach to security helped protect it from the recent tj-actions/changed-files GitHub repository compromise. Learn more about how.

## Using Renovate to update build JDK

DevFeed: [Using Renovate to update build JDK](<https://devfeed.tech/articles/using-renovate-to-update-build-jdk-20982.md>)

Original publisher: [Read original article](<https://jakewharton.com/using-renovate-to-update-build-jdk/>)

Published: 2025-01-08T00:00:00Z

Content type: tutorial

Language: en

Sources: [Jake Wharton](<https://devfeed.tech/sources/jake-wharton.md>)

Topics: [Java](<https://devfeed.tech/topics/java.md>), [GitHub Actions](<https://devfeed.tech/topics/github-actions.md>), [ci](<https://devfeed.tech/topics/ci.md>), [Spring Boot](<https://devfeed.tech/topics/spring-boot.md>), [JSON](<https://devfeed.tech/topics/json.md>), [Development](<https://devfeed.tech/topics/development.md>), [Homebrew](<https://devfeed.tech/topics/homebrew.md>), [toolchains](<https://devfeed.tech/topics/toolchains.md>)

Tags: [build](<https://devfeed.tech/tags/build.md>), [ci](<https://devfeed.tech/tags/ci.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [github-actions](<https://devfeed.tech/tags/github-actions.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [java](<https://devfeed.tech/tags/java.md>), [jdk](<https://devfeed.tech/tags/jdk.md>), [json](<https://devfeed.tech/tags/json.md>), [jvm](<https://devfeed.tech/tags/jvm.md>), [renovate](<https://devfeed.tech/tags/renovate.md>), [toolchains](<https://devfeed.tech/tags/toolchains.md>), [update](<https://devfeed.tech/tags/update.md>)

### AI overview

This article explains how to use Renovate to keep the JDK used by a GitHub Actions CI build updated automatically. It moves the Java version into a .github/.java-version file, configures setup-java to read that file, and adds a custom regex manager in renovate.json to update the file. The approach allows local development with the latest JDK while preserving compatibility with older Java versions for targeting and testing.

### Source excerpt

You want to be using the latest JDK for development. Don't use Gradle toolchains, they'll needlessly force you to use old JDKs. You can still target and test on old JVM versions but develop with the latest and greatest. Java and the JDK are literally built for this. Locally this hasn't been a problem. Homebrew (or your favorite equivalent) will keep your default JDK at the latest. Keeping my GitHub actions up-to-date, however, frequently slips my mind. I find projects using 19 or 20 simply because I haven't touched the CI build in the two years since 19 or 20 was the latest. We're already using Renovate to keep dependencies up to date. With a little extra programming in JSON (wince) we can have the JDK version updated to latest as well. First, migrate the existing build JDK version in your GitHub Action to a .github/.java-version file1. 21 Next, change the setup-java action to use this file rather than a hard-coded version. - uses: actions/setup-java@v4 with: distribution: 'zulu' - java-version: 21 + java-version-file: .github/.java-version Finally, in your renovate.json52, add a custom manager to update this file3. ignorePresets: [ // Ensure we get the latest version and are not pinned to old versions. 'workarounds:javaLTSVersions', ], customManagers: [ // Update .java-version file with the latest JDK version. { customType: 'regex', fileMatch: [ '\\.java-version$', ], matchStrings: [ '(?<currentValue>.*)\\n', ], datasourceTemplate: 'java-version', depNameTemplate: 'java', // Only write the major version. extractVersionTemplate: '^(?<version>\\d+)', }, ], Commit, push, and wait for Renovate to send you a PR4. Now your CI build automatically tracks the latest JDK. I'm putting the .java-version file into the .github/ folder because I don't want to force this version on people using jenv or the like. The whole point of this setup is you can build with any version of Java newer than our very, very old baseline of Java 8 (although things like Gradle have a higher minimum

## Automatic updates of Docker images with Renovate Bot

DevFeed: [Automatic updates of Docker images with Renovate Bot](<https://devfeed.tech/articles/automatic-updates-of-docker-images-with-renovate-bot-27699.md>)

Original publisher: [Read original article](<https://gagor.pro/2024/03/automatic-updates-of-docker-images-with-renovate-bot/>)

Author: Tom

Published: 2024-03-01T00:00:00Z

Content type: tutorial

Language: en

Sources: [Tomasz Gągor](<https://devfeed.tech/sources/tomasz-gagor.md>)

Topics: [Docker](<https://devfeed.tech/topics/docker.md>), [Dockerfile](<https://devfeed.tech/topics/dockerfile.md>), [renovate](<https://devfeed.tech/topics/renovate.md>), [configuration](<https://devfeed.tech/topics/configuration.md>)

Tags: [automate-docker-updates](<https://devfeed.tech/tags/automate-docker-updates.md>), [bash](<https://devfeed.tech/tags/bash.md>), [best-practices](<https://devfeed.tech/tags/best-practices.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [dependency](<https://devfeed.tech/tags/dependency.md>), [developers](<https://devfeed.tech/tags/developers.md>), [devops](<https://devfeed.tech/tags/devops.md>), [devops-best-practices](<https://devfeed.tech/tags/devops-best-practices.md>), [docker](<https://devfeed.tech/tags/docker.md>), [docker-image-updates](<https://devfeed.tech/tags/docker-image-updates.md>), [docker-security](<https://devfeed.tech/tags/docker-security.md>), [dockerfiles](<https://devfeed.tech/tags/dockerfiles.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [linux](<https://devfeed.tech/tags/linux.md>), [renovate](<https://devfeed.tech/tags/renovate.md>), [renovate-bot](<https://devfeed.tech/tags/renovate-bot.md>), [renovate-vs-dependabot](<https://devfeed.tech/tags/renovate-vs-dependabot.md>), [security](<https://devfeed.tech/tags/security.md>), [updates](<https://devfeed.tech/tags/updates.md>)

### AI overview

A practical guide to automating Docker image and dependency updates with Renovate Bot. It explains how Renovate detects parent image changes, tracks binaries downloaded from sources such as GitHub or Maven, and uses custom comments and configuration to identify dependencies and propose or automatically merge updates.

### Source excerpt

Learn how to automate Docker image updates using Renovate Bot, a versatile tool that supports various package managers and custom dependency links.

## Using Renovate Bot to automate Kubernetes container image updates

DevFeed: [Using Renovate Bot to automate Kubernetes container image updates](<https://devfeed.tech/articles/meet-renovate-your-update-automation-bot-for-kubernetes-and-more-10656.md>)

Original publisher: [Read original article](<https://technotim.com/posts/renovate-bot-kubernetes/>)

Author: Techno Tim

Published: 2023-07-01T13:00:00Z

Content type: tutorial

Language: en

Sources: [Techno Tim](<https://devfeed.tech/sources/techno-tim.md>)

Topics: [Automation](<https://devfeed.tech/topics/automation.md>), [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>), [Docker](<https://devfeed.tech/topics/docker.md>), [Pull Request](<https://devfeed.tech/topics/pull-request.md>), [GitHub](<https://devfeed.tech/topics/github.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>)

Tags: [automation](<https://devfeed.tech/tags/automation.md>), [cli](<https://devfeed.tech/tags/cli.md>), [docker](<https://devfeed.tech/tags/docker.md>), [docker-container](<https://devfeed.tech/tags/docker-container.md>), [github](<https://devfeed.tech/tags/github.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [pull-requests](<https://devfeed.tech/tags/pull-requests.md>), [renovate](<https://devfeed.tech/tags/renovate.md>)

### AI overview

This video tutorial explains how Renovate Bot scans dependencies and automates pull requests for updated container images. It focuses on configuring Renovate for Kubernetes resources and discusses running it through a Node module, CLI, Docker, Kubernetes, or hosted Git-provider integrations.

### Source excerpt

Keeping track of container image updates is hard. I started using Renovate Bot to to track these for me and I now get pull requests from a bot for my Docker and Kubernetes container images. It's a game changer. A HUGE thanks to Datree for sponsoring this video! Secure Your Kubernetes, Prevent Misconfigurations https://www.datree.io 📺 Watch Video Why use Renovate? How much time do you sp...

## Tips and tricks for using Renovate

DevFeed: [Tips and tricks for using Renovate](<https://devfeed.tech/articles/tips-and-tricks-for-using-renovate-38559.md>)

Original publisher: [Read original article](<https://msfjarvis.dev/posts/tips-and-tricks-for-using-renovate/>)

Author: Harsh Shandilya

Published: 2023-01-17T19:32:18Z

Content type: tutorial

Language: en

Sources: [Posts on Harsh Shandilya](<https://devfeed.tech/sources/posts-on-harsh-shandilya.md>)

Topics: [renovate](<https://devfeed.tech/topics/renovate.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [Dependabot](<https://devfeed.tech/topics/dependabot.md>), [ci](<https://devfeed.tech/topics/ci.md>), [GitHub Actions](<https://devfeed.tech/topics/github-actions.md>), [Regular expression](<https://devfeed.tech/topics/regular-expression.md>), [Hugo](<https://devfeed.tech/topics/hugo.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Netlify](<https://devfeed.tech/topics/netlify.md>)

Tags: [config](<https://devfeed.tech/tags/config.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [dependabot](<https://devfeed.tech/tags/dependabot.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [dependency-management](<https://devfeed.tech/tags/dependency-management.md>), [github](<https://devfeed.tech/tags/github.md>), [github-actions](<https://devfeed.tech/tags/github-actions.md>), [hugo](<https://devfeed.tech/tags/hugo.md>), [netlify](<https://devfeed.tech/tags/netlify.md>), [regex](<https://devfeed.tech/tags/regex.md>), [renovate](<https://devfeed.tech/tags/renovate.md>), [tips](<https://devfeed.tech/tags/tips.md>)

### AI overview

A practical guide to using Renovate for dependency management. It covers disabling updates for selected packages, grouping related updates, setting semver bounds, detecting dependencies in non-standard declarations with regular expressions, securing GitHub Actions with exact commit SHAs, and automatically merging compatible updates.

### Source excerpt

Renovate is an extremely powerful tool for keeping your dependencies up-to-date, and its flexibility is often left unexplored. I'm hoping to change that

## Configure renovate bot for npm at Homegate

DevFeed: [Configure renovate bot for npm at Homegate](<https://devfeed.tech/articles/configure-renovate-bot-for-npm-at-homegate-23897.md>)

Original publisher: [Read original article](<https://medium.com/smg-real-estate/configure-renovate-bot-for-npm-at-homegate-a6ae11b56ce3?source=rss----2186e5b9bd8f---4>)

Author: Khanh Nguyen

Published: 2022-05-23T12:29:19Z

Content type: tutorial

Language: en

Sources: [Homegate Engineering Blog - Medium](<https://devfeed.tech/sources/homegate-engineering-blog-medium.md>)

Topics: [renovate](<https://devfeed.tech/topics/renovate.md>), [npm](<https://devfeed.tech/topics/npm.md>), [npm packages](<https://devfeed.tech/topics/npm-packages.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [GitLab](<https://devfeed.tech/topics/gitlab.md>), [Automation](<https://devfeed.tech/topics/automation.md>), [Development](<https://devfeed.tech/topics/development.md>)

Tags: [automatic-deployment](<https://devfeed.tech/tags/automatic-deployment.md>), [automation](<https://devfeed.tech/tags/automation.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [github](<https://devfeed.tech/tags/github.md>), [gitlab](<https://devfeed.tech/tags/gitlab.md>), [nodejs](<https://devfeed.tech/tags/nodejs.md>), [npm](<https://devfeed.tech/tags/npm.md>), [npm-packages](<https://devfeed.tech/tags/npm-packages.md>), [pipeline](<https://devfeed.tech/tags/pipeline.md>), [pipelines](<https://devfeed.tech/tags/pipelines.md>), [project](<https://devfeed.tech/tags/project.md>), [renovate](<https://devfeed.tech/tags/renovate.md>), [renovate-bot](<https://devfeed.tech/tags/renovate-bot.md>), [review](<https://devfeed.tech/tags/review.md>), [security](<https://devfeed.tech/tags/security.md>), [upgrade](<https://devfeed.tech/tags/upgrade.md>), [vulnerabilities](<https://devfeed.tech/tags/vulnerabilities.md>)

### AI overview

This article explains how Homegate configured Renovate Bot to automate npm dependency updates across more than 200 repositories. It describes scheduled merge requests, concurrency limits, smart bundling, automatic merging for minor and development dependencies, review requirements for major upgrades, custom npm hosts, and team responsibilities for handling failures and breaking changes.

### Source excerpt

Renovate bot is an automated dependency upgrade for npm packages. It supports many services such as gitlab & github. Homegate repositories structure At Homegate, we have over 200 repositories in micro-services architecture. Keeping services up to date is quite a big overhead. However, the benefits are obvious: Bugfixes New features Security issues / less vulnerabilities Evaluation session result from our engineering teamThe standard configuration We try to make process as automated and standardised as possible. The configuration will automatically create MRs for minor and major upgrade in our gitlab repos and auto-merge them. It is necessary to allow merge without approval in these repositories. Below you'll see our standard configuration with the following features: Schedule MR creations every hour on weekdays Limits apply (concurrent MRs / Rate of creation) Smart bundling can be configured, such as having all linters together or all of our shared frontend library related MRs together Auto-merge for minor and dev-dependencies Separation of major upgrade (requiring review) vs. minor upgrade (auto-merged) Configuration for custom npm host Each project has renovate.json that extends the standard homegate.json with custom config if necessary { "$schema": "https://docs.renovatebot.com/renovate-schema.json", "extends": [ "config:base", ":prHourlyLimitNone", ":automergeLinters", ":automergeTesters", ":automergeTypes", ":automergeMinor", "group:definitelyTyped", "group:postcss", "group:linters", ":rebaseStalePrs", ":maintainLockFilesMonthly" ], "prConcurrentLimit": 2, "schedule": [ "after 6am and before 5pm every weekday" ], "ignoreDeps": ["node-sass", "stylelint", "stylelint-scss", "stylelint-config-standard", "stylelint-config-css-modules"], "packageRules": [ { "matchPackagePatterns": ["vue", "vue-router", "vuex"], "matchUpdateTypes": ["major"], "enabled": false }, { "matchPackagePatterns": ["^@aws-cdk", "aws-cdk"], "matchUpdateTypes": ["major"], "enabled": false }, { "d