mirror of
https://github.com/NVIDIA/OpenShell.git
synced 2026-10-15 05:09:44 +08:00
* test(e2e): add GPU workload image artifacts Closes #1476 Define local GPU workload image sources for smoke-pass, smoke-fail, and cuda-basic validation, plus a mise build task that tags images with the source revision and records the latest local image refs. Signed-off-by: Evan Lezar <elezar@nvidia.com> * test(e2e): add workload manifest build flow Signed-off-by: Evan Lezar <elezar@nvidia.com> * test(e2e): fix gpu workload README lint Signed-off-by: Evan Lezar <elezar@nvidia.com> * test(e2e): address gpu workload review feedback Signed-off-by: Evan Lezar <elezar@nvidia.com> --------- Signed-off-by: Evan Lezar <elezar@nvidia.com>
131 lines
5.2 KiB
TOML
131 lines
5.2 KiB
TOML
# SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
# Test tasks (Rust + Python)
|
|
|
|
[test]
|
|
description = "Run all tests (Rust + Python)"
|
|
depends = ["test:rust", "test:python", "test:install-sh", "test:packaging-assets", "test:docs-website"]
|
|
|
|
["test:docs-website"]
|
|
description = "Test the docs-website sync script"
|
|
# --no-project skips the workspace (maturin) build; --with supplies pytest and
|
|
# the script's runtime dep (PyYAML), which live outside the project env.
|
|
run = "uv run --no-project --with pytest --with pyyaml pytest tasks/scripts/sync_docs_website_test.py"
|
|
hide = true
|
|
|
|
["test:install-sh"]
|
|
description = "Run focused install.sh shell tests"
|
|
run = "tasks/scripts/test-install-sh.sh"
|
|
hide = true
|
|
|
|
["test:packaging-assets"]
|
|
description = "Run static packaging asset tests"
|
|
run = "tasks/scripts/test-packaging-assets.sh"
|
|
hide = true
|
|
|
|
[e2e]
|
|
description = "Run all end-to-end tests (Rust + Python)"
|
|
depends = ["e2e:rust", "e2e:python"]
|
|
|
|
["e2e:gpu"]
|
|
description = "Run Docker GPU end-to-end tests"
|
|
depends = ["e2e:docker:gpu"]
|
|
|
|
["e2e:workloads:build"]
|
|
description = "Build local GPU workload test images and manifest"
|
|
run = "bash tasks/scripts/e2e-gpu-build-images.sh"
|
|
|
|
["e2e:k3s:gpu"]
|
|
description = "Run k3s GPU end-to-end tests"
|
|
depends = ["e2e:python:gpu"]
|
|
|
|
["test:rust"]
|
|
description = "Run Rust tests"
|
|
run = [
|
|
# Run the workspace once without openshell-server so we can run that crate
|
|
# with test-only helpers enabled.
|
|
"cargo test --workspace --exclude openshell-server",
|
|
"cargo test -p openshell-server --features test-support",
|
|
]
|
|
hide = true
|
|
|
|
["test:python"]
|
|
description = "Run Python tests"
|
|
depends = ["python:proto"]
|
|
env = { UV_NO_SYNC = "1" }
|
|
run = "uv run pytest python/"
|
|
hide = true
|
|
|
|
["e2e:rust"]
|
|
description = "Run Rust CLI e2e tests against a Docker-backed gateway"
|
|
run = [
|
|
"cargo build -p openshell-cli --features openshell-core/dev-settings",
|
|
"e2e/with-docker-gateway.sh cargo test --manifest-path e2e/rust/Cargo.toml --features e2e-docker",
|
|
]
|
|
|
|
["e2e:websocket-conformance"]
|
|
description = "Run focused WebSocket conformance e2e tests against a Docker-backed gateway"
|
|
run = [
|
|
"cargo build -p openshell-cli --features openshell-core/dev-settings",
|
|
"e2e/with-docker-gateway.sh cargo test --manifest-path e2e/rust/Cargo.toml --features e2e-docker --test websocket_conformance",
|
|
]
|
|
|
|
["e2e:python"]
|
|
description = "Run Python e2e tests against a Docker-backed gateway (E2E_PARALLEL=N or 'auto'; default 5)"
|
|
depends = ["python:proto"]
|
|
env = { UV_NO_SYNC = "1", PYTHONPATH = "python" }
|
|
run = "e2e/with-docker-gateway.sh uv run pytest -o python_files='test_*.py' -m 'not gpu' -n ${E2E_PARALLEL:-5} e2e/python"
|
|
|
|
["e2e:python:gpu"]
|
|
description = "Run Python GPU e2e tests"
|
|
depends = ["python:proto"]
|
|
env = { UV_NO_SYNC = "1", PYTHONPATH = "python", OPENSHELL_E2E_DOCKER_GPU = "1" }
|
|
run = "e2e/with-docker-gateway.sh uv run pytest -o python_files='test_*.py' -m gpu -n ${E2E_PARALLEL:-1} e2e/python"
|
|
|
|
["e2e:podman"]
|
|
description = "Run Rust CLI e2e tests against a Podman-backed gateway"
|
|
run = "e2e/rust/e2e-podman.sh"
|
|
|
|
["e2e:podman:rootless"]
|
|
description = "Run Rust CLI e2e tests against a rootless Podman-backed gateway"
|
|
run = "e2e/rust/e2e-podman-rootless.sh"
|
|
|
|
["e2e:podman:gpu"]
|
|
description = "Run GPU e2e against a standalone gateway with the Podman compute driver"
|
|
env = { OPENSHELL_E2E_PODMAN_GPU = "1", OPENSHELL_E2E_PODMAN_TEST = "gpu_device_selection", OPENSHELL_E2E_PODMAN_FEATURES = "e2e-podman-gpu" }
|
|
run = "e2e/rust/e2e-podman.sh"
|
|
|
|
["e2e:kubernetes"]
|
|
description = "Run Rust CLI e2e tests against an OpenShell gateway deployed on Kubernetes via Helm (set OPENSHELL_E2E_KUBE_CONTEXT to reuse a cluster; otherwise creates a local k3d cluster when k3d is installed; set OPENSHELL_E2E_KUBE_TEST=<name> to scope to one test)"
|
|
run = "e2e/rust/e2e-kubernetes.sh"
|
|
|
|
["e2e:kubernetes:db"]
|
|
description = "Run Kubernetes e2e with all database backend scenarios (SQLite and external PostgreSQL with existingSecret)"
|
|
env = { OPENSHELL_E2E_KUBE_DB_SCENARIOS = "1" }
|
|
run = "e2e/rust/e2e-kubernetes.sh"
|
|
|
|
["e2e:vm"]
|
|
description = "Start openshell-gateway with the VM compute driver and run the cluster-agnostic smoke e2e"
|
|
run = "e2e/rust/e2e-vm.sh"
|
|
|
|
["e2e:docker"]
|
|
description = "Run smoke e2e against a standalone gateway with the Docker compute driver"
|
|
run = "e2e/rust/e2e-docker.sh"
|
|
|
|
["e2e:mechanistic-smoke"]
|
|
description = "Run mechanistic L4 smoke against a Docker-backed gateway"
|
|
run = [
|
|
"cargo build -p openshell-cli --features openshell-core/dev-settings",
|
|
"e2e/with-docker-gateway.sh bash -lc 'target/debug/openshell settings set --global --key agent_policy_proposals_enabled --value true --yes && OPENSHELL_BIN=$PWD/target/debug/openshell bash e2e/policy-advisor/mechanistic-smoke.sh'",
|
|
]
|
|
|
|
["e2e:docker:gpu"]
|
|
description = "Run GPU e2e against a standalone gateway with the Docker compute driver"
|
|
env = { OPENSHELL_E2E_DOCKER_GPU = "1", OPENSHELL_E2E_DOCKER_TEST = "gpu_device_selection", OPENSHELL_E2E_DOCKER_FEATURES = "e2e-docker-gpu" }
|
|
run = "e2e/rust/e2e-docker.sh"
|
|
|
|
["e2e:openshift"]
|
|
description = "Run OpenShift database-backend integration scenarios against a live cluster (requires oc CLI authenticated to an OpenShift cluster)"
|
|
run = "e2e/rust/e2e-openshift.sh"
|