-
Notifications
You must be signed in to change notification settings - Fork 7
Pluginize docker #28
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Pluginize docker #28
Conversation
| pytestmark = pytest.mark.anyio | ||
|
|
||
| # Path to test fixtures | ||
| FIXTURES_DIR = Path(__file__).parent / "fixtures" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we should use resources.files from importlib import resources, i.e., use resources.files("tests.integration.fixtures").
This returns a Path-like object on which we can then call str later on
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wait, I am not sure why we need to get an object like this and then cast it back to string; what is the benefit of this?
| test_image: str, | ||
| docker_client_type: str, | ||
| skip_if_des_unavailable, | ||
| create_manager_config, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: ideally we can ask an LLM to add type annotations for the fixtures
vitoralbiero
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Stamping to unblock
This pull request creates a plugin system for what is backing the Docker implementation when the
SandboxManageris docker-based. This allows us to have different plugins based on what Docker libraries we want to use and avoid having to rewrite other parts of theSandboxManagerfor this purpose. Here, we also abstract theaiodockerbehind aLocalDockerplugin.