From 56f3e0ecc33a33c8ccaf5a786ea86992381fd088 Mon Sep 17 00:00:00 2001 From: Fabro Date: Mon, 16 Mar 2026 05:36:50 +0000 Subject: [PATCH] fabro(01KKTJ6PABFN9B5E0NRYVT9FKF): solve (success) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fabro-Run: 01KKTJ6PABFN9B5E0NRYVT9FKF Fabro-Completed: 3 Fabro-Checkpoint: a72c5a2a75423d06d684d7216d65a4da1d6bcf57 ⚒️ Generated with [Fabro](https://fabro.sh) --- docs/execution/run-configuration.mdx | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/docs/execution/run-configuration.mdx b/docs/execution/run-configuration.mdx index 27c330da9..a2faa875b 100644 --- a/docs/execution/run-configuration.mdx +++ b/docs/execution/run-configuration.mdx @@ -141,6 +141,19 @@ timeout_ms = 60000 Each command must exit with status 0. If any command fails or times out, the run aborts before the workflow starts. +#### Idempotent git clones + +When cloning repositories, use a fallback pattern to handle cases where the clone directory already exists: + +```toml title="run.toml" +[setup] +commands = [ + "git clone https://github.com/openai/openai-agents-python upstream || (cd upstream && git pull)" +] +``` + +This pattern attempts to clone, and if the directory already exists (which fails with `fatal: destination path ... already exists`), it pulls the latest changes instead. + ### `[sandbox]` Configure how agent tools (bash, file edits) are executed. @@ -488,4 +501,4 @@ Use `--preflight` to validate a run config without executing it: ```bash fabro run run.toml --preflight -``` +``` \ No newline at end of file