We should write tests for the DefaultExecutor to cover the following common scenarios:
Start a task that uses a GPU, and make sure that it is made available to the task. Launch a Docker task with a health check. Launch two tasks and verify that they can access a volume owned by the Executor via sandbox_path volumes. Launch two tasks, each one in its own task group, and verify that they can access a volume owned by the Executor via sandbox_path volumes. Launch a task that uses an env secret, make sure that it is accessible. Launch a task using a URI and make sure that the artifact is accessible. Launch a task using a Docker image + URIs, make sure that the fetched artifact is accessible.
- Launch one task and ensure that (health) checks can read from a persistent volume.
Ensure that the executor's env is NOT inherited by the nested tasks.