mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-10-09 03:20:56 +00:00
Merge pull request #923 from seniorquico/docs/local-run-checkout
Fix docs related to Local runs
This commit is contained in:
commit
08ffe2cc19
3 changed files with 19 additions and 20 deletions
|
|
@ -203,7 +203,7 @@ Target selection depends on the environment:
|
|||
|
||||
| Selection | Local environment | Clone-based environment (Docker, Daytona, or plugin) |
|
||||
| --- | --- | --- |
|
||||
| Default cwd or `--target-from PATH` | Uses the live directory, including uncommitted files | Uses the enclosing Git repository and exact available commit; a non-Git directory selects an empty workspace |
|
||||
| Default cwd or `--target-from PATH` | Clones the enclosing Git repository's committed `HEAD`; uncommitted files are not included, and a non-Git directory selects an empty workspace | Uses the enclosing Git repository and exact available commit; a non-Git directory selects an empty workspace |
|
||||
| `--target-repo OWNER/REPO` or `--target OWNER/REPO[@BRANCH]` | Rejected | Uses the selected repository and exact observed branch commit; cloning must be enabled |
|
||||
|
||||
For clone-based execution, a target path selects a repository, not a subdirectory
|
||||
|
|
|
|||
|
|
@ -223,31 +223,30 @@ Install seeds a `default` environment into SQLite. It is a normal persisted envi
|
|||
| `labels` | Warning; ignored | Warning; ignored | Daytona labels |
|
||||
| `lifecycle.auto_stop` | Warning; ignored | Warning; ignored | Daytona auto-stop |
|
||||
| `env` | Process environment overlay | Container environment | Sandbox environment |
|
||||
| `cwd` | Server-side command working directory | Warning; ignored | Warning; ignored |
|
||||
| `cwd` | Does not override the managed run workspace | Warning; ignored | Warning; ignored |
|
||||
|
||||
## Local
|
||||
|
||||
`local` runs tools directly in the resolved working directory. It offers no filesystem or network isolation, so use it only for trusted workflows.
|
||||
`local` runs tools on the Fabro host, in a workspace under the run's directory. It offers no filesystem or network isolation, so use it only for trusted workflows.
|
||||
|
||||
Create a server-managed local-provider environment through the environments API when you need a host `cwd`.
|
||||
Use a folder target to select an existing source directory on the Fabro host.
|
||||
|
||||
A version-backed run intent can submit
|
||||
`{ "kind": "folder", "path": "/absolute/server/path" }` to run in an existing
|
||||
`{ "kind": "folder", "path": "/absolute/server/path" }` to start from an existing
|
||||
server directory. Fabro accepts this target only with a Local environment,
|
||||
resolves symlinks and `..`, requires an existing directory, and persists the
|
||||
canonical UTF-8 path. The target path takes precedence over the environment's
|
||||
`cwd`. Because the run executes in place with the Local provider's unrestricted
|
||||
`cwd`. Because the Local provider has unrestricted
|
||||
host access, use folder targets only in trusted single-tenant deployments.
|
||||
Docker and Daytona always reject folder targets. This does not add Local Git
|
||||
cloning or Local scratch workspaces for the `none` target. Local folder runs
|
||||
execute in place without Fabro Git checkpoints: retries retain the canonical
|
||||
Docker and Daytona always reject folder targets. Local environments do not
|
||||
support the `none` target. Local folder runs
|
||||
work in a clone of the folder's committed `HEAD` (see
|
||||
[Checkpoints](/execution/checkpoints)): retries retain the canonical
|
||||
folder target, but fork and rewind are unavailable for these runs.
|
||||
|
||||
When `cwd` is set, local runs execute commands from that absolute server-side
|
||||
path. When it is unset, Fabro keeps same-host compatibility by using the
|
||||
submitted source directory only if that path exists on the server. If neither is
|
||||
available, the run fails before execution with a remediation to configure
|
||||
`cwd`.
|
||||
The folder target identifies the source repository, while commands run in the
|
||||
managed workspace under the run's directory. Setting an environment's `cwd`
|
||||
does not make a folder-target run execute in place.
|
||||
|
||||
Fabro hard-errors if a local environment asks for blocked or CIDR-restricted networking because the provider cannot enforce it.
|
||||
|
||||
|
|
|
|||
|
|
@ -233,7 +233,7 @@ Fabro substitutes `{{ vars.* }}` when the server creates the run, then resolves
|
|||
|
||||
### `[run.clone]`
|
||||
|
||||
Configure whether clone-based sandboxes clone the run's GitHub origin before execution.
|
||||
Configure whether the run's repository is cloned into its workspace before execution: the GitHub origin for Docker and Daytona, or the target folder's repository for Local.
|
||||
|
||||
```toml title="run.toml"
|
||||
[run.clone]
|
||||
|
|
@ -241,12 +241,12 @@ enabled = true
|
|||
depth = 100
|
||||
```
|
||||
|
||||
Set `enabled = false` to start Docker and Daytona runs with an empty provider workspace. Use [prepare steps](#runprepare) to clone or create any files the workflow needs.
|
||||
Set `enabled = false` to start runs with an empty workspace. Use [prepare steps](#runprepare) to clone or create any files the workflow needs.
|
||||
|
||||
| Field | Description |
|
||||
|---|---|
|
||||
| `enabled` | When `false`, Fabro skips the repository clone. Defaults to `true`. |
|
||||
| `depth` | Git history depth for Docker and Daytona. Defaults to `100`. Set it to `0` to clone full history. |
|
||||
| `depth` | Git history depth. Defaults to `100`. Set it to `0` to clone full history. |
|
||||
|
||||
### `[run.run_branch]`
|
||||
|
||||
|
|
@ -318,9 +318,9 @@ memory = "8GB"
|
|||
| `labels` | Provider labels. Merge by key across layers. |
|
||||
| `env` | Environment variables passed to command and agent execution. Merge by key across layers. |
|
||||
|
||||
When `provider = "local"`, Fabro runs directly in the resolved working
|
||||
directory. If you want local isolation, create or enter a separate clone or Git
|
||||
worktree yourself.
|
||||
When `provider = "local"`, Fabro works in a clone of the target folder's
|
||||
committed `HEAD`, not in the folder itself, so uncommitted changes are not
|
||||
included.
|
||||
|
||||
Environment variable values can combine literal text with server variables and token secrets:
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue