Skip to content

test(e2e): define GPU validation image artifacts #1476

@elezar

Description

@elezar

Description

Define the driver-agnostic GPU validation image artifacts needed by GPU e2e tests.

Issue #1472 will add sandbox-side GPU execution validation. Those tests should consume prebuilt sandbox images rather than building validation images during the test run. This task defines the image contract, repository layout, and initial image artifacts that can validate the execution flow before a CUDA-specific reference image is enforced in GPU CI.

Context

Parent roadmap: #1444
Related GPU validation test issue: #1472

The validation image contract should stay independent of the compute driver. Docker is the first driver integration for #1472, but the same image contract should be usable later by Podman, Kubernetes, and VM-backed sandboxes.

The image base is not part of the contract. The important properties are that the image is usable directly as an OpenShell sandbox image, runs without network access inside the sandbox, and emits stable output that the e2e harness can assert.

Proposed Scope

Add GPU validation image specifications under a driver-neutral location:

e2e/gpu/
  images/
    smoke-pass/
      README.md
      Dockerfile
    smoke-fail/
      README.md
      Dockerfile
    cuda-basic/
      README.md
      Dockerfile

Start with simple fixture images to validate the basic sandbox execution flow:

  • smoke-pass: default command prints OPENSHELL_GPU_WORKLOAD_SUCCESS and exits 0.
  • smoke-fail: default command prints a stable diagnostic marker and exits non-zero.

These fixtures do not prove GPU functionality. They exist to validate image publishing, sandbox-image compatibility, and e2e assertion plumbing.

Define the first CUDA validation image contract separately in cuda-basic/. The CUDA image should eventually run a deterministic CUDA workload, emit OPENSHELL_GPU_WORKLOAD_SUCCESS on success, and return non-zero with useful diagnostics on failure.

Definition of Done

  • Document the GPU validation image contract: default command, success marker, failure behavior, and stdout/stderr expectations.
  • Add the driver-neutral e2e/gpu/images/ layout for validation image specs.
  • Add a simple always-pass fixture image that can run directly as an OpenShell sandbox image.
  • Add a simple always-fail fixture image, or document why the pass fixture is sufficient for the initial flow validation.
  • Define the initial cuda-basic validation image requirements.
  • Document how validation images are built and published.
  • Document how tests should reference published images by immutable tag or digest.

Metadata

Metadata

Assignees

Type

No type
No fields configured for issues without a type.

Projects

Status

In progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions