Skip to content

feat: support duration string timeouts (6m, 1h) in mcp_scripts_parser#28817

Merged
pelikhan merged 7 commits intomainfrom
copilot/fix-log-warning-string-timeout
Apr 28, 2026
Merged

feat: support duration string timeouts (6m, 1h) in mcp_scripts_parser#28817
pelikhan merged 7 commits intomainfrom
copilot/fix-log-warning-string-timeout

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 27, 2026

Two sites in mcp_scripts_parser.go silently discarded fmt.Sscanf errors when parsing string-typed timeout values, leaving users with no feedback when writing timeout: "abc" — the value would silently stay at 60s. Additionally, duration-style strings like "5m" or "1h" were not supported at all.

Changes

  • mcp_scripts_parser.go — Both occurrences (in parseMCPScriptsMap and mergeMCPScripts) replaced with a shared parseTimeoutString helper:
    • Added "strings" and "time" imports
    • New parseTimeoutString(s string) (int, bool) helper that:
      1. Trims leading/trailing whitespace
      2. Tries strconv.Atoi for plain integer strings ("120" → 120s)
      3. Falls back to time.ParseDuration for Go duration strings ("6m" → 360s, "1h" → 3600s, "30s" → 30s, "1h30m" → 5400s)
      4. Logs a warning and keeps the 60s default when neither parse succeeds
// Before
case string:
    _, _ = fmt.Sscanf(t, "%d", &toolConfig.Timeout)

// After
case string:
    if n, ok := parseTimeoutString(t); ok {
        toolConfig.Timeout = n
    } else {
        mcpScriptsLog.Printf("Warning: invalid timeout value %q for tool %q, keeping default timeout (60s)", t, toolName)
    }
  • mcp_scripts_timeout_test.go — Added test cases for:
    • timeout: "120" → parsed to 120s
    • timeout: " 120 " (whitespace) → parsed to 120s
    • timeout: "30s" → parsed to 30s
    • timeout: "6m" → parsed to 360s
    • timeout: "1h" → parsed to 3600s
    • timeout: "1h30m" → parsed to 5400s
    • timeout: "not-a-number" → falls back to 60s default
    • timeout: "" (empty string) → falls back to 60s default
    • TestMCPScriptsMergeStringTimeout covering valid, invalid, and duration-style string timeouts through the merge path
    • TestParseTimeoutString — direct unit tests for the parseTimeoutString helper covering all code paths

Copilot AI and others added 2 commits April 27, 2026 23:43
…parser.go

Replace silent fmt.Sscanf with strconv.Atoi and emit a warning log on
failure at both occurrences (parseMCPScriptsMap and mergeMCPScripts).

Add test cases:
- timeout as valid numeric string "120" → parses to 120s
- timeout as invalid string "not-a-number" → falls back to default 60s with warning
- same coverage for the merge path (TestMCPScriptsMergeStringTimeout)

Agent-Logs-Url: https://github.com/github/gh-aw/sessions/a450004a-8130-4ca5-ad13-435bb4ae95ba

Co-authored-by: gh-aw-bot <259018956+gh-aw-bot@users.noreply.github.com>
Copilot AI changed the title [WIP] Fix log warning when string timeout cannot be parsed in mcp_scripts_parser.go fix: warn on unparseable string timeout in mcp_scripts_parser Apr 27, 2026
Copilot AI requested a review from gh-aw-bot April 27, 2026 23:45
@pelikhan pelikhan marked this pull request as ready for review April 28, 2026 00:56
Copilot AI review requested due to automatic review settings April 28, 2026 00:56
@pelikhan
Copy link
Copy Markdown
Collaborator

@copilot add tests

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adjusts MCP scripts timeout parsing so string-typed timeout values no longer fail silently, and adds regression tests for the updated behavior.

Changes:

  • Update mcp_scripts_parser.go to parse string timeouts via strconv.Atoi and log a warning when invalid (instead of discarding parse errors).
  • Add tests covering numeric-string and invalid-string timeout values for both direct parsing and merge behavior.
  • Bump the pinned ruby/setup-ruby entry in action pins data files.
Show a summary per file
File Description
pkg/workflow/mcp_scripts_parser.go Switches from fmt.Sscanf to strconv.Atoi for string timeout parsing and emits warnings on invalid values.
pkg/workflow/mcp_scripts_timeout_test.go Adds test cases for valid/invalid string timeouts and merge-path coverage.
pkg/workflow/data/action_pins.json Updates the ruby/setup-ruby pinned version/sha entry.
pkg/actionpins/data/action_pins.json Mirrors the same ruby/setup-ruby pins update in the embedded pins dataset.

Copilot's findings

Tip

Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comments suppressed due to low confidence (1)

pkg/workflow/mcp_scripts_parser.go:361

  • Same parsing concern as above: strconv.Atoi will fail on numeric strings with surrounding whitespace (a behavior change vs the previous fmt.Sscanf). Consider trimming whitespace before parsing so valid values like " 120 " don't incorrectly fall back to the default with a warning.
					if n, err := strconv.Atoi(t); err == nil {
						toolConfig.Timeout = n
					} else {
						mcpScriptsLog.Printf("Warning: invalid timeout value %q for tool %q, keeping default timeout (60s)", t, toolName)
					}
  • Files reviewed: 4/4 changed files
  • Comments generated: 3

Comment thread pkg/workflow/mcp_scripts_parser.go Outdated
Comment on lines +183 to +187
if n, err := strconv.Atoi(t); err == nil {
toolConfig.Timeout = n
} else {
mcpScriptsLog.Printf("Warning: invalid timeout value %q for tool %q, keeping default timeout (60s)", t, toolName)
}
Copy link

Copilot AI Apr 28, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

strconv.Atoi rejects leading/trailing whitespace (e.g. " 120" or "120\n"), whereas the previous fmt.Sscanf("%d") would successfully parse these as 120. If the intent is to accept numeric strings with incidental whitespace while still warning on non-numeric values, trim the string (e.g. strings.TrimSpace) before parsing (and consider treating an empty string as invalid).

This issue also appears on line 357 of the same file.

Copilot uses AI. Check for mistakes.
Comment on lines +171 to +174
"ruby/setup-ruby@v1.306.0": {
"repo": "ruby/setup-ruby",
"version": "v1.305.0",
"sha": "0cb964fd540e0a24c900370abf38a33466142735"
"version": "v1.306.0",
"sha": "c4e5b1316158f92e3d49443a9d58b31d25ac0f8f"
Copy link

Copilot AI Apr 28, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This file updates the pinned ruby/setup-ruby version/sha (v1.305.0 → v1.306.0), but the PR title/description are about mcp_scripts_parser timeout parsing. If this pins update is intentional, please call it out in the PR description (or split it into a separate PR) so the behavioral surface area is clear to reviewers.

Copilot uses AI. Check for mistakes.
Comment on lines +171 to +174
"ruby/setup-ruby@v1.306.0": {
"repo": "ruby/setup-ruby",
"version": "v1.305.0",
"sha": "0cb964fd540e0a24c900370abf38a33466142735"
"version": "v1.306.0",
"sha": "c4e5b1316158f92e3d49443a9d58b31d25ac0f8f"
Copy link

Copilot AI Apr 28, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as in pkg/workflow/data/action_pins.json: this changes the pinned ruby/setup-ruby entry (v1.305.0 → v1.306.0) but isn't mentioned in the PR description, which focuses on mcp-scripts timeouts. Please document this additional change or move it to a dedicated PR.

Copilot uses AI. Check for mistakes.
@github-actions
Copy link
Copy Markdown
Contributor

🧪 Test Quality Sentinel Report

Test Quality Score: 80/100

Excellent test quality

Metric Value
New/modified tests analyzed 3
✅ Design tests (behavioral contracts) 3 (100%)
⚠️ Implementation tests (low value) 0 (0%)
Tests with error/edge cases 3 (100%)
Duplicate test clusters 0
Test inflation detected ⚠️ Yes (69 test lines added vs 11 production lines — ratio ~6.3:1)
🚨 Coding-guideline violations 0

Test Classification Details

Test File Classification Issues Detected
TestMCPScriptsTimeoutParsing — row: "timeout as valid numeric string" pkg/workflow/mcp_scripts_timeout_test.go:98 ✅ Design None
TestMCPScriptsTimeoutParsing — row: "invalid string timeout falls back to default" pkg/workflow/mcp_scripts_timeout_test.go:98 ✅ Design None
TestMCPScriptsMergeStringTimeout pkg/workflow/mcp_scripts_timeout_test.go:277 ✅ Design None

Analysis Notes

All three new tests directly verify behavioral contracts:

  • "timeout as valid numeric string" — confirms that a numeric string like "120" is accepted and parsed to integer 120. This covers a user-facing parsing contract.
  • "invalid string timeout falls back to default" — confirms that a non-numeric string like "not-a-number" gracefully falls back to the 60s default rather than panicking or producing 0. This is exactly the fix being validated.
  • TestMCPScriptsMergeStringTimeout — exercises the same two cases through the mergeMCPScripts code path, verifying the fix holds for imported (merged) configs as well as inline configs. Both valid and invalid string timeouts are exercised.

Build tag: ✅ //go:build !integration present on line 1.
Assertion messages: ✅ All t.Errorf calls include descriptive context strings.
Mock libraries: ✅ None used; tests interact with real Compiler struct.

⚠️ Test Inflation Note

The test file gained 69 lines while the production file gained only 11 lines (ratio ~6.3:1, above the 2:1 threshold). However, this is a context-sensitive flag: table-driven struct literals and JSON fixture strings naturally require more lines than the corresponding production logic. The tests are high value and the inflation is structurally justified — no action required, but noted for awareness.


Language Support

Tests analyzed:

  • 🐹 Go (*_test.go): 3 tests — unit (//go:build !integration)

Verdict

Check passed. 0% of new tests are implementation tests (threshold: 30%). All new tests verify behavioral contracts with both valid-input and error/edge-case coverage.


📖 Understanding Test Classifications

Design Tests (High Value) verify what the system does:

  • Assert on observable outputs, return values, or state changes
  • Cover error paths and boundary conditions
  • Would catch a behavioral regression if deleted
  • Remain valid even after internal refactoring

Implementation Tests (Low Value) verify how the system does it:

  • Assert on internal function calls (mocking internals)
  • Only test the happy path with typical inputs
  • Break during legitimate refactoring even when behavior is correct
  • Give false assurance: they pass even when the system is wrong

Goal: Shift toward tests that describe the system's behavioral contract — the promises it makes to its users and collaborators.

References: §25027920837

🧪 Test quality analysis by Test Quality Sentinel · ● 480.1K ·

Copy link
Copy Markdown
Contributor

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Test Quality Sentinel: 80/100. Test quality is excellent — 0% of new tests are implementation tests (threshold: 30%). All 3 new tests verify behavioral contracts with both valid-input and error/edge-case coverage. No coding-guideline violations detected.

@github-actions github-actions Bot mentioned this pull request Apr 28, 2026
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Apr 28, 2026

@copilot add tests

Added in commit 1c5ec05. The new test cases cover:

  • "120" → 120s (valid numeric string)
  • "not-a-number" → 60s default
  • "5m" → 60s default (the old fmt.Sscanf would have silently mis-parsed this as 5s)
  • "" (empty string) → 60s default

All four cases are exercised for both the parseMCPScriptsMap path (via TestMCPScriptsTimeoutParsing) and the mergeMCPScripts path (via TestMCPScriptsMergeStringTimeout).

Copilot AI requested a review from pelikhan April 28, 2026 01:04
@pelikhan
Copy link
Copy Markdown
Collaborator

@copilot merge main, use time parser to extract 6m 1h types of values

Copilot AI and others added 2 commits April 28, 2026 01:14
…ng-string-timeout

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Apr 28, 2026

@copilot merge main, use time parser to extract 6m 1h types of values

Done in commit e85eefb. Merged main and replaced strconv.Atoi with a new parseTimeoutString helper that:

  • Trims whitespace (handles " 120 " → 120s)
  • Tries strconv.Atoi first for plain integers ("120" → 120s)
  • Falls back to time.ParseDuration for Go duration strings ("6m" → 360s, "1h" → 3600s, "30s" → 30s, "1h30m" → 5400s)
  • Warns and keeps the 60s default for anything unparseable

Added TestParseTimeoutString unit test covering all combinations, plus updated the integration-style frontmatter tests for the new behavior.

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 gh repo view --json owner,name --jq .owner.login &#43; &#34;/&#34; &#43; .name 64/pkg/tool/linux_amd64/link GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/link env 348590357 GO111MODULE rtcfg.link GOINSECURE GOMOD GOMODCACHE UY6AkyPOURMCF1Vmib/9jqmIb_xHSyedtdfdHCz/E840VZGNyQx0_hmVJLUA (http block)
    • Triggering command: /usr/bin/gh gh repo view owner/repo env y_with_repos_array_c685980137/001 GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env 1821-25576/test-source-field-variant-1641758458/-errorsas GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh repo view owner/repo env -json GO111MODULE ache/go/1.25.8/x--created GOINSECURE GOMOD GOMODCACHE go env 1821-25576/test-source-field-variant-1641758458/.github/workflows GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (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 che/go-build/84/GOINSECURE GOPROXY 64/bin/go GOSUMDB GOWORK 64/bin/go /opt/hostedtoolclog -o /tmp/go-build114--format=%H:%ct -trimpath 64/bin/go -p main -lang=go1.25 go (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, .object.type] | @tsv /tmp/TestCollectWorkflowFiles_WithImports1761998543/001 config /usr/bin/git remote.origin.urgit GO111MODULE 64/pkg/tool/linu--show-toplevel git rev-�� --show-toplevel 64/pkg/tool/linux_amd64/compile /usr/bin/git 865187618 GO111MODULE ache/go/1.25.8/xinstall 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, .object.type] | @tsv xterm-color (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, .object.type] | @tsv vaScript1594147799/001/test-complex-frontmatter-with-tools.md GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env 3041279244 GO111MODULE /opt/hostedtoolcache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq [.object.sha, .object.type] | @tsv --show-toplevel 64/pkg/tool/linux_amd64/vet /usr/bin/git -json GO111MODULE ache/go/1.25.8/x: git rev-�� --show-toplevel go /usr/bin/git 1821-25576/test-git GO111MODULE cfg git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq [.object.sha, .object.type] | @tsv --show-toplevel /usr/lib/git-core/git /usr/bin/git run l /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git /tmp/gh-aw-test-git config /usr/bin/infocmp--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, .object.type] | @tsv runs/20260428-011821-25576/test-add-source-path-3379881519 GO111MODULE 1/x64/bin/node GOINSECURE GOMOD GOMODCACHE go t-ha�� ithub/workflows/architecture-guatest-logs/run-2 GO111MODULE /opt/hostedtoolcache/go/1.25.8/x64/pkg/tool/linux_amd64/asm GOINSECURE GOMOD GOMODCACHE /opt/hostedtoolcache/go/1.25.8/x--jq (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv 1821-25576/test-3041279244 GO111MODULE /usr/bin/git l GOMOD GOMODCACHE git -C runs/20260428-011821-25576/test-3310451346/custom/workflows config /bin/sh l GOWORK 64/bin/go /bin/sh (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv -bool -buildtags /usr/bin/git -errorsas -ifaceassert -nilfunc git -C /tmp/gh-aw-test-runs/20260428-011821-25576/test-2742533962/.github/workflows rev-parse /usr/bin/git d **/*.cjs 64/bin/go git (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, .object.type] | @tsv --show-toplevel go /usr/bin/git CompiledOutput36git GO111MODULE /opt/hostedtoolcHEAD git rev-�� --show-toplevel go /usr/bin/git -json GO111MODULE ache/node/24.14.--show-toplevel git (http block)
  • https://api.github.com/repos/actions/github-script/git/ref/tags/v9
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v9 --jq [.object.sha, .object.type] | @tsv GOSUMDB GOWORK 64/bin/go GOINSECURE GOMOD GOMODCACHE node /opt�� prettier --check 64/bin/go **/*.ts **/*.json --ignore-path /bin/sh (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v9 --jq [.object.sha, .object.type] | @tsv GOSUMDB GOWORK 64/bin/go GOINSECURE GOMOD GOMODCACHE sh -c &#34;prettier&#34; --cheGOINSECURE GOPROXY 64/bin/go GOSUMDB GOWORK 64/bin/go git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v9 --jq [.object.sha, .object.type] | @tsv vI1p/U6FiBmaEm5-GOINSECURE GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE 5442861/b414/impGO111MODULE -c che/go-build/15/GOINSECURE GOPROXY 64/bin/go GOSUMDB GOWORK run-script/lib/nactions/setup-cli/install.sh /opt/hostedtoolcGOPROXY (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, .object.type] | @tsv --show-toplevel go /usr/bin/infocmp -json GO111MODULE 64/bin/go infocmp -1 xterm-color go /usr/bin/infocmp -json GO111MODULE 64/pkg/tool/linu--show-toplevel infocmp (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, .object.type] | @tsv /tmp/gh-aw-test-runs/20260428-011821-25576/test-2742533962/.github/workflows remote /usr/bin/git with-tools.md **/*.cjs 64/bin/go git conf�� --get remote.origin.url /usr/bin/git 01 GO111MODULE 64/bin/go git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv --git-dir go /usr/bin/gh add-source-path-git GO111MODULE 64/bin/go gh run download 4 /usr/bin/git test-logs/run-4 GO111MODULE 64/pkg/tool/linu--show-toplevel git (http block)
  • https://api.github.com/repos/actions/setup-node/git/ref/tags/v6
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv -json GO111MODULE ache/node/24.14.1/x64/bin/node GOINSECURE GOMOD GOMODCACHE go t-25�� sistency_GoAndJavaScript15941477test-logs/run-1 GO111MODULE /usr/bin/gcc GOINSECURE GOMOD GOMODCACHE gcc (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv -json GO111MODULE /usr/bin/git GOINSECURE GOMOD GOMODCACHE git -C 1663485363 show flows/test-expires.lock.yml GOSUMDB GOWORK 64/bin/go git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv -m initial commit /opt/hostedtoolcache/node/24.14.1/x64/bin/node -json GO111MODULE 64/bin/go node /tmp�� /tmp/TestHashStability_SameInputSameOutput356348v1.0.0 node /usr/bin/git --check **/*.cjs 64/bin/go git (http block)
  • https://api.github.com/repos/actions/upload-artifact/git/ref/tags/v4
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv r-test1004779296/test1.md r-test1004779296/test2.lock.yml /usr/bin/git --thin --delta-base-offrev-parse -q git -C /tmp/TestGuardPolicyBlockedUsersApprovalLabelsCompiledOutput3556727836/001 remote rue,&#34;errors&#34;:[],&#34;warnings&#34;:[]}] /tmp/go-build114git -trimpath 64/bin/go 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, .object.type] | @tsv user.email ings.cjs n-dir/git 0d5d6eb7..full-mgo st/suppress-warnrun ache/go/1.25.8/x/tmp/go-handler-test-n1Elsh/slow.go forks.js bran�� -M st/suppress-warnings.cjs (http block)
    • Triggering command: /usr/bin/gh gh api /repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b --jq [.object.sha, .object.type] | @tsv . tions/setup/js/nmain $name) { hasDiscussionsEnabled } } /tmp/bare-incremgit gin/full-mode-brcheckout bin/git git diff�� --binary (http block)
    • Triggering command: /usr/bin/gh gh api /repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b --jq [.object.sha, .object.type] | @tsv . tions/setup/js/node_modules/vite--stdout ndor/bin/git /tmp/bare-increm/opt/hostedtoolcache/node/24.14.1/x64/bin/node . it git init�� -q st/suppress-warn--conditions ache/node/24.14.development -m ode_modules/viteapi ache/node/24.14.graphql st/dist/workers/-f (http block)
  • https://api.github.com/repos/github/gh-aw
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw --jq .default_branch -output.go /usr/lib/git-core/git r: $owner, name: $name) { hasDiscussionsEnabled } } run 5c4586a3e4ee35e8-C de_modules/.bin//home/REDACTED/work/gh-aw/gh-aw 1/x64/bin/node ve . tions/setup/js/node_modules/vitest/suppress-warnings.cjs r: $owner, name: $name) { hasDiscussionsEnabled } } -exist mp ode_modules/.bin/home/REDACTED/work/gh-aw/gh-aw tions/setup/js/nshow (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw --jq .default_branch -M main ock.yml t git n-dir/git go run ithub/workflows git repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } featurewhoami ings.cjs 86_64/git /opt/hostedtoolcshow (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, .object.type] | @tsv -1126685410/base.md -1126685410/new.md /usr/bin/git -json GO111MODULE 64/bin/go /usr/bin/git remo�� -v go /usr/bin/git -json GO111MODULE ache/go/1.25.8/x--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, .object.type] | @tsv /tmp/TestHashConsistency_GoAndJavaScript15941477test-logs/run-5 5442861/b438/impGO111MODULE /usr/bin/git che/go-build/a5/git GOPROXY 64/bin/go git rev-�� --show-toplevel /opt/hostedtoolcblob om/owner/repo.git /tmp/go-build114git -trimpath 64/bin/go gh (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, .object.type] | @tsv /tmp/TestHashConsistency_GoAndJavaScript1594147799/001/test-frontmatter-with-arrays.md 5442861/b434/impGO111MODULE /usr/bin/git 533425832/001&#39; 533425832/001&#39; 64/bin/go git -C /tmp/TestGuardPolicyTrustedUsersExpressionCompiledOutput1179691325/001 l /usr/bin/git remote.origin.urgit -trimpath 64/bin/go git (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs
    • Triggering command: /usr/bin/gh gh run list --json databaseId,number,url,status,conclusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle --limit 100 --created &gt;=2026-04-21 GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh run list --json databaseId,number,url,status,conclusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle --limit 100 --created &gt;=2026-03-29 GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh run list --json databaseId,number,url,status,conclusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle --limit 100 --created &gt;=2026-01-28 GOMOD GOMODCACHE go env source-field-variant-1641758458/.github/workflows GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/1/artifacts
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/1/artifacts --jq .artifacts[].name GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env from .github/aw to pkg/actionpins/data/action_pins.json and pkg/workflow/data/action_pins.json..git GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh run download 1 --dir test-logs/run-1 GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/12345/artifacts
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/12345/artifacts --jq .artifacts[].name GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env y_with_repos=public_2559744760/001 GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh run download 12345 --dir test-logs/run-12345 GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env ithout_min-integrity3095054530/001 GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/12346/artifacts
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/12346/artifacts --jq .artifacts[].name GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env y_with_repos=public_2559744760/0remote.origin.url GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh run download 12346 --dir test-logs/run-12346 GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env ithout_min-integrity3095054530/001 GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/2/artifacts
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/2/artifacts --jq .artifacts[].name GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env mpiledOutput3556727836/001 GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh run download 2 --dir test-logs/run-2 GO111MODULE 64/pkg/tool/linux_amd64/asm GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/asm env rity418483381/001 GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/3/artifacts
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/3/artifacts --jq .artifacts[].name mLsRemoteWithRealGitbranch_with_hyphen2910473883/001&#39; 64/bin/go GOINSECURE GOMOD GOMODCACHE go env /001/inlined-b.md GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh run download 3 --dir test-logs/run-3 GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env edOutput1179691325/001 GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/4/artifacts
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/4/artifacts --jq .artifacts[].name GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env mpiledOutput3556727836/001 GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh run download 4 --dir test-logs/run-4 GO111MODULE 64/pkg/tool/linux_amd64/compile GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/compile env rity418483381/001 GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/5/artifacts
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/5/artifacts --jq .artifacts[].name GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env mpiledOutput3556727836/001 GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh run download 5 --dir test-logs/run-5 GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE ae57f804:go.mod GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/github/gh-aw/actions/workflows
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path che/go-build/12/GOINSECURE GOPROXY 64/bin/go GOSUMDB GOWORK 64/bin/go /opt/hostedtoolclog -o /tmp/go-build114-n1 -trimpath 64/bin/go -p main -lang=go1.25 go (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 GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (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 GOMOD GOMODCACHE go env -json GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/github/gh-aw/contents/.github/workflows/shared/reporting.md
    • Triggering command: /tmp/go-build443687674/b404/cli.test /tmp/go-build443687674/b404/cli.test -test.testlogfile=/tmp/go-build443687674/b404/testlog.txt -test.paniconexit0 -test.v=true -test.parallel=4 -test.timeout=10m0s -test.run=^Test -test.short=true GOINSECURE GOMOD GOMODCACHE sh -c npx prettier --cGOINSECURE GOPROXY 64/bin/go GOSUMDB GOWORK 64/bin/go sh (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, .object.type] | @tsv --show-toplevel go /usr/bin/git -json GO111MODULE ache/go/1.25.8/x--show-toplevel git rev-�� --show-toplevel ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile /usr/bin/git -json GO111MODULE /opt/hostedtoolc/tmp/gh-aw/aw-feature-branch.patch 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, .object.type] | @tsv $(go env GOROOT)/lib/wasm/wasm_exec.js (or misc/wasm/ for Go &lt;1.24)&#34; GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 1/x64/bin/node GOINSECURE GOMOD 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, .object.type] | @tsv -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (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, .object.type] | @tsv -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v2.0.0 --jq [.object.sha, .object.type] | @tsv -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env Gitmain_branch25--repo Gitmain_branch25owner/repo 64/bin/go GOINSECURE GOMOD GOMODCACHE go (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, .object.type] | @tsv -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go _bra�� -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE 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, .object.type] | @tsv -json GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env agent-persona-explorer.md GO111MODULE 1/x64/bin/node GOINSECURE GOMOD 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 GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/vet env -json GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (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 64/bin/go iles use Prettie/opt/hostedtoolcache/go/1.25.8/x64/pkg/tool/linux_amd64/compile GOWORK 64/bin/go /opt/hostedtoolc-trimpath -o /tmp/go-build114-p -trimpath 64/bin/go -p main -lang=go1.25 go (http block)
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path --repo owner/repo 64/bin/go GOSUMDB GOWORK 64/bin/go go list�� -m -json 64/bin/go -json GO111MODULE 64/bin/go go (http block)
    • Triggering command: /usr/bin/gh gh workflow list --repo owner/repo --json name,path,state ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE ck GOINSECURE GOMOD GOMODCACHE go (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 33425832/001&#39; 33425832/001&#39; 64/bin/go GOSUMDB GOWORK 64/bin/go /opt/hostedtoolcGOPROXY -o /tmp/go-build114GOSUMDB -trimpath 64/bin/go -p main -lang=go1.25 go (http block)
  • https://api.github.com/repos/test/repo
    • Triggering command: /usr/bin/gh gh api /repos/test/repo --jq .default_branch rity418483381/001 GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env /ref/tags/v9 GO111MODULE sv GOINSECURE GOMOD GOMODCACHE go (http block)
  • invalid.example.invalid
    • Triggering command: /usr/lib/git-core/git-remote-https /usr/lib/git-core/git-remote-https origin https://invalid.example.invalid/nonexistent-repo.git e/git init�� ndor/bin/git git ode_modules/.bin/git =receive test@example.com--git-dir=/tmp/bare-incremental-olIyGF /git (dns block)

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

Copilot AI changed the title fix: warn on unparseable string timeout in mcp_scripts_parser feat: support duration string timeouts (6m, 1h) in mcp_scripts_parser Apr 28, 2026
@pelikhan
Copy link
Copy Markdown
Collaborator

@copilot merge main and recompile

…ng-string-timeout

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Apr 28, 2026

@copilot merge main and recompile

Done in commit 47c94b0. Merged the latest main and ran make recompile — all 203 workflow files recompiled cleanly with no changes needed.

@pelikhan pelikhan merged commit 2ef6b5e into main Apr 28, 2026
@pelikhan pelikhan deleted the copilot/fix-log-warning-string-timeout branch April 28, 2026 01:49
Copilot stopped work on behalf of pelikhan due to an error April 28, 2026 01:50
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.

fix: log warning when string timeout cannot be parsed in mcp_scripts_parser.go

4 participants