Skip to main content
Prepare the GitHub Actions runner with the tools and setup commands PRFlow needs before it starts the agent. Provisioning runs in this order: Python, Node.js, PHP, service containers and then setup.install lines.
Every string in setup.install runs on the runner, exactly as written, before the agent starts. A change to that array is a change to what your repository executes in CI. Review it as carefully as a workflow file..prflow/config.json is committed repository content. Never place tokens, passwords, private keys or other secret values in setup.services[].env. Store credentials in GitHub Actions secrets and reference only supported secret-backed inputs.
Each setup.services object requires string name and image. Optional ports and options are arrays of complete strings. Optional env is an object of string values. Services are reached on 127.0.0.1:<host-port>. Use health-check options when readiness matters.
Leave all three at their defaults unless a self-hosted runner needs them. Each takes effect only after the change merges, because cloud jobs read them at trigger time from the default branch. See Runners.

Valid Runtime Example

Expected result: the runner installs Python 3.11 and Node.js 20, starts Redis on 127.0.0.1:6379, installs PyYAML and the frontend dependencies, and only then starts the agent. Installing a tool does not permit the agent to invoke it. Continue with Tool Permissions.