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.

ソース情報

リポジトリ
NVIDIA-NeMo/Switchyard
ソースの最終更新活動
2026年7月27日 19:37
検出された SKILL.md の言語
英語
スター
3,462
フォーク
346

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
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.
GitHubで見る