google-github-actions / google-github-actions/run-gemini-cli
Silent success when multiple auth methods are provided (zero review output, no error)
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 2.1k
- Forks
- 285
- Avg merge
- 8h 8m
- Merged PRs (30d)
- 1
Description
Summary
When a workflow passes multiple auth methods to run-gemini-cli@v0 simultaneously (e.g., both gcp_workload_identity_provider AND gemini_api_key and/or google_api_key), the action emits warnings but proceeds anyway. The job exits with conclusion: success, no error surface, but produces zero observable output — no review comments, no MCP tool calls visible in the log, no error message on the PR.
The same silent-success pattern occurs when WIF is configured but neither use_vertex_ai nor use_gemini_code_assist is set to true.
This is the worst possible failure mode for a CI tool: green check, no review, no clue why.
Why this is hard to diagnose
- Job
conclusion: success— no GitHub-level signal anything is wrong - The runner log shows env setup → context load → straight to "Post job cleanup" with nothing observable in between
- No 4xx/5xx from Vertex AI or any other backend appears anywhere
- No model output, no tool calls, no error trace
- The action's validation warnings are only visible with
ACTIONS_STEP_DEBUG=trueas a repo secret
We spent several hours chasing quota limits, IAM roles, billing, and service-account permissions before enabling debug logging and finding the actual cause.
Reproduction
Workflow input that triggers silent failure:
uses: google-github-actions/run-gemini-cli@v0
with:
gcp_workload_identity_provider: 'projects/.../providers/...'
gcp_service_account: 'sa@project.iam.gserviceaccount.com'
gemini_api_key: '${{ secrets.GEMINI_API_KEY }}' # competing
google_api_key: '${{ secrets.GOOGLE_API_KEY }}' # competing
use_vertex_ai: 'true'
With this config:
- All three auth methods are non-empty
- The action emits warnings about ambiguity but does NOT fail
- The job reports
successwith zero side effects
What the action actually emits (debug-only)
WARNING: Multiple authentication methods provided. Please use only one of
'gemini_api_key', 'google_api_key', or 'gcp_workload_identity_provider'.
WARNING: When using Workload Identity Federation, you must set exactly
one of 'use_vertex_ai' or 'use_gemini_code_assist' to 'true'.
Request
These warnings should be errors that fail the job, not warnings that proceed silently:
- If multiple non-empty auth methods are provided, exit non-zero with a clear message naming which inputs are conflicting.
- If WIF is used and neither
use_vertex_ainoruse_gemini_code_assistis explicitly true, exit non-zero rather than running with no backend. - Surface input-validation warnings to the standard log (not only the
##[debug]channel).
The current behavior makes the action effectively impossible to debug from a green-check status alone. Failing loudly on misconfig would turn "spent a day diagnosing a green-checkmark silent-no-op" into "30 seconds of reading the error".
Workaround
Configure exactly one auth method. We removed gemini_api_key and google_api_key from our workflows and rely on WIF + Vertex AI only — see our fix PR for the diff.
Action version
google-github-actions/run-gemini-cli@v0 (SHA f77273f4c914e4bf38440cf36a0369cb64a37489 at time of report)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the action's input-validation entry point for run-gemini-cli@v0 and reproduce the workflow with competing auth inputs and WIF without a selected backend. Check how those warnings reach the Actions log. Done means each invalid configuration fails non-zero with a clear conflicting-input message, and validation output is visible without ACTIONS_STEP_DEBUG.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions, google-cloud, typescript
- Domain
- ai, authentication, ci-cd
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 55/100