Feat/custom index#222
Merged
Merged
Conversation
…stalls - Add custom_pip_indices: list[str] field to JobInstanceRich (low/core.py) - Add _pip_index_flags() helper in packages.py: maps absolute paths to --find-links (local wheelhouse dirs) and other values to --extra-index-url - PackagesEnv accepts pip_indices and applies flags in extend() pip calls - create_venv() accepts pip_indices and passes them to initial install - RunnerContext gains pip_indices: tuple[str, ...] field (propagated from job) - Executor now takes JobInstanceRich instead of JobInstance; propagates custom_pip_indices to RunnerContext and create_venv - entrypoint.py passes pip_indices from RunnerContext to PackagesEnv - Update test fixtures in test_run.py and test_executor.py to wrap JobInstance in JobInstanceRich for the Executor constructor - Add unit tests for _pip_index_flags and PackagesEnv pip_indices behaviour Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- create_venv() and PackagesEnv.__init__() now take list[str] directly (no None default) -- callers always have the list from JobInstanceRich - Add comment on RunnerContext.pip_indices explaining why tuple[str, ...]: immutability is intentional and signals fixed-for-executor-lifetime config Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…s in PackagesEnv - JobInstanceRich.custom_pip_indices: list[str] -> tuple[str, ...] (pydantic roundtrips correctly: serialises as JSON array, deserialises back to tuple via coercion) - PackagesEnv.__init__ pip_indices: list[str] -> tuple[str, ...] stores pre-computed _pip_index_flags list so the identical _pip_index_flags() call is not repeated on every extend() invocation - create_venv pip_indices: list[str] -> tuple[str, ...] - All callers updated to pass tuples directly (no wrapping needed) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…tests - Add integration_tests/pyproject.toml so the runtime module can be built as a wheel (cascade-integration-runtime) with setuptools - spawn_remote_gateway now builds both the ekw wheel and the runtime wheel, creates /shared/wheels/ on the remote host (mkdir -p), and copies both wheels there - RemoteGatewayHelper gains ekw_wheel and wheels_dir (replaces remote_wheel) - build_job_spec injects custom_pip_indices = (wheels_dir,) for all non-local deployments so workers can pip-install runtime from the local wheelhouse Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.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.
Adds an option to specify pip extra indices and find links to job submission
Demonstrated on making the integration tests actually work on more jobs than just
noRuntime