Skip to main content
Use this guide when you need to execute user-submitted code checks (tests/lint/build) in CI without risking host integrity.

Diagram: CI validation pipeline

For untrusted CI workloads, start with:
  • mode: "ephemeral"
  • network: "none" by default
  • explicit timeout and memory
  • no persistent state unless explicitly required

Pattern 1: run unit tests against submitted code

Pattern 2: syntax validation (cheap fail-fast gate)

Pattern 3: linting gate

Pattern 4: build verification

If build needs external dependency resolution, explicitly allow it.
network: "host" should be used only in trusted CI contexts where unrestricted network access is acceptable.

Pattern 5: artifact capture from test runs

Capture generated test reports using outputPaths.

Parallel CI jobs

Run independent validations concurrently; isol8 enforces concurrency with semaphores/maxConcurrent.

Remote CI runners

For centralized build/test infrastructure, use remote server + RemoteIsol8.

Reliability patterns for CI pipelines

  • fail fast with syntax check before expensive test/build stages
  • keep network off unless a stage explicitly requires dependency downloads
  • pre-bake stable dependencies with isol8 setup for predictable timing
  • return structured machine-readable output from each stage (JSON/text summary)
  • enforce explicit timeouts per stage to avoid hanging workers

Execution guide

Request fields, limits, and lifecycle behavior used by CI tasks.

Packages and images

Pre-bake dependencies for stable, faster CI execution.

Security model

Network and isolation controls for untrusted code validation.

Remote server and client

Run CI checks on centralized remote executors.