integration-tests
Installation
SKILL.md
Integration Tests
Overview
Run integration tests that require a local npm registry by starting pnpm local-npm:start in a background subprocess, executing the build/reset/publish/test pipeline in the main process, then cleanly shutting down the registry process and returning results.
Workflow
Codex execution environment
- When Codex invokes this skill, run both
pnpm local-npm:startand the main pipeline outside the Codex sandbox by default (sandbox_permissions=require_escalated). The integration suites install dependencies inside fixture projects withnpm install,bun install, Deno, Wrangler, local emulators, Docker, and other subprocesses; running them inside the Codex sandbox can cause environment-only failures such asnpmEPERMwriting to~/.npm/_cacache/tmpor BunPermissionDeniedwriting to its tempdir. - Use sandboxed execution only when the user explicitly asks for it. If a sandboxed run fails during dependency installation or temp/cache writes, rerun the same exact pipeline outside the sandbox before classifying the failure as repo-induced.
- Still keep the registry lifecycle local to the run: start Verdaccio before the pipeline and stop it after the pipeline, even when a failure occurs.
1. Start the local registry (subprocess)
- Start a background process with
pnpm local-npm:startand keep its session id so it can be stopped later. - Wait until the registry is ready (look for a Verdaccio listen message or the default
http://localhost:4873line). If no explicit ready line appears, wait a few seconds and proceed. - If the port is already in use, note that an existing registry may be running and proceed only if it matches the expected local registry; otherwise stop it and restart.