Uh oh!
There was an error while loading. Please reload this page.
ci: give the integration lane the function-mode env it demands - #583
Conversation
The lane has been red on every push to main since #574, which added tests/integration/test_quiz_subcutaneous_db.py. Its autouse fixture raises unless SAPLING_MODEL_MODE=function and SAPLING_FUNCTION_HANDLERS are set — deliberately, since a skip would let the gate report green having run nothing — but nothing that runs the lane sets them. 57 passed, 14 errored. Set the pair on the test step, mirroring e2e.yml, and fix the same gap in the documented invocation in docs/local-supabase.md. Also add a pull_request trigger. This lane ran only on push to main, so #574 could not have failed pre-merge no matter who reviewed it; the one gate built to catch route/schema drift was structurally blind to a PR introducing it. Co-Authored-By: Claude <noreply@anthropic.com>
Warning Review limit reached
Next review available in:59 minutes Limit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?Wait for the limit to reset, then comment An organization admin can change what happens after included review limits in Billing. How do review limits work?CodeRabbit enforces per-developer PR review limits within each organization. For paid Pro and Pro+ reviews, CodeRabbit uses a developer's included PR review attempts over the past 7 days to set the current hourly allowance. At typical activity levels, the full plan allowance applies. Higher sustained activity can lower the allowance until earlier attempts leave the 7-day window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Deploying with |
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs | frontend-staging | fd5fb61 | Commit Preview URL Branch Preview URL | Aug 23 2026, 06:35 AM |
This pull request has been ignored for the connected project Preview Branches by Supabase. |
Uh oh!
There was an error while loading. Please reload this page.
Fixes the
integration (local supabase)lane, red on every push to main since 2026-08-22.What was wrong
b14fc3ba (#574) added
backend/tests/integration/test_quiz_subcutaneous_db.py. Its autouse_requires_function_modefixture raises unlessSAPLING_MODEL_MODE=functionandSAPLING_FUNCTION_HANDLERS=agents.function_handlers_e2eare set. Nothing that runs the lane set them, so every push produced57 passed, 14 errors.The raise is correct and stays: those tests drive
generate/answer/submitthrough real HTTP, so without the seam they would call live Gemini, and a silent skip would let the gate report green having run nothing. The runner was what was wrong.Changes
e2e.ymlL81-82. Applied at the step rather than inside the fixture so the whole lane sees one mode.docs/local-supabase.md— anyone following the documented invocation hit the identicalRuntimeError.pull_requesttrigger. The lane previously ran only on push to main, so test(quiz): the loop through HTTP against real Postgres (#545) #574 could not have failed pre-merge no matter who reviewed it.Why lane-wide function mode is safe
backend/tests/integration/constructs an agent (they are GETs and gradescope CRUD), so nothing can tripUnregisteredHandlerError.backend/.env.local.example— copied to.envin the Migrate + seed step — defines neither variable, so the integration conftest'sload_dotenv(..., override=True)cannot clobber the workflow env.Note on the trigger
The
pull_requesttrigger is unfiltered, so it costs ~5 min of Supabase boot on every PR including frontend-only ones. Apaths:filter would buy that back at the cost of a narrower version of the blind spot that caused this bug. Easy to add later if the minutes matter more than the coverage — say the word.Verification
This PR is its own test: the
pull_requesttrigger means the lane runs here, on this branch, with the fix applied. It must go green — and the fact that it runs at all is change 3 working.🤖 Generated with Claude Code