test-go-binding

por nvidia

Compila y prueba el binding de Go de NeMo Relay; usa esto para cambios en go/nemo_relay o verificaciones de integración orientadas a Go.

npx skills add https://github.com/nvidia/nemo-relay --skill test-go-binding

Build And Test Go Binding

Companion Guidance

Use karpathy-guidelines alongside this skill for implementation or review work. Keep changes scoped, surface assumptions, and define focused validation before editing.

Use this skill when the change is primarily in go/nemo_relay or the Go binding behavior it depends on.

Important Constraint

The Go binding links against the shared FFI library. just test-go builds that library for you, while just build-go remains useful when you want an explicit build-only pass or need the artifact for other work.

Default Path

  1. Format changed Go packages with cd go/nemo_relay && go fmt ./....
  2. Run Go tests with just test-go.
  3. If any Rust files changed as part of the Go work, also run cargo fmt --all, just test-rust, and cargo clippy --workspace --all-targets -- -D warnings.
  4. Use just build-go when you want an explicit build-only pass.
  5. Use just ci=true test-go when you need the CI-style coverage and JUnit path.
  6. Expand to broader validation only if the change touched shared semantics.

Common Commands

# Full Go suite
just test-go

# Format Go files
cd go/nemo_relay && go fmt ./...

# Required when the Go change also touched Rust code
cargo fmt --all
just test-rust
cargo clippy --workspace --all-targets -- -D warnings

# CI-style Go suite with coverage and JUnit artifacts
just ci=true test-go

# Explicit shared-library build when needed separately
just build-go

In the test-go task, the ci variable is what is_true "{{ ci }}" checks. Setting ci=true enables coverage_out and junit_out handling and adds -coverprofile=coverage.out to go_test_cmd.

On macOS, also set DYLD_LIBRARY_PATH to the same ../../target/release directory before running the raw go test command directly.

When To Escalate

  • If the change touched crates/ffi, also use test-ffi-surface.
  • If the change touched crates/core or shared runtime semantics, also use validate-change.

References

  • go/nemo_relay/go.mod
  • go/nemo_relay/nemo_relay.go
  • README.md
  • docs/getting-started/installation.md
  • validate-change

Más skills de nvidia

compileiq-debug
nvidia
Úsalo cuando algo esté mal: Search() se cuelga, todas las evaluaciones devuelven INVALID_SCORE, las puntuaciones no mejoran, cada configuración devuelve el mismo número, errores de ptxas…
create-github-pr
nvidia
Crear solicitudes de extracción de GitHub usando la CLI gh. Usar cuando el usuario quiera crear un nuevo PR, enviar código para revisión o abrir una solicitud de extracción. Palabras clave de activación -…
nemoclaw-maintainer-cross-issue-sweep
nvidia
Escanea otros issues abiertos para encontrar aquellos que un PR dado también podría corregir o romper accidentalmente. Genera oportunidades de corrección adyacente y riesgos de contradicción con archivo:línea…
fhir-basics
nvidia
Enseña a los agentes cómo funcionan las APIs de FHIR R4, qué recursos están disponibles, cómo consultarlos con parámetros de búsqueda y cómo analizar correctamente todos los formatos de respuesta…
compileiq-validate-result
nvidia
Usar DESPUÉS de que una Búsqueda haya finalizado y ANTES de reclamar cualquier aceleración o enviar un ACF. Carga el CSV de dump_results, extrae los mejores K candidatos (de un solo objetivo)…
changelog-audit
nvidia
Auditar el CHANGELOG.md de Warp antes de un lanzamiento: recuperar entradas perdidas, ordenar por impacto en el usuario, refinar el lenguaje de las entradas, ajustar saltos de línea y (en modo rama de lanzamiento) incrementar comparación…
maintain-dynamic-plugins
nvidia
Mantener los cargadores de plugins dinámicos de NeMo Relay, manifiestos, SDKs nativos de Rust, protocolo de trabajador gRPC, SDK de trabajador Python, documentación, pruebas y cobertura del flujo de trabajo de lanzamiento
dgx-diagnose
nvidia
Diagnostica problemas comunes de la DGX Station GB300: fallos de CUDA, direccionamiento incorrecto de GPU, errores de contenedores vLLM/SGLang, problemas de estado MIG, errores de NVLink/Fabric Manager,…