Skip to content

feat: parameterize tools.timeout and tools.startup-timeout to accept GitHub Actions expressions#23869

Closed
Copilot wants to merge 2 commits intomainfrom
copilot/parameterize-tools-config-fields
Closed

feat: parameterize tools.timeout and tools.startup-timeout to accept GitHub Actions expressions#23869
Copilot wants to merge 2 commits intomainfrom
copilot/parameterize-tools-config-fields

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 1, 2026

tools.timeout and tools.startup-timeout only accepted literal integers, blocking reusable workflow_call workflows from accepting these as inputs at call time.

Changes

Type changes

  • ToolsConfig.Timeout, ToolsConfig.StartupTimeout: *int*string
  • WorkflowData.ToolsTimeout, WorkflowData.ToolsStartupTimeout: intstring (empty = use engine default)
  • toolsProcessingResult.toolsTimeout/toolsStartupTimeout: intstring

Parsing (tools_parser.go, frontmatter_extraction_metadata.go)

  • parseTimeoutTool/parseStartupTimeoutTool now return *string, accepting both numeric types and ${{ ... }} expressions; free-form strings are rejected with a clear error
  • extractToolsTimeout/extractToolsStartupTimeout return string; same validation logic

Engine emission (claude_engine.go, copilot_engine_execution.go, codex_engine.go)

  • GH_AW_TOOL_TIMEOUT / GH_AW_STARTUP_TIMEOUT env vars: literal string passed directly (no strconv.Itoa), expression strings pass through unquoted for runtime evaluation
  • Compile-time millisecond values (MCP_TOOL_TIMEOUT, BASH_DEFAULT_TIMEOUT_MS, etc.) use templatableIntValue() — expressions fall back to engine defaults

Codex TOML config (mcp_renderer_github.go)

  • startup_timeout_sec / tool_timeout_sec use templatableIntValue() — expressions fall back to defaults since TOML requires literal integers

Schema (main_workflow_schema.json)

  • tools.timeout and tools.startup-timeout changed to oneOf: [integer, expression string]

Example

on:
  workflow_call:
    inputs:
      tool-timeout:
        type: number
      startup-timeout:
        type: number
engine: copilot
tools:
  timeout: ${{ inputs.tool-timeout }}           # ✅ now accepted
  startup-timeout: ${{ inputs.startup-timeout }} # ✅ now accepted
  timeout: 60                                    # ✅ still works

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • https://api.github.com/graphql
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw (http block)
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw bash (http block)
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE node (http block)
  • https://api.github.com/orgs/test-owner/actions/secrets
    • Triggering command: /usr/bin/gh gh api /orgs/test-owner/actions/secrets --jq .secrets[].name --local committer.email nfig/composer/ve-nilfunc (http block)
  • https://api.github.com/repos/actions/ai-inference/git/ref/tags/v1
    • Triggering command: /usr/bin/gh gh api /repos/actions/ai-inference/git/ref/tags/v1 --jq .object.sha (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/ai-inference/git/ref/tags/v1 --jq .object.sha --show-toplevel git /usr/bin/git --show-toplevel ache/go/1.25.0/xrev-parse /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git --show-toplevel go /usr/bin/git git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/ai-inference/git/ref/tags/v1 --jq .object.sha c55fcaba091ac027615bbe45d322dc40b415c075:pkg/parser/schemas/main_workflow_schema.json go /usr/local/.ghcup/bin/git -json GO111MODULE 64/bin/go git show�� c55fcaba091ac027615bbe45d322dc40b415c075:pkg/workflow/copilot_engine_execution.go go /usr/local/sbin/git -json GO111MODULE 64/bin/go git (http block)
  • https://api.github.com/repos/actions/checkout/git/ref/tags/v3
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v3 --jq .object.sha k/gh-aw/gh-aw/pkg/mathutil/mathutil.go k/gh-aw/gh-aw/pkg/mathutil/mathutil_test.go ache/go/1.25.0/x64/pkg/tool/linux_amd64/vet get --local de/node/bin/bash--show-toplevel ache/go/1.25.0/x64/pkg/tool/linux_amd64/vet -o /tmp/go-build212625184/b423/_pkg_.a -trimpath /usr/bin/git -p github.com/githurev-parse -lang=go1.25 git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v3 --jq .object.sha bin/sh git /usr/bin/git --show-toplevel bash /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git --show-toplevel 64/pkg/tool/linurev-parse /usr/bin/git git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v3 --jq .object.sha b415c075:pkg/workflow/copilot_engine_execution.go rev-parse ache/uv/0.11.2/x86_64/git WOjr/dGyv62hoTCPgit GO111MODULE 64/bin/go git -C /home/REDACTED/work/gh-aw/gh-aw/.github/workflows rev-parse cal/bin/git che/go-build/b7/git GOPROXY 64/bin/go git (http block)
  • https://api.github.com/repos/actions/checkout/git/ref/tags/v5
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha --noprofile (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha Secret: ${{ secrets.TOKEN }} 64/pkg/tool/linux_amd64/vet /usr/bin/git --noprofile cfg 64/pkg/tool/linu--show-toplevel git rev-�� --show-toplevel 64/pkg/tool/linux_amd64/vet /usr/bin/git --noprofile (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha --show-toplevel ache/go/1.25.0/x64/pkg/tool/linux_amd64/vet /usr/bin/git ithub/workflows pkg/mod/github.crev-parse ache/go/1.25.0/x--show-toplevel git rev-�� --show-toplevel ache/go/1.25.0/x64/pkg/tool/linux_amd64/vet /usr/bin/git -unreachable=falgit /tmp/go-build173rev-parse 342981/b331/vet.--show-toplevel git (http block)
  • https://api.github.com/repos/actions/checkout/git/ref/tags/v6
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq .object.sha -test.paniconexit0 -test.v=true /opt/hostedtoolcache/node/24.14.0/x64/bin/node -test.timeout=10git -test.run=^Test -test.short=true--show-toplevel node /tmp�� /home/REDACTED/work/gh-aw/gh-aw/.github/workflows/agent-performance-analyzer.md x_amd64/vet /usr/bin/git --noprofile (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq .object.sha --show-toplevel x_amd64/vet /usr/bin/git --noprofile 53 x_amd64/vet git init�� (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq .object.sha --show-toplevel ache/go/1.25.0/x64/pkg/tool/linutest@example.com /usr/bin/git 1943-13895/test-git 342981/b226/vet.rev-parse ache/go/1.25.0/x--show-toplevel git rev-�� --show-toplevel rtcfg /usr/bin/git dcfg (http block)
  • https://api.github.com/repos/actions/github-script/git/ref/tags/v8
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v8 --jq .object.sha --local committer.name ash (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v8 --jq .object.sha --verify main ache/uv/0.11.2/x-nilfunc (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v8 --jq .object.sha origin main tnet/tools/bash (http block)
  • https://api.github.com/repos/actions/setup-go/git/ref/tags/v4
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/v4 --jq .object.sha --property=Memor-test.paniconexit0 x_amd64/vet /usr/bin/git assword=$GITHUB_git assword=$GITHUB_rev-parse x_amd64/vet git -C /tmp/gh-aw-test-runs/20260401-121943-13895/test-3835285173 status /usr/bin/git .github/workflowgit (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/v4 --jq .object.sha --show-toplevel git /usr/bin/git --show-toplevel x_amd64/link /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git --show-toplevel Fj/loOf-cgjR6MKzrev-parse /usr/bin/git git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/v4 --jq .object.sha 615bbe45d322dc40b415c075:pkg/workflow/tools_timeout_test.go go /home/REDACTED/.local/bin/git -json GO111MODULE $name) { has--show-toplevel git diff�� --name-only HEAD /opt/hostedtoolcache/go/1.25.0/x64/bin/git -json GO111MODULE 64/bin/go git (http block)
  • https://api.github.com/repos/actions/setup-node/git/ref/tags/v4
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq .object.sha /tmp/go-build212625184/b456/_pkg_.a -trimpath /usr/bin/git -p github.com/githurev-parse -lang=go1.25 git rev-�� --git-dir -goversion /usr/bin/git -c=4 -nolocalimports -importcfg git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq .object.sha --show-toplevel git /usr/bin/git --show-toplevel 64/pkg/tool/linurev-parse /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git --show-toplevel ache/go/1.25.0/xrev-parse /usr/bin/git git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq .object.sha 615bbe45d322dc40b415c075:pkg/workflow/tools_timeout_test.go --others /home/REDACTED/work/_temp/ghcca-node/node/bin/git -json GO111MODULE r: $owner, name:--show-toplevel git diff�� --name-only HEAD /home/REDACTED/.local/bin/git -json GO111MODULE r: $owner, name:--show-toplevel git (http block)
  • https://api.github.com/repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b
    • Triggering command: /usr/bin/gh gh api /repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b --jq .object.sha -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE sh -c npx prettier --cGOSUMDB GOPROXY 64/bin/go GOSUMDB GOWORK 64/bin/go node (http block)
  • https://api.github.com/repos/github/gh-aw
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw --jq .visibility -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE r: $owner, name: $name) { hasDiscussionsEnabled } } GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/github/gh-aw-actions/git/ref/tags/v0
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v0 --jq .object.sha -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE node /opt�� prettier --check 64/bin/go **/*.ts **/*.json --ignore-path /bin/sh (http block)
  • https://api.github.com/repos/github/gh-aw-actions/git/ref/tags/v0.1.2
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v0.1.2 --jq .object.sha /tmp/TestHashStability_SameInputSameOutput2224846116/001/stabiliv1.0.0 x_amd64/vet /usr/bin/git --noprofile (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v0.1.2 --jq .object.sha --show-toplevel git /usr/bin/git --show-toplevel 64/pkg/tool/linurev-parse /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git --show-toplevel ache/go/1.25.0/xrev-parse /usr/bin/git git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v0.1.2 --jq .object.sha 615bbe45d322dc40b415c075:pkg/workflow/tools_parser.go --others /usr/local/.ghcup/bin/git -json GO111MODULE $name) { has--show-toplevel git add . go /home/REDACTED/.local/bin/git -json GO111MODULE r: $owner, name:--show-toplevel git (http block)
  • https://api.github.com/repos/github/gh-aw-actions/git/ref/tags/v1.0.0
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.0.0 --jq .object.sha -unreachable=false /tmp/go-build173342981/b233/vet.cfg 625184/b126/vet.cfg get --local -d /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet -ato�� -bool -buildtags /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet -errorsas -ifaceassert -nilfunc /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.0.0 --jq .object.sha --show-toplevel git /usr/bin/git --git-dir x_amd64/vet /usr/bin/git git conf�� user.name Test User /usr/bin/git --git-dir x_amd64/vet /usr/bin/gh git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.0.0 --jq .object.sha GOMODCACHE go /usr/bin/git ck 'scripts/**/*git GO111MODULE 64/bin/go git -C b415c075:pkg/workflow/compiler_orchestrator_tools_test.go config ache/go/1.25.0/x64/bin/git remote.origin.urgit GO111MODULE 64/bin/go infocmp (http block)
  • https://api.github.com/repos/github/gh-aw-actions/git/ref/tags/v1.2.3
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.2.3 --jq .object.sha 1943-13895/test-3835285173 /tmp/go-build173342981/b236/vet.cfg /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet get --local 86_64/git /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet 6251�� -bool 625184/b070/_testmain.go /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/link -errorsas -ifaceassert -nilfunc /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linuREDACTED (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.2.3 --jq .object.sha -maxdepth 4 /usr/bin/git d -name bin git init�� x_amd64/vet git /usr/bin/git --show-toplevel x_amd64/vet /opt/hostedtoolc--show-toplevel git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.2.3 --jq .object.sha ode-gyp-bin/sh go 0/x64/bin/git ck 'scripts/**/*git GO111MODULE 64/bin/go git -C b415c075:pkg/workflow/compiler_orchestrator_tools_test.go config cal/bin/git remote.origin.urgit GO111MODULE DiscussionsEnabl--show-toplevel git (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/1/artifacts
    • Triggering command: /usr/bin/gh gh run download 1 --dir test-logs/run-1 (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/12345/artifacts
    • Triggering command: /usr/bin/gh gh run download 12345 --dir test-logs/run-12345 (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/12346/artifacts
    • Triggering command: /usr/bin/gh gh run download 12346 --dir test-logs/run-12346 cfg 64/pkg/tool/linux_amd64/vet (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/2/artifacts
    • Triggering command: /usr/bin/gh gh run download 2 --dir test-logs/run-2 (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/3/artifacts
    • Triggering command: /usr/bin/gh gh run download 3 --dir test-logs/run-3 (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/4/artifacts
    • Triggering command: /usr/bin/gh gh run download 4 --dir test-logs/run-4 (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/5/artifacts
    • Triggering command: /usr/bin/gh gh run download 5 --dir test-logs/run-5 (http block)
  • https://api.github.com/repos/github/gh-aw/actions/workflows
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path --local gpg.program (http block)
    • Triggering command: /usr/bin/gh gh run list --json databaseId,number,url,status,conclusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle --workflow nonexistent-workflow-12345 --limit 100 (http block)
    • Triggering command: /usr/bin/gh gh run list --json databaseId,number,url,status,conclusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle --workflow nonexistent-workflow-12345 --limit 6 (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/v0.47.4
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v0.47.4 --jq .object.sha --show-toplevel 64/pkg/tool/linutest@example.com /usr/bin/git --noprofile cfg 64/pkg/tool/linu--show-toplevel git rev-�� --show-toplevel 64/pkg/tool/linux_amd64/vet /usr/bin/git rity3897525835/0git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v0.47.4 --jq .object.sha --show-toplevel git /usr/bin/git --show-toplevel /opt/hostedtoolcrev-parse /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git --show-toplevel 625184/b001/imposhow-ref /usr/bin/git git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v0.47.4 --jq .object.sha --show-toplevel go /usr/bin/git -json rty ache/go/1.25.0/x--show-toplevel git rev-�� --show-toplevel go /usr/bin/git -json GO111MODULE repository(owne--verify git (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/v1.0.0
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.0.0 --jq .object.sha --noprofile X6D161nAi 64/pkg/tool/linux_amd64/vet logs/user.env (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.0.0 --jq .object.sha --show-toplevel /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet /usr/bin/git -unreachable=falgit /tmp/go-build173rev-parse 625184/b273/vet.--show-toplevel git rev-�� --show-toplevel /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet /usr/bin/git ithub-script/gitgit -buildtags ache/node/24.14.--show-toplevel git (http block)
    • Triggering command: `/usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.0.0 --jq .object.sha -json GO111MODULE ache/go/1.25.0/x64/bin/go GOINSECURE 6baaf0b0 GOMODCACHE go env ithub/workflows GO111MODULE ache/go/1.25.0/x64/bin/go GOINSECURE ng
  • Change Workshow GOMODCACHE go` (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/v1.2.3
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.2.3 --jq .object.sha HEAD (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/v2.0.0
    • Triggering command: `/usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v2.0.0 --jq .object.sha gh-aw/pkg/parser/schemas/main_workflow_schema.json') as f:
      content = f.read()

Find playwrgit` (http block)

  • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v2.0.0 --jq .object.sha -t /deps.go x_amd64/vet OUTPUT -d 168.63.129.16 x_amd64/vet --no�� --noprofile conntrack x_amd64/vet INVALID,NEW -j DROP x_amd64/vet (http block)
  • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v2.0.0 --jq .object.sha (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/v3.0.0
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v3.0.0 --jq .object.sha -t security x_amd64/vet OUTPUT -d 168.63.129.16 x_amd64/vet --no�� --noprofile 53 x_amd64/vet ACCEPT (http block)
  • https://api.github.com/repos/githubnext/agentics/git/ref/tags/
    • Triggering command: /usr/bin/gh gh api /repos/githubnext/agentics/git/ref/tags/# --jq .object.sha run lint:cjs $name) { hasDiscussionsEnabled } } GOSUMDB GOWORK run-script/lib/nxterm-color sh -c "prettier" --check 'scripts/**/*GOINSECURE node 64/bin/go prettier --write 64/bin/go go (http block)
  • https://api.github.com/repos/nonexistent/action/git/ref/tags/v999.999.999
    • Triggering command: /usr/bin/gh gh api /repos/nonexistent/action/git/ref/tags/v999.999.999 --jq .object.sha 9go7lghnq cfg 64/pkg/tool/linux_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh api /repos/nonexistent/action/git/ref/tags/v999.999.999 --jq .object.sha --show-toplevel /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet /usr/bin/git c_mO/YfSrgItalgtgit /tmp/go-build173rev-parse /opt/hostedtoolc--show-toplevel git rev-�� --show-toplevel 625184/b126/importcfg /usr/bin/git k/gh-aw/gh-aw/pkgit k/gh-aw/gh-aw/pkrev-parse /opt/hostedtoolc--show-toplevel git (http block)
    • Triggering command: `/usr/bin/gh gh api /repos/nonexistent/action/git/ref/tags/v999.999.999 --jq .object.sha -json 6baaf0b0:go.mod ache/go/1.25.0/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE ache/go/1.25.0/x64/bin/go GOINSECURE ng
  • Change Workshow GOMODCACHE go` (http block)
  • https://api.github.com/repos/nonexistent/repo/actions/runs/12345
    • Triggering command: /usr/bin/gh gh run view 12345 --repo nonexistent/repo --json status,conclusion (http block)
  • https://api.github.com/repos/owner/repo/actions/workflows
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path --repo owner/repo k/gh-aw/gh-aw/pkg/parser/schemas/main_workflow_schema.json (http block)
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path --repo owner/repo -importcfg /tmp/go-build212625184/b457/importcfg -pack /home/REDACTED/work/gh-aw/gh-aw/tmp/smoke_test_22524436360.go git rev-�� aywright\|playwrightVersion\|playwright_version g/workflow/action_cache.go g/workflow/action_cache_test.go g/workflow/actio/opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet g/workflow/actio-V=full g/workflow/action_pins_integrati-unreachable=false g/workflow/action_pins_logging_t/tmp/go-build173342981/b085/vet.cfg (http block)
  • https://api.github.com/repos/owner/repo/contents/file.md
    • Triggering command: /tmp/go-build212625184/b396/cli.test /tmp/go-build212625184/b396/cli.test -test.testlogfile=/tmp/go-build212625184/b396/testlog.txt -test.paniconexit0 -test.v=true -test.parallel=4 -test.timeout=10m0s -test.run=^Test -test.short=true (http block)
  • https://api.github.com/repos/test-owner/test-repo/actions/secrets
    • Triggering command: /usr/bin/gh gh api /repos/test-owner/test-repo/actions/secrets --jq .secrets[].name --local committer.email cal/bin/bash (http block)

If you need me to access, download, or install something from one of these locations, you can either:

…essions

- Change ToolsConfig.Timeout and StartupTimeout from *int to *string
- Change WorkflowData.ToolsTimeout and ToolsStartupTimeout from int to string
- Update extractToolsTimeout/extractToolsStartupTimeout to accept expressions
- Update parseTimeoutTool/parseStartupTimeoutTool to return *string
- Update all engine code (claude, copilot, codex) to handle string timeout values
- Update mcp_renderer_github.go to use templatableIntValue for TOML config
- Update JSON schema for timeout/startup-timeout to accept expression strings
- Update all tests for the new string type

Agent-Logs-Url: https://github.com/github/gh-aw/sessions/6a1e2ad5-17e1-4016-ac71-7f788290b130

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copilot AI changed the title [WIP] Parameterize tools config fields to accept expressions feat: parameterize tools.timeout and tools.startup-timeout to accept GitHub Actions expressions Apr 1, 2026
Copilot AI requested a review from pelikhan April 1, 2026 12:28
@pelikhan pelikhan closed this Apr 1, 2026
@github-actions github-actions bot deleted the copilot/parameterize-tools-config-fields branch April 10, 2026 02:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[plan] Parameterize tools config fields (timeout, startup-timeout, per-tool versions) to accept expressions

2 participants