Add modal environments based on PROJECT#2630
Conversation
|
👋 Thanks for the pull request! Here is how automated Claude review works here, so you spend credits (and reviewer time) wisely. 🚦 This PR is marked Ready for review, so automated Claude review will run — and every pass spends real credits. Warning 💸 The Claude reviewer bills in credits, not vibesAutomated review spins up a real agent that reads real code and spends real credits on every pass. It is glad to help — but it is not a rubber duck, a linter you poke in a loop, or a substitute for reading the contributing guide. Treat it like an expensive senior reviewer whose time you booked, and show up prepared. Draft when unsure, Ready when you mean it:
However you get there, arrive prepared:
Reviews are not free. A draft costs nothing to review; a Ready PR is a promise that it is worth reviewing.
|
|
🤖 Claude review started at commit New commits are not auto-reviewed. Add the |
| WEBEXEC_MODAL_APP_NAME = os.getenv( | ||
| "WEBEXEC_MODAL_APP_NAME", f"webexec-{PROJECT}" | ||
| ) |
There was a problem hiding this comment.
Production default changes from webexec to webexec-roboflow-platform. Before this PR the Modal app name was hardcoded to "webexec" in all three places (modal_app.py app definition, deploy_modal_app.py lookup, and the endpoint-URL reconstruction in modal_executor.py). With PROJECT defaulting to roboflow-platform, this new var makes the production default webexec-roboflow-platform unless WEBEXEC_MODAL_APP_NAME is explicitly set.
Consequences to confirm before merge:
- The already-deployed production Modal app (presumably named
webexec) must be re-deployed under the new name, or the app must haveWEBEXEC_MODAL_APP_NAME=webexecpinned, otherwise the executor and the live deployment diverge. - When
MODAL_WEB_ENDPOINT_URLis not set in prod,modal_executor._get_endpoint_urlreconstructshttps://roboflow--webexec-roboflow-platform-executor-execute-block.modal.run. That URL 404s until the app is redeployed with the new name → Custom Python Block execution via Modal fails whenWORKFLOWS_CUSTOM_PYTHON_EXECUTION_MODE=modal. - When
MODAL_WEB_ENDPOINT_URLis set in prod, the deploy/modal_appside switches to the new app name while the executor keeps hitting the old override URL — deploy and runtime then point at different apps.
Per the core-infra convention, a default that changes production routing should be justified and pinned in the relevant environment. Please confirm the rollout coordination (see the action-item question).
|
⏳ This PR is on hold pending your answer — the review will not advance to sign-off and the PR should not proceed to merge until the IMPORTANT question below is resolved. No hard bug was found in the code — the three app-name references ( IMPORTANT
Optional
Re-review is not automatic: once you have answered and/or pushed changes, add the Reviewed at HEAD: 9ea6edf |
…runs, first run for regular tests, second run covering only modal webexec ran against PROJECT=staging
|
Built cpu image from this branch & deployed to staging, and also deployed to modal; witnessed new modal app receiving requests as expected |
What does this PR do?
Add modal environments based on PROJECT so it's possible to test changes made to modal executor on staging
Type of Change
Testing
Tested in personal modal account
Checklist
Additional Context