Inngest CI

Write your CI in TypeScript, run it on Inngest, and debug every run as one trace.

SDK support

Inngest CI is an Inngest Labs project: early, moving fast, and shaped by your feedback. What's Labs?

@inngest/ci is CI written in TypeScript. Inngest runs each pipeline as a durable function and each job on its own Sandbox, an ephemeral microVM. One run produces one trace that covers the pipeline, its jobs, and every command.

What you can do

  • Write plain TypeScript. Use if, loops, Promise.all, and your own functions. See Pipelines and triggers.
  • Keep finished work. A retry does not rerun jobs or commands that already passed. See Commands.
  • Start a job from another job. from() starts a job on a copy of another job's machine, like a Docker layer. Caching skips jobs whose inputs are unchanged.
  • Run the same code locally. Run a pipeline against the Dev Server with your uncommitted changes. See the quick start.
  • Get GitHub checks. Each pipeline gets one check, and each job gets one. See Checks and reports.
  • Control how pipelines run. Cancel superseded runs, cap concurrency, debounce, throttle, and rate limit pipelines with Inngest flow control.

Start here

  • Overview lists what Inngest CI gives you and shows a run.
  • Concepts defines pipelines, triggers, jobs, commands, machines, caching, and checks.
  • Quick start runs a pipeline on the Dev Server.
  • Reference lists options, triggers, command methods, and limits.

Next steps