1.7 KiB
Custom install scripts
This directory supplies the ready-made python and dotnet scripts. They are not reserved:
modify, replace, or remove them like any other script. Place other trusted executable install
scripts here and add the desired file names to AGENTCI_INSTALL_SCRIPTS. The Docker build copies
this directory to /etc/agentci/install-scripts, so rebuild the image after changing its contents.
Executable files run directly; files without executable mode run as POSIX shell scripts through
/bin/sh.
Scripts run from the cloned repository with a sanitized environment. They receive:
DEV_TOOLS_DIR: persistent, writable tool storage at/var/lib/agentci/dev-toolsPATH:$DEV_TOOLS_DIR/binfollowed by the service pathPYTHON_VERSIONandDOTNET_CHANNEL: configured built-in runtime versions
DEV_TOOLS_DIR is shared by jobs through the data/agentci bind mount. Put downloaded SDK/runtime
files beneath it and install command wrappers or symlinks into $DEV_TOOLS_DIR/bin; that bin
directory is prepended to implementation agents' PATH. Environment changes made by a script do
not persist into implementation turns.
The supplied dotnet wrapper keeps the SDK itself in DEV_TOOLS_DIR and places writable CLI state
and NuGet caches under DEV_TOOLS_DIR/runtime/dotnet. OpenCode's own home is deliberately read-only
so it cannot be used to persist global agent configuration.
The configured scripts run in list order after the repository is cloned (or an existing agent PR
branch is synchronized) and before the first implementation turn for implement, iterate, and
fix. They do not rerun between implementation and review-revision turns within one job. Scripts
must be idempotent and must not expect AgentCI or Gitea credentials.