Skip to content

fix(workflow): convert OTLP headers to JSON object for MCP Gateway v0.2.17 compatibility#25506

Closed
Copilot wants to merge 2 commits intomainfrom
copilot/deep-report-fix-fetch-failure
Closed

fix(workflow): convert OTLP headers to JSON object for MCP Gateway v0.2.17 compatibility#25506
Copilot wants to merge 2 commits intomainfrom
copilot/deep-report-fix-fetch-failure

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 9, 2026

MCP Gateway v0.2.17 changed the opentelemetry.headers config field from type: string to type: object, causing all 53 OTLP-enabled workflows to fail at MCP startup for 17+ consecutive days with expected object, but got string.

Changes

  • mcp_renderer.go: Before the MCP config heredoc, add a jq one-liner that converts OTEL_EXPORTER_OTLP_HEADERS (key=val,... format) to a JSON object in GH_AW_OTEL_HEADERS_JSON. Reference it unquoted in the heredoc so bash substitutes the object inline:
- "headers": "${OTEL_EXPORTER_OTLP_HEADERS}",
+ # Convert OTLP headers (key=val,...) to JSON object required by MCP Gateway schema
+ GH_AW_OTEL_HEADERS_JSON=$(echo "${OTEL_EXPORTER_OTLP_HEADERS:-}" | jq -Rr \
+   'split(",") | map(select(. != "") | split("=") | {key: .[0], value: (.[1:] | join("="))}) | from_entries' \
+   2>/dev/null || echo '{}')
...
+ "headers": ${GH_AW_OTEL_HEADERS_JSON},
  • Schema files (pkg/workflow/schemas/ and docs/public/schemas/): Update opentelemetryConfig.headers from type: string to type: object with additionalProperties: { type: string }.

  • mcp_renderer_test.go: Update assertions to verify the object-format output and preamble; assert the old string passthrough is absent.

  • 53 lock files recompiled via make recompile.

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 -d 168.63.129.16 x_amd64/vet --no�� ath ../../../.pr**/*.json 53 x_amd64/vet ACCEPT (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 -d 168.63.129.16 x_amd64/vet --no�� ath ../../../.pr**/*.json conntrack x_amd64/vet INVALID,NEW -j DROP x_amd64/vet (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 (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 -c=4 -nolocalimports -importcfg /tmp/go-build525791801/b411/importcfg -pack /home/REDACTED/work/gh-aw/gh-aw/pkg/fileutil/fileutil.go /home/REDACTED/work/gh-aw/gh-aw/pkg/fileutil/tar.go --no�� te '../../../**/*.json' '!../../-f -tests r: $owner, name: $name) { hasDiscussionsEnabled } } get --local /opt/hostedtoolc/tmp/go-build525791801/b414/_pkg_.a /opt/hostedtoolc-trimpath (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 --show-toplevel git /usr/bin/git 2907393672 64/pkg/tool/linurev-parse /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git k/gh-aw/gh-aw/.ggit 64/pkg/tool/linurev-parse x_amd64/vet git (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 git /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git --show-toplevel git /usr/bin/git 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 /tmp/gh-aw-test-runs/20260409-160955-16843/test-1966556564/.github/workflows l /usr/bin/git ti-device-docs-tgit -tests /home/REDACTED/wor--show-toplevel git conf�� --get remote.origin.url ache/node/24.14.1/x64/bin/node k/gh-aw/gh-aw/.ggit :latest /bin/sh git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v3 --jq .object.sha --show-toplevel git /usr/bin/git --show-toplevel grep /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git --show-toplevel /bin/sh /usr/bin/git 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 /home/REDACTED/work/gh-aw/gh-aw/.github/workflows rev-parse er: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabl--show-toplevel edcfg .cfg 64/pkg/tool/linu--get-regexp node /opt�� Onlymin-integrity_with_repos=public_1587494674/001 -- ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet name (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha --show-toplevel git /usr/bin/git k/gh-aw/gh-aw/.ggit rev-parse cfg git rev-�� --show-toplevel git /usr/bin/git 4/001/inlined-a.git rev-parse 64/pkg/tool/linu--show-toplevel git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha --show-toplevel 64/pkg/tool/linux_amd64/vet /usr/bin/git -nilfunc LtLQmmiTOziM om/owner/repo.gi--show-toplevel git rev-�� --show-toplevel git /usr/bin/git --show-toplevel sh cfg 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 --show-toplevel infocmp /usr/bin/git ithub/workflows x_amd64/vet /usr/bin/git /usr/bin/git conf�� --get-regexp ^remote\..*\.gh-resolved$ /usr/bin/git y_with_repos_arrgit config 64/pkg/tool/linu--show-toplevel git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq .object.sha x_amd64/vet git /usr/bin/git ithub/workflows x_amd64/vet /usr/bin/gh git rev-�� --show-toplevel /usr/bin/gh /usr/bin/git ut462411440/001 -f 64/pkg/tool/linu--show-toplevel git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq .object.sha uest|push_to_pull_request_branch)" git /usr/bin/git ons-test34460311git config /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git /tmp/gh-aw-test-git rev-parse /usr/bin/git 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 ithub/workflows /tmp/go-build1340647927/b169/vetowner=github r: $owner, name: $name) { hasDiscussionsEnabled } } (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v8 --jq .object.sha piler-quality.lock.yml -importcfg /opt/hostedtoolcache/uv/0.11.6/x86_64/bash -s -w ed } } bash --no�� --noprofile -extld=gcc er: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabl/tmp/TestGuardPolicyMinIntegrityOnlyCompiledOutput462411440/001 get --local /usr/sbin/git node (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v8 --jq .object.sha te '../../../**/*.json' '!../../../pkg/workflow/js/**/*.json' --ignore-path ../../../.prettierig/usr/lib/git-core/git -tests /usr/bin/bash get --local /usr/local/.ghcu/repos/actions/github-script/git/ref/tags/v8 bash --no�� (.*\)$/\2/p git repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } d -n 10 --local ed } } node (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 /sh git /usr/bin/git ithub/workflows x_amd64/vet /usr/bin/gh /usr/bin/git conf�� --get-regexp ^remote\..*\.gh-resolved$ /usr/bin/git health-manager.lgit -f 64/pkg/tool/linu--show-toplevel git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/v4 --jq .object.sha --show-toplevel git /opt/pipx_bin/bash ithub-script/gitgit 55660329..HEAD ache/node/24.14.--show-toplevel bash --no�� --noprofile in 2>/dev/null | tr '\n' ':')$PATH"; [ -n "$GOROOT" ] && export /usr/bin/git nly git /usr/bin/git 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 --show-toplevel x_amd64/compile /usr/bin/git t-tools.lock.ymlgit config /usr/bin/git /usr/bin/git conf�� --get-regexp ^remote\..*\.gh-resolved$ /usr/bin/git y_with_repos_arrgit x_amd64/vet 64/pkg/tool/linu--show-toplevel git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq .object.sha --show-toplevel git /snap/bin/bash --show-toplevel 55660329 /usr/bin/git bash --no�� --noprofile git /usr/bin/git --show-toplevel git /usr/bin/git 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 HEAD:go.mod /opt/hostedtoolc-f 1/x64/bin/node ithub/workflows /tmp/go-build134rev-parse ache/go/1.25.8/x--show-toplevel 1/x64/bin/node -C /tmp/TestGuardPolicyMinIntegrityOnlymin-integrity_with_repos=public_1587494674/001 remote /usr/bin/git oken-audit.lock.git -buildtags p/bin/bash git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v4 --jq .object.sha --show-toplevel git /usr/bin/git --show-toplevel (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 h open('/home/REDACTED/work/gh-aw/-errorsas (http block)
    • Triggering command: /usr/bin/gh gh api /repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b --jq .object.sha --noprofile (http block)
  • https://api.github.com/repos/github/gh-aw
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw --jq .visibility .lock.yml 53 r: $owner, name: $name) { hasDiscussionsEnabled } } ACCEPT (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 --show-toplevel git /usr/bin/git tmatter-with-nesgit mLsRemoteWithRearev-parse er: String!, $na--show-toplevel /usr/bin/git conf�� --get-regexp ^remote\..*\.gh-resolved$ /usr/bin/git 2936950250/.githgit x_amd64/vet 64/pkg/tool/linu--show-toplevel git (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 docker -d git rev-�� --show-toplevel git /usr/bin/git --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 --bare l 1/x64/bin/node -c=4 -nolocalimports -importcfg 1/x64/bin/node -C /tmp/TestGuardPolicyBlockedUsersExpressionCompiledOutput3879448002/001 config /usr/bin/git remote.origin.urgit security /usr/bin/git git (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 n-dir/bash --show-toplevel e/git /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git --show-toplevel (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 -stringintconv (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.2.3 --jq .object.sha --show-toplevel git /usr/bin/git --show-toplevel IqNcV-t/Pk0Il-NBrev-parse /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git --show-toplevel git /usr/bin/git git (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 x_amd64/vet /usr/bin/sort re --log-level=egit (http block)
    • Triggering command: /usr/bin/gh gh run download 1 --dir test-logs/run-1 erena-mcp-server:latest 64/pkg/tool/linux_amd64/compile --noprofile (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 x_amd64/vet ndor/bin/bash l k/gh-aw/gh-aw/pk-atomic 64/pkg/tool/linu-bool /usr/bin/gh api kflows/q.lock.ym-errorsas -f 64/pkg/tool/linu-nilfunc -f owner=github -f 64/pkg/tool/linu-tests (http block)
    • Triggering command: /usr/bin/gh gh run download 12345 --dir test-logs/run-12345 rev-parse 86_64/bash re --log-level=egit (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 x_amd64/vet /usr/bin/infocmp --noprofile (http block)
    • Triggering command: /usr/bin/gh gh run download 12346 --dir test-logs/run-12346 config /usr/bin/infocmp remote.origin.urgit (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 config (http block)
    • Triggering command: /usr/bin/gh gh run download 2 --dir test-logs/run-2 zation_test.go 64/pkg/tool/linux_amd64/vet remote.origin.ur/usr/bin/unpigz (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 rev-parse ndor/bin/bash l (http block)
    • Triggering command: /usr/bin/gh gh run download 3 --dir test-logs/run-3 rver 64/pkg/tool/linux_amd64/vet --noprofile (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 erena-mcp-server:latest /usr/bin/expr re --log-level=egit (http block)
    • Triggering command: /usr/bin/gh gh run download 4 --dir test-logs/run-4 x_amd64/vet 64/pkg/tool/linux_amd64/vet --noprofile (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 ghcr.io/github/serena-mcp-server:latest /usr/bin/find re --log-level=egit (http block)
    • Triggering command: /usr/bin/gh gh run download 5 --dir test-logs/run-5 x_amd64/vet 64/pkg/tool/linux_amd64/vet --noprofile 25fa4967e99d376frev-parse x_amd64/asm 64/pkg/tool/linux_amd64/vet -C 1966556564/.github/workflows config k remote.origin.urgit .cfg node docker (http block)
  • https://api.github.com/repos/github/gh-aw/actions/workflows
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path -bool -buildtags k/gh-aw/gh-aw/actions/node_modules/.bin/sh -errorsas -ifaceassert erignore /opt/hostedtoolcache/go/1.25.8/xconfig -V=f�� ithub/workflows -tests /opt/hostedtoolcache/go/1.25.8/x64/pkg/tool/linux_amd64/link get --local ed } } /opt/hostedtoolcache/go/1.25.8/x64/pkg/tool/linu-f (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 --local /snap/bin/git sh -c k/gh-aw/gh-aw/.g--detach git me: String!) { repository(owner: $owner, name:-f --local g/agentdrain/datrev-parse (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/linux_amd64/link /usr/bin/git er.test ache/go/1.25.8/xrev-parse 64/pkg/tool/linu--show-toplevel git rev-�� --show-toplevel 64/pkg/tool/linux_amd64/link /usr/bin/git ngutil.test ache/go/1.25.8/xrev-parse rtcfg.link 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 git /usr/bin/git --show-toplevel git /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git --show-toplevel git /usr/bin/git 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 /workflows x_amd64/vet er: String!, $name: String!) { repository(owne-nilfunc js/**/*.json' --git .cfg x_amd64/vet infocmp -1 xterm-color x_amd64/vet x_amd64/compile (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.0.0 --jq .object.sha --show-toplevel e/git /usr/bin/git om/owner/repo.gigit om/owner/repo.girev-parse /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git TH="$(find "/tmpgit x_amd64/vet /usr/bin/git git (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 yml -importcfg (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 -test.paniconexit0 -test.timeout=10m0s er: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabl/tmp/TestGuardPolicyMinIntegrityOnlyCompiledOutput462411440/001 -test.run=TestReinfocmp --local run-script/lib/nxterm-color node /hom�� ithub/workflows **/*.cjs /home/node_modules/.bin/sh l --ignore-path ../../../.prettiHEAD:.github/workflows/test-workflow.lock.yml sh (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v2.0.0 --jq .object.sha --noprofile git /home/REDACTED/go/bin/node get s $k => $v) echo-C /home/REDACTED/.co/tmp/gh-aw-test-runs/20260409-160955-16843/test-4285791712/.github/workflows node /hom�� ithub/workflows **/*.cjs /home/REDACTED/.local/bin/sh **/*.json --ignore-path ed } } sh (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v2.0.0 --jq .object.sha ithub/workflows actions/setup/js-w /opt/hostedtoolc-buildmode=exe cmd/gh-aw/capitagit cmd/gh-aw/commanrev-parse cmd/gh-aw/format--show-toplevel node /opt�� Gitmaster_branch3134499843/001' Gitmaster_branch3134499843/001' /opt/pipx_bin/sh --ignore-path .prettierignore --log-level=erro--show-toplevel sh (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 ithub/workflows git /home/REDACTED/wor-nilfunc get --local nfig/composer/ve--show-toplevel node /hom�� Gitmaster_branch3134499843/001' Gitmaster_branch3134499843/001' /home/REDACTED/work/gh-aw/gh-aw/node_modules/.bin/sh **/*.json --ignore-path ../../../.prettiuser.email sh (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 1V67cJn42 .cfg 64/pkg/tool/linux_amd64/vet (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 k/gh-aw/gh-aw/.github/workflows x_amd64/vet /usr/bin/git js/**/*.json' --git .cfg 64/pkg/tool/linu--show-toplevel git -C k/gh-aw/gh-aw/.github/workflows config /usr/bin/git remote.origin.ur/opt/hostedtoolcache/node/24.14.1/x64/bin/node opentelemetry\|h/tmp/test-expr-2815347067.js odules/npm/node_github.token git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/nonexistent/action/git/ref/tags/v999.999.999 --jq .object.sha --show-toplevel git /usr/bin/git = get && echo "pgit = get && echo "prev-parse /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git --show-toplevel x_amd64/vet /opt/hostedtoolc--show-toplevel git (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 w/js/**/*.json' git (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 e_modules/.bin/sh -errorsas -ifaceassert erignore /opt/hostedtoolcache/go/1.25.8/x64/pkg/tool/linu-f -V=f�� ithub/workflows -tests /tmp/go-build2711635205/b001/workflow.test get --local ode-gyp-bin/node--show-toplevel /tmp/go-build2711635205/b001/workflow.test (http block)
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path --repo owner/repo in/sh -errorsas -ifaceassert erignore /opt/hostedtoolcache/go/1.25.8/xconfig -o piler-quality.lock.yml -importcfg /opt/hostedtoolcache/uv/0.11.6/x86_64/bash -s -w ed } } bash (http block)
  • https://api.github.com/repos/owner/repo/contents/file.md
    • Triggering command: /tmp/go-build525791801/b397/cli.test /tmp/go-build525791801/b397/cli.test -test.testlogfile=/tmp/go-build525791801/b397/testlog.txt -test.paniconexit0 -test.v=true -test.parallel=4 -test.timeout=10m0s -test.run=^Test -test.short=true nore (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 te '**/*.cjs' '**/*.ts' '**/*.jsremote.origin.url -buildtags r: $owner, name: $name) { hasDiscussionsEnabled } } -errorsas -ifaceassert -nilfunc bash ache�� ithub/workflows -tests on rkflow/js/**/*.j/tmp/go-build525791801/b406/constants.test --local ed } } go (http block)

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

…P Gateway compatibility

The MCP Gateway v0.2.17 schema requires opentelemetry.headers to be a JSON
object (type: object) instead of a raw string. This was causing 53+ workflow
runs to fail with a configuration validation error since the binary expected
an object but received a string.

Changes:
- mcp_renderer.go: Before the MCP Gateway config heredoc, add bash that converts
  OTEL_EXPORTER_OTLP_HEADERS (key=val,... format) to a JSON object using jq.
  The heredoc now references ${GH_AW_OTEL_HEADERS_JSON} without quotes so bash
  substitutes the JSON object inline.
- mcp_renderer_test.go: Update test assertions to verify the new object-format
  output and preamble, and reject the old string-passthrough format.
- pkg/workflow/schemas/mcp-gateway-config.schema.json: Change opentelemetryConfig
  headers from type:string to type:object with additionalProperties:string.
- docs/public/schemas/mcp-gateway-config.schema.json: Same schema update.
- Recompile all 187 workflow lock files to apply the fix to all 53 affected workflows.

Agent-Logs-Url: https://github.com/github/gh-aw/sessions/98205c94-20ed-49ed-bd83-a44abb9760ca

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copilot AI changed the title [WIP] Investigate and fix Daily Issues Report Generator fetch failure fix(workflow): convert OTLP headers to JSON object for MCP Gateway v0.2.17 compatibility Apr 9, 2026
@pelikhan pelikhan closed this Apr 9, 2026
Copilot AI requested a review from pelikhan April 9, 2026 17:06
@github-actions github-actions Bot deleted the copilot/deep-report-fix-fetch-failure branch April 17, 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.

[deep-report] Investigate and fix Daily Issues Report Generator 17-day fetch failure

2 participants