Skip to content

Commit 0bff55d

Browse files
docs: document GitHub Actions expression support in timeout-minutes, engine.version, and tools.timeout (#23947)
1 parent 2ee8ab4 commit 0bff55d

File tree

3 files changed

+58
-0
lines changed

3 files changed

+58
-0
lines changed

docs/src/content/docs/reference/engines.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,23 @@ engine:
8383

8484
Pinning is useful when you need reproducible builds or want to avoid breakage from a new CLI release while testing. Remember to update the pinned version periodically to pick up bug fixes and new features.
8585

86+
`version` also accepts a GitHub Actions expression string, enabling `workflow_call` reusable workflows to parameterize the engine version via caller inputs. Expressions are passed injection-safely through an environment variable rather than direct shell interpolation:
87+
88+
```yaml wrap
89+
on:
90+
workflow_call:
91+
inputs:
92+
engine-version:
93+
type: string
94+
default: latest
95+
96+
---
97+
98+
engine:
99+
id: copilot
100+
version: ${{ inputs.engine-version }}
101+
```
102+
86103
### Copilot Custom Configuration
87104

88105
For the Copilot engine, you can specify a specialized prompt to be used whenever the coding agent is invoked. This is called a "custom agent" in Copilot vocabulary. You specify this using the `agent` field. This references a file located in the `.github/agents/` directory:

docs/src/content/docs/reference/frontmatter.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -475,6 +475,16 @@ timeout-minutes: 30 # Defaults to 20 minutes
475475

476476
`runs-on` applies to the main agent job only. `runs-on-slim` applies to all framework/generated jobs (activation, safe-outputs, unlock, etc.) and defaults to `ubuntu-slim`. `safe-outputs.runs-on` takes precedence over `runs-on-slim` for safe-output jobs specifically.
477477

478+
`timeout-minutes` accepts either an integer or a GitHub Actions expression string. This allows `workflow_call` reusable workflows to parameterize the timeout via caller inputs:
479+
480+
```yaml wrap
481+
# Literal integer
482+
timeout-minutes: 30
483+
484+
# Expression — useful in reusable (workflow_call) workflows
485+
timeout-minutes: ${{ inputs.timeout }}
486+
```
487+
478488
**Supported runners for `runs-on:`**
479489

480490
| Runner | Status |

docs/src/content/docs/reference/tools.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,37 @@ tools:
126126

127127
See [GH-AW as an MCP Server](/gh-aw/reference/gh-aw-as-mcp-server/) for available operations.
128128

129+
## Tool Timeout Configuration
130+
131+
### Tool Operation Timeout (`tools.timeout`)
132+
133+
Sets the per-operation timeout in seconds for tool and MCP server calls. Applies to all tools and MCP servers when supported by the engine. Defaults vary by engine (Claude: 60 s, Codex: 120 s).
134+
135+
```yaml wrap
136+
tools:
137+
timeout: 120 # seconds
138+
```
139+
140+
### MCP Server Startup Timeout (`tools.startup-timeout`)
141+
142+
Sets the timeout in seconds for MCP server initialization. Default is 120 seconds.
143+
144+
```yaml wrap
145+
tools:
146+
startup-timeout: 60 # seconds
147+
```
148+
149+
Both fields accept either an integer or a GitHub Actions expression string, enabling `workflow_call` reusable workflows to parameterize these values:
150+
151+
```yaml wrap
152+
tools:
153+
timeout: ${{ inputs.tool-timeout }}
154+
startup-timeout: ${{ inputs.startup-timeout }}
155+
```
156+
157+
> [!NOTE]
158+
> Expression values are passed through environment variables in the compiled workflow. TOML-based engine configs (Codex MCP gateway) fall back to engine defaults when an expression is used, since TOML has no expression syntax.
159+
129160
## Custom MCP Servers (`mcp-servers:`)
130161

131162
Integrate custom Model Context Protocol servers for third-party services:

0 commit comments

Comments
 (0)