Skip to content

Runtimes

A runtime is the CI/CD environment where autoducks agents execute. The runtime is responsible for:

  • Listening for triggers (issue comments, PR merges, workflow dispatch)
  • Setting environment variables for the agent scripts
  • Granting repository permissions to the agent process
  • Invoking pre.sh, the LLM agent, and post.sh in sequence

The agent scripts themselves (pre.sh, post.sh, and the core utilities in .autoducks/) are runtime-agnostic. Only the workflow definitions that wire triggers to scripts are runtime-specific.

RuntimeStatusWorkflow files
github-actions✅ Supported.autoducks/runtimes/github-actions/

Runtime workflow files live under .autoducks/runtimes/{runtime}/. At install time, the installer copies them to wherever the CI/CD platform expects to find them.

For GitHub Actions:

.autoducks/runtimes/github-actions/autoducks-*.yml
→ .github/workflows/autoducks-*.yml

The setup.sh script verifies that the deployed workflow files stay in sync with the canonical definitions in .autoducks/runtimes/.

To support a new CI/CD platform, create a new directory under .autoducks/runtimes/{runtime}/ with workflow files that:

  1. Listen for the appropriate triggers (issue comment, PR merge, workflow/pipeline dispatch)
  2. Set the required environment variables (ISSUE_NUM, BASE_BRANCH, REPO, COMMENT_ID, RUN_ID, GH_TOKEN or equivalent)
  3. Call the agent pre.sh, then the LLM step, then post.sh — or run.sh for bash-only agents

The agent scripts and provider implementations do not need to change.