Repository navigation
fix(ci): route Dependabot PRs through the maintainer-dispatched service tests - #802
Merged
Merged
Conversation
…ce tests Dependabot pushes its branches to this repository, so its PRs passed the same-repo guard on the secret-dependent jobs. GitHub withholds Actions secrets from Dependabot-triggered runs, so Service Tests and Notebook Validation always failed on them. Skip those jobs when github.actor is dependabot[bot], as for forks, and let test-fork-pr.yml accept Dependabot PRs so a maintainer can dispatch the service tests with secrets after reviewing the bump.
…rk and Dependabot PRs Those PRs now show Service Tests and Notebook Validation as skipped, which reads as passing, so nothing else prompts anyone to run test-fork-pr.yml before merging.
vishal-bala
marked this pull request as ready for review
October 30, 2026 12:50
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: d8a7d3a782
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
test.yml exports it to the service tests, but test-fork-pr.yml did not, so on fork and Dependabot PRs the Google GenAI integration fixture fell back to the Vertex backend and never exercised the Gemini API.
|
🚀 PR was released in |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
Every Dependabot PR fails CI on two jobs, Service Tests and Notebook Validation, regardless of what it bumps. Dependabot pushes its branches to this repository, so its PRs pass the same-repository guard that keeps fork PRs away from secret-dependent jobs. GitHub, however, gives runs that Dependabot triggers no Actions secrets, so those jobs start with every API key empty. On #751, Service Tests stops at the Google Cloud authentication step for want of
GOOGLE_CREDENTIALS, and the notebooks fall through togetpassprompts that cannot run in CI. The same two jobs failed on #744, #749, #751 and #799.Changes
This PR treats Dependabot PRs the way fork PRs are already treated: the secret-dependent jobs skip, and a maintainer runs them with secrets after reading the change.
.github/workflows/test.yml: Service Tests and Notebook Validation also skip whengithub.actorisdependabot[bot]. The guard keys on the actor because that is what GitHub withholds secrets on, so a maintainer's push to a Dependabot branch still runs both jobs with secrets..github/workflows/test-fork-pr.yml: the dispatch-only workflow now accepts PRs opened bydependabot[bot]as well as fork PRs, and still rejects other same-repository PRs.CONTRIBUTING.md: a short section telling maintainers to rungh workflow run test-fork-pr.yml -f pr_number=<n>before merging a fork or Dependabot PR.Notes
mainafter merge and nightly.Reviewer Brief
Start here:
.github/workflows/test.yml:25, the Service Testsif:guard. It decides which PR runs get secret-dependent jobs, and the Notebook Validation guard at:152repeats it.Where it could fail
.github/workflows/test-fork-pr.yml:46-51: the new acceptance checks who opened the PR (pr.data.user.login), not who wrote its commits, so a write-access user's commit on a Dependabot branch would also be tested with secrets; that user can already run code with secrets from any same-repository branch.Not verified: neither workflow has run with this change. The
github.actorguard and the Dependabot acceptance intest-fork-pr.ymlcan only be confirmed on a real Dependabot PR plus a manual dispatch. actionlint was not available; both files parse as YAML, and thesetupscript passesnode --check.Beyond CI: the logs of run 37937957172 (#751) show every secret empty on a Dependabot-triggered run, Service Tests failing at Google Cloud authentication, and Notebook Validation failing on
getpassAPI-key prompts, which confirms that both jobs need secrets and lose no working coverage by skipping.Since the last brief:
a59789b7passesGEMINI_API_KEYto the dispatched service tests, matchingtest.yml, so the Google GenAI fixture exercises the Gemini backend there too.Reviewed
d8a7d3a7· Claude Code (claude-opus-5-5) · lenses: correctness, security, design, tests, docs, Redis behaviourNote
Low Risk
Workflow and contributor-doc changes only; no application or secret-handling logic changes, though skipped jobs still report as passing until a maintainer runs the dispatch workflow.
Overview
Dependabot PRs were hitting Service Tests and Notebook Validation with no Actions secrets (same-repo branches, but GitHub withholds secrets on Dependabot-triggered runs), so CI failed on empty API keys. This PR aligns Dependabot with the existing fork PR pattern.
test.ymlskips those secret-dependent jobs whengithub.actorisdependabot[bot](while still running them for maintainer pushes on the same branch).test-fork-pr.ymlnow allows manual dispatch for Dependabot PRs as well as forks, with updated validation and comments.CONTRIBUTING.mddocuments runninggh workflow run test-fork-pr.yml -f pr_number=<n>before merge.The fork-pr workflow also wires
GEMINI_API_KEYinto the service-tests env alongside the other provider secrets.Reviewed by Cursor Bugbot for commit a59789b. Bugbot is set up for automated code reviews on this repo. Configure here.