feat(ray-jobs): support runtime environment extensions - #69
Merged
Conversation
Signed-off-by: jiangxt2 <jiangxt2@vip.qq.com>
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.
Description
This PR adds two explicit, workload-neutral runtime-environment extension inputs to the public Alpha
submit_ray_job()helper and the sharedbuild_runtime_env()builder. These inputs are trusted deployment configuration and must not come from broker task payloads. They allow callers to append execution-driver modules after the Tributo Core package and supply an explicit pip package list without scanning the submitting host or discovering provider installations.The default runtime environment remains unchanged.
extra_py_modulespreserves caller order after the Core package, whileruntime_pip_packagescreates Ray'spipfield only when non-empty and fails fast when an algorithm artifact owns dependency distribution. Submission identity, reserved identity environment variables, request-digest metadata, ambiguous reconciliation, resource arguments,RayJobSubmission, andBROKER_API_VERSIONremain unchanged.The Broker boundary ADR documents that this is a generic Ray Jobs deployment mechanism rather than a Broker API capability. No Redis or provider dependency, protocol, consume loop, or operation mapping is added to Core.
Related issues
None.
Additional information
uv run --locked --no-sync python scripts/pr-precheck.pypassed after rebasing ontomaster@bc40056, including format, lint, mypy, dependency and API checks, Python 3.12/3.13 CI parity, changed tests, DCO validation, and documentation gates.