Skip to content

feat(caretaker-evals): add Cloud Run job entrypoint for eval runner - #28727

Merged
gundermanc merged 4 commits into
google-gemini:mainfrom
chadd28:feat/caretaker-eval-cloud-runner
Aug 7, 2026
Merged

gundermanc merged 4 commits into
google-gemini:mainfrom
chadd28:feat/caretaker-eval-cloud-runner

Conversation

@chadd28

@chadd28 chadd28 commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds the Cloud Run Job entrypoint (cloud_runner.py), GCS artifact sync helper (helpers/sync_to_gcs.py), and container definition (Dockerfile.evals) for executing the Caretaker Triage Evaluation Suite on Google Cloud Run.

Details

  • tools/caretaker-agent/evals/triage/cloud_runner.py: Reads EVAL_CONFIG JSON environment variables, executes run_suite() benchmark runs, and triggers automatic GCS result synchronization.
  • tools/caretaker-agent/evals/triage/helpers/sync_to_gcs.py: Uploads evaluation run artifacts (Markdown summaries and JSON execution logs) to Google Cloud Storage (gs://triage-eval-results/runs/) with explicit UTF-8 headers for rendering on web dashboards.
  • tools/caretaker-agent/Dockerfile.evals: Defines the Python 3.13 container environment pre-baking target workspace dependencies for Cloud Run Job execution.

📌 Note: Depends on #28530 (feat/caretaker-evals).

Pre-Merge Checklist

  • Updated relevant documentation and README (if needed)
  • Added/updated tests (if needed)
  • Noted breaking changes (if any)
  • Validated on required platforms/methods:
    • MacOS
      • npm run
      • npx
      • Docker
      • Podman
      • Seatbelt
    • Windows
      • npm run
      • npx
      • Docker
    • Linux
      • npm run
      • npx
      • Docker

@chadd28
chadd28 requested a review from a team as a code owner August 7, 2026 19:19
@github-actions github-actions Bot added the size/m A medium sized PR label Aug 7, 2026
@github-actions

github-actions Bot commented Aug 7, 2026 •

Copy link
Copy Markdown

📊 PR Size: size/M

  • Lines changed: 119
  • Additions: +119
  • Deletions: -0
  • Files changed: 3

@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown

You already have 7 pull requests open. Please work on getting existing PRs merged before opening more.

@gemini-code-assist

Copy link
Copy Markdown
Contributor

Summary of Changes

Hello, 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 enables the execution of the Caretaker Triage Evaluation Suite in a serverless environment by providing the necessary infrastructure for Google Cloud Run Jobs. It includes a dedicated container definition, an execution entrypoint that handles configuration via environment variables, and a robust synchronization mechanism to persist evaluation results to cloud storage.

Highlights

  • Cloud Run Job Integration: Introduced a new entrypoint script, cloud_runner.py, to facilitate the execution of the Caretaker Triage Evaluation Suite as a Google Cloud Run Job.
  • GCS Artifact Synchronization: Added a helper utility, sync_to_gcs.py, to automatically upload evaluation artifacts (Markdown and JSON) to Google Cloud Storage with proper UTF-8 content types.
  • Containerization: Created a new Dockerfile to define the Python 3.13 environment, including pre-baked dependencies and repository cloning for streamlined Cloud Run deployments.
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 the 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 counterproductive. 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.

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. ↩

@chadd28 chadd28 reopened this Aug 7, 2026

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

Copy link
Copy Markdown
Contributor

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 introduces a Dockerfile and supporting Python scripts (cloud_runner.py and sync_to_gcs.py) under tools/caretaker-agent to run the Gemini CLI Triage Evaluation Suite as a Cloud Run Job and sync results to Google Cloud Storage. Feedback highlights a potential runtime AttributeError in cloud_runner.py if EVAL_CONFIG parses to a non-dictionary JSON value, and a Docker caching issue in the Dockerfile where cloning the repository without a pinned commit can lead to stale, non-reproducible builds.

Comment thread tools/caretaker-agent/evals/triage/cloud_runner.py
Comment thread tools/caretaker-agent/Dockerfile
@gundermanc
gundermanc added this pull request to the merge queue Aug 7, 2026
Merged via the queue into google-gemini:main with commit cd5ac17 Aug 7, 2026
34 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/m A medium sized PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants