Skip to content

feat: Add Renovate comments for dependency detection and add local te…#220

Merged
kmannislands merged 2 commits intomainfrom
feature/135-renovate
Jan 21, 2026
Merged

feat: Add Renovate comments for dependency detection and add local te…#220
kmannislands merged 2 commits intomainfrom
feature/135-renovate

Conversation

@danielschlegel
Copy link
Copy Markdown
Collaborator

@danielschlegel danielschlegel commented Jan 7, 2026

🔧 Major Configuration Changes

.github/renovate.json5 - Comprehensive Renovate Enhancement

  • Enabled multiple package managers:

    • GitHub Actions (github-actions)
    • npm for Node.js projects
    • pip for Python requirements
    • Bundler for Ruby projects
    • Docker Compose manager
  • Enhanced Docker/Dockerfile management:

    • Extended file patterns to include Dockerfile* and docker-compose*.yml
    • Maintained existing Earthfile support
  • Added 5 new custom managers:

    1. Shell script docker-compose versions - Detects docker-compose downloads in shell scripts
    2. Python requirements.txt - Manages Python package versions
    3. Go version in .mise.toml - Updates Go toolchain versions
    4. Enhanced Earthfile patterns - Better detection of dependencies
    5. Docker image detection - Improved container image management
  • Restructured package rules:

    • Removed blanket disabling of dockerfile dependencies
    • Added 8 new grouping rules:
      • dockerfile-dependencies - Groups all Dockerfile updates (monthly)
      • examples-and-docs-dependencies - Groups example/docs updates (monthly)
      • nodejs-examples-dependencies - Groups Node.js dependencies
      • python-examples-dependencies - Groups Python dependencies
      • ruby-examples-dependencies - Groups Ruby dependencies
      • github-actions - Groups GitHub Actions updates
      • shell-script-dependencies - Groups shell script dependencies
      • docker-compose-dependencies - Groups Docker Compose updates
      • mise-tool-versions - Groups development tool versions

🏷️ Renovate Comments Added

Infrastructure Files

  • .devcontainer/Dockerfile - Added renovate comment for Microsoft devcontainer base image
  • Earthfile - Added comment for earthly/lib dependency
  • buildkitd/docker-auto-install.sh - Added 3 renovate comments for docker-compose installations across different architectures

Example Projects

  • examples/go/docker-compose.yml - Fixed image reference format
  • examples/ruby-on-rails/Earthfile - Added renovate comment
  • examples/zig/Earthfile - Added renovate comment

Test Infrastructure (11 files)

Added renovate comments to various test Dockerfiles and docker-compose files:

  • scripts/tests/interactive-debugger/docker-compose/rot13/Dockerfile
  • tests/autoskip/Dockerfile
  • tests/dind-auto-install/docker-compose.yml
  • tests/docker/Dockerfile
  • tests/docker2earth/Dockerfile1
  • tests/docker2earth/Dockerfile2
  • tests/dockerfile/Dockerfile
  • tests/local/with-docker-compose-local-reg/docker-compose.yml
  • tests/local/with-docker-compose-local/docker-compose.yml
  • tests/with-docker-compose/docker-compose.yml

📝 New Testing Infrastructure

scripts/test-renovate-simple.sh (173 lines)

  • Quick validation script (~30 seconds runtime)
  • No GitHub token required
  • Features:
    • JSON5 syntax validation using Docker
    • Regex pattern testing with sample files
    • Configuration loading verification
    • Comprehensive analysis output with manager summary

scripts/test-renovate-full.sh (147 lines)

  • Full end-to-end testing with GitHub API
  • Requires GitHub token
  • Features:
    • GitHub token validation
    • Live Renovate execution in dry-run mode
    • Real repository analysis
    • Advanced testing options

scripts/README-renovate-testing.md (121 lines)

@github-actions
Copy link
Copy Markdown

github-actions bot commented Jan 7, 2026

➖ Are we earthbuild yet?

No change in "earthly" occurrences

📈 Overall Progress

Branch Total Count
main 5726
This PR 5726
Difference +0

Keep up the great work migrating from Earthly to Earthbuild! 🚀

💡 Tips for finding more occurrences

Run locally to see detailed breakdown:

./.github/scripts/count-earthly.sh

Note that the goal is not to reach 0.
There is anticipated to be at least some occurences of earthly in the source code due to backwards compatibility with config files and language constructs.

@gemini-code-assist
Copy link
Copy Markdown

Summary of Changes

Hello @danielschlegel, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request significantly upgrades the repository's dependency management capabilities by integrating Renovate more deeply across various file types and technologies. The changes aim to ensure more comprehensive and automated tracking of dependencies, from Docker images and Earthly build steps to language-specific packages. Additionally, it provides robust local testing tools, empowering developers to validate Renovate configurations efficiently before deployment, thereby streamlining the update process and reducing potential issues.

Highlights

  • Enhanced Renovate Dependency Detection: Added # renovate: comments to various Dockerfiles, Earthfiles, and docker-compose.yml files to explicitly guide Renovate in detecting and managing dependencies, particularly for Docker images, Earthly library versions, and docker-compose installations within shell scripts.
  • Expanded Renovate Manager Support: Updated the .github/renovate.json5 configuration to enable a broader range of dependency managers, including GitHub Actions, npm, pip_requirements, bundler, and docker-compose. This significantly increases the types of dependencies Renovate can automatically track and update.
  • Introduced Custom Regex Managers: Implemented new custom regex managers within .github/renovate.json5 to handle specific dependency patterns not covered by standard managers. This includes updating docker-compose versions in shell scripts, Python packages in requirements.txt, and Go versions in .mise.toml files.
  • Refined Dependency Grouping and Scheduling: Adjusted Renovate's package rules to improve dependency grouping and scheduling. This includes grouping all Dockerfile dependencies, examples and docs dependencies, and language-specific dependencies (Node.js, Python, Ruby) for more organized and predictable updates, mostly on a monthly schedule.
  • Added Local Renovate Testing Scripts: Introduced two new shell scripts (test-renovate-simple.sh and test-renovate-full.sh) along with a comprehensive README-renovate-testing.md to facilitate local testing and validation of the Renovate configuration. These scripts allow developers to verify Renovate's setup without deploying changes to production.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request significantly enhances dependency management automation by expanding Renovate's capabilities. It introduces new managers, custom patterns for better dependency detection in various file types, and adds local testing scripts which are a great addition for validating configuration changes. The changes are well-structured. I've provided a few suggestions to simplify the new test scripts and to address a couple of redundancies and potential conflicts in the Renovate configuration to ensure it's as clean and efficient as possible.

@danielschlegel danielschlegel self-assigned this Jan 8, 2026
@danielschlegel danielschlegel marked this pull request as ready for review January 8, 2026 07:11
@danielschlegel danielschlegel requested a review from a team as a code owner January 8, 2026 07:11
@danielschlegel danielschlegel requested review from kmannislands and removed request for a team January 8, 2026 07:11
Copy link
Copy Markdown

@gilescope gilescope left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good step in the right direction. Once the comments are resolved this is good to land.

@danielschlegel
Copy link
Copy Markdown
Collaborator Author

@kmannislands i removed the scripts and rebased on main.

@kmannislands kmannislands merged commit cd88c87 into main Jan 21, 2026
5 of 6 checks passed
@kmannislands kmannislands deleted the feature/135-renovate branch January 21, 2026 18:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants