Skip to main content

switchyard-testing-ci

Select or debug Switchyard validation and GitHub CI. Use when asked which tests to run, whether a change is ready, why a CI job failed, how to reproduce CI, or whether live provider tests are appropriate.

Datos de origen

Repositorio
NVIDIA-NeMo/Switchyard
Última actividad en el origen
27 de julio de 2026 a las 19:37
Idioma detectado de SKILL.md
inglés
Estrellas
3462
Forks
346

Opciones de instalación

De forma predeterminada está seleccionado el prompt que primero revisa el origen. Puedes cambiar a un comando directo o descargar una copia local.

Revisa los archivos de origen

Lee SKILL.md y los archivos complementarios que muestra SkillsMP antes de decidir si quieres instalarlo.

Mostrando SKILL.md

SKILL.md
Instrucciones de origen · Vista previa de solo lectura
name
switchyard-testing-ci
description
Select or debug Switchyard validation and GitHub CI. Use when asked which tests to run, whether a change is ready, why a CI job failed, how to reproduce CI, or whether live provider tests are appropriate.
# Switchyard Testing And CI Read `.github/workflows/ci.yml` before claiming local CI equivalence. Select tests from the current diff and symbol references rather than a static subsystem inventory. ## Validation Matrix | Change | Minimum trustworthy validation | |---|---| | Markdown or skill Markdown only | Parse skill frontmatter when applicable; `git diff --check` | | Python implementation | Focused pytest, `uv run ruff check .`, `uv run mypy switchyard` | | Broad Python or public API | Hermetic full pytest plus lint and mypy | | One Rust crate | `cargo fmt --all --check`, workspace clippy, focused crate tests | | Shared Rust/API/FFI | Rust workspace tests plus affected Python tests | | Packaging, extras, top-level imports | The slim-install smoke commands from the current CI workflow | | Live provider behavior | Focused integration test only after explicit authorization | ## Standard Gates Python pre-PR gate: ```bash uv run ruff check . uv run mypy switchyard env -u OPENROUTER_API_KEY -u NVIDIA_API_KEY -u OPENAI_API_KEY \ -u ANTHROPIC_API_KEY uv run pytest tests/ -v -m "not integration" ``` Rust workspace gate: ```bash cargo fmt --all --check cargo clippy --workspace --all-targets -- -D warnings cargo test --workspace ``` Use `-o addopts=` when the repository's pytest defaults would stop failure collection too early. Run focused tests first, then broaden only when the changed contract or shared ownership warrants it. ## Live Tests Integration tests can spend money, require credentials, and contact real services. Never run them as an automatic pre-PR step. Provision `NVIDIA_API_KEY` through the environment or a secret manager before running the user-authorized path, and state which provider was called: ```bash uv run pytest tests/e2e/<focused_test>.py \ -v -m integration -o addopts= ``` ## Skill Validation Each retained skill must have YAML frontmatter with `name` and `description`: ```bash uv run python - <<'PY' from pathlib import Path import yaml for path in Path(".agents/skills").glob("*/SKILL.md"): parts = path.read_text().split("---", 2) data = yaml.safe_load(parts[1]) if len(parts) == 3 else None if not isinstance(data, dict) or not data.get("name") or not data.get("description"): raise SystemExit(f"{path}: missing name or description") print("skill frontmatter is valid") PY git diff --check ``` ## Reporting Report exact commands, pass/fail status, and whether any live network call occurred. Do not call a focused test run "full CI", and do not treat mypy or clippy warnings as unrelated without checking whether the diff introduced them.
Ver en GitHub