Files
agentci/install-scripts/README.md
T

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. Compose mounts the directory read-only at /etc/agentci/install-scripts. Executable files run directly; files without executable mode run as POSIX shell scripts through /bin/sh so bind mounts do not depend on host file-mode preservation.

Scripts run from the cloned repository with a sanitized environment. They receive:

  • DEV_TOOLS_DIR: persistent, writable tool storage at /var/lib/agentci/dev-tools
  • PATH: $DEV_TOOLS_DIR/bin followed by the service path
  • PYTHON_VERSION and DOTNET_CHANNEL: configured built-in runtime versions

DEV_TOOLS_DIR is shared by jobs through the agentci_data volume. 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.