Skip to content

feat(otel): add github.workflow_ref resource attribute to all OTel spans#28358

Merged
pelikhan merged 2 commits intomainfrom
copilot/add-github-workflow-ref-attribute
Apr 24, 2026
Merged

feat(otel): add github.workflow_ref resource attribute to all OTel spans#28358
pelikhan merged 2 commits intomainfrom
copilot/add-github-workflow-ref-attribute

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 24, 2026

Every span emitted by send_otlp_span.cjs was missing github.workflow_ref, making it impossible to identify which workflow YAML file produced a span via OTel backend query alone. Repos with multiple compiled workflows share service.name = "gh-aw" and the only distinguishing attribute (gh-aw.workflow.name) isn't a first-class indexed dimension in most backends.

Changes

  • send_otlp_span.cjs — reads GITHUB_WORKFLOW_REF and adds it as the github.workflow_ref resource attribute in both sendJobSetupSpan and sendJobConclusionSpan, conditionally (omitted when env var is unset), consistent with how github.ref, github.sha, etc. are handled

  • send_otlp_span.test.cjs — adds 4 tests covering present/absent cases for both span functions; adds GITHUB_WORKFLOW_REF to the env-cleanup lists in both describe blocks

Result

Every span now carries:

{
  "key": "github.workflow_ref",
  "value": { "stringValue": "owner/repo/.github/workflows/otel-advisor.yml@refs/heads/main" }
}

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 + "/" + .name 64/pkg/tool/linux_amd64/compile GOINSECURE boring/bbig ache/go/1.25.8/xuser.name 64/pkg/tool/linuTest User (http block)
    • Triggering command: /usr/bin/gh gh repo view owner/repo env 2013127728 .cfg 64/pkg/tool/linux_amd64/link GOINSECURE contextprotocol/rev-parse GOMODCACHE 64/pkg/tool/linux_amd64/link -c ger.test log x_amd64/compile -n1 b/gh-aw/pkg/acti-1 --end-of-optionsxterm-color x_amd64/compile (http block)
    • Triggering command: /usr/bin/gh gh repo view owner/repo env 2013127728 gNV_/-ERQMY_tDmUJytyNgNV_ .cfg GOINSECURE a95/uritemplate/rev-parse GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile -V=f�� 7609294/b395/_pkg_.a GOPROXY x_amd64/compile GOSUMDB GOWORK 64/bin/go x_amd64/compile (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 -json GO111MODULE x_amd64/compile GOINSECURE GOMOD GOMODCACHE x_amd64/compile env -json GO111MODULE x_amd64/compile GOINSECURE GOMOD GOMODCACHE x_amd64/compile (http block)
    • Triggering command: /usr/bin/gh gh api /orgs/test-owner/actions/secrets --jq .secrets[].name -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/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 -v 64/pkg/tool/linu-dwarf=false /usr/bin/git y_with_repos=pubgit .cfg 64/pkg/tool/linu--show-toplevel git rev-�� --show-toplevel 64/pkg/tool/linu/tmp/go-build3517609294/b456/_testmain.go /usr/bin/git 037614/b001/exe/node GO111MODULE ache/go/1.25.8/xinstall git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/ai-inference/git/ref/tags/v1 --jq [.object.sha, .object.type] | @tsv --show-toplevel go /usr/bin/git /001/test-frontmgit GO111MODULE ache/go/1.25.8/x--show-toplevel git rev-�� --show-toplevel resolved$ /usr/bin/git edOutput18683090node GO111MODULE 64/pkg/tool/linuinstall 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 GOMODCACHE x_amd64/compile /usr/bin/git -json GO111MODULE x_amd64/vet git -C /tmp/TestCompileErrorFormatting4196670564/001 remote /usr/bin/git -json at.go x_amd64/vet git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v3 --jq [.object.sha, .object.type] | @tsv /tmp/TestGuardPolicyTrustedUsersExpressionCompiledOutput1868309019/001 config /usr/bin/git remote.origin.urgit GO111MODULE 64/bin/go git init�� GOMODCACHE go /usr/bin/git re GO111MODULE 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, .object.type] | @tsv se 7609294/b087/vet.cfg ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet -p internal/godebugdiff -lang=go1.25 ache/go/1.25.8/x--name-only 7609�� st-739876478/.github/workflows 7609294/b070/_testmain.go /opt/hostedtoolcache/go/1.25.8/x64/pkg/tool/linux_amd64/vet -p crypto/rc4 -lang=go1.25 /opt/hostedtoolcache/go/1.25.8/x64/pkg/tool/linux_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq [.object.sha, .object.type] | @tsv --show-toplevel -extld=gcc /usr/bin/git se 7609294/b054/vet\n .cfg git rev-�� --show-toplevel ache/go/1.25.8/x64/pkg/tool/linumyorg /usr/bin/git rdian.md 7609294/b246/vetrev-parse ache/go/1.25.8/x--show-toplevel 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 git /usr/bin/git /home/REDACTED/worgit show 1/x64/bin/node git rev-�� --show-toplevel git /usr/bin/git ithub/workflows/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 /tmp/TestGuardPolicyMinIntegrityOnlymin-integrity_only_defaults_repo3019649187/001 remote /usr/bin/gh -json GO111MODULE x_amd64/compile gh api /repos/actions/github-script/git/ref/tags/v9 --jq /usr/bin/git -json GO111MODULE x_amd64/vet git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv run l /usr/bin/git --detach GO111MODULE 64/bin/go git rev-�� --show-toplevel go /usr/bin/git -json GO111MODULE 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 ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet /usr/bin/git st-739876478/.gigit -trimpath /opt/hostedtoolc-m git rev-�� --show-toplevel /opt/hostedtoolcache/go/1.25.8/x64/pkg/tool/linu-test.v=true /usr/bin/git /tmp/go-build351git -trimpath (http block)
    • 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 SameOutput156378sed GO111MODULE cal/bin/node git rev-�� --show-toplevel go /usr/bin/git -json GO111MODULE e/git 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 -json GO111MODULE x_amd64/asm GOINSECURE GOMOD GOMODCACHE x_amd64/asm env -json GO111MODULE x_amd64/compile GOINSECURE GOMOD GOMODCACHE x_amd64/compile (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v9 --jq [.object.sha, .object.type] | @tsv -c=4 -nolocalimports -importcfg /tmp/go-build3517609294/b437/importcfg -pack /home/REDACTED/work/gh-aw/gh-aw/pkg/semverutil/semverutil.go /home/REDACTED/work/gh-aw/gh-aw/pkg/semverutil/semverutil_test.go env -json GO111MODULE x_amd64/vet GOINSECURE GOMOD GOMODCACHE x_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v9 --jq [.object.sha, .object.type] | @tsv -json r/common.go x_amd64/compile GOINSECURE GOMOD bytealg/compare_--show-toplevel x_amd64/compile env -json GO111MODULE x_amd64/vet GOINSECURE GOMOD GOMODCACHE x_amd64/vet (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 --git-dir x_amd64/vet /usr/bin/gh rtcfg RG6vPflge 64/pkg/tool/linu--show-toplevel gh api --paginate repos/{owner}/{repo}/actions/runs/12346/artifacts /usr/bin/infocmp .artifacts[].namgit GO111MODULE 64/pkg/tool/linu--show-toplevel infocmp (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv GOMODCACHE go ps -json GO111MODULE 64/bin/go ps git 9503383/001 go /usr/bin/git -json GO111MODULE ache/go/1.25.8/x--show-toplevel 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, .object.type] | @tsv /tmp/TestGuardPolicyMinIntegrityOnlymin-integrity_with_explicit_repo381008075/001 config /usr/bin/git remote.origin.urgit GO111MODULE x_amd64/compile git rev-�� mpleWorkflow1254001867/001 x_amd64/compile /usr/bin/git -json GO111MODULE x_amd64/vet git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv --show-toplevel x_amd64/link /usr/bin/git rtcfg 0kiaYELPw 64/pkg/tool/linu--show-toplevel /usr/bin/git conf�� --get-regexp ^remote\..*\.gh-resolved$ /usr/bin/infocmp rtcfg GO111MODULE 64/pkg/tool/linu--show-toplevel infocmp (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv --symref origin /usr/bin/git -json GO111MODULE 64/bin/go git rev-�� --show-toplevel go /usr/bin/git -json GO111MODULE 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 --show-toplevel -extld=gcc /usr/bin/git -json GO111MODULE x_amd64/compile git -C /tmp/gh-aw-test-runs/20260424-215622-34469/test-2113049994 config ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet remote.origin.urgit g.go x_amd64/compile ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv -bool -buildtags /opt/hostedtoolcache/node/24.14.1/x64/bin/node -errorsas -ifaceassert -nilfunc node /tmp�� /tmp/TestHashConsistency_GoAndJavaScript18559374/001/test-frontmatter-with-env-template-expressigit -tests /usr/bin/git -json GO111MODULE 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 --require ings.cjs es/.bin/git node --conditions development forks.js conf�� commit.gpgsign st/suppress-warnmain _modules/.bin/gi-lang=go1.25 est-change tions/setup/js/n--experimental-import-meta-resolve ode st/dist/workers//home/REDACTED/work/gh-aw/gh-aw/actions/setup/js/node_modules/vitest/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 -q Cxt1/.diffsize.tmp $name) { hasDiscussionsEnabled } } HEAD est-change..featcommit in/git git comm�� -q -m rgo/bin/git --verify --quiet ode_modules/.bin/home/REDACTED/work/gh-aw/gh-aw/.github/workflows git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b --jq [.object.sha, .object.type] | @tsv -q Cxt1/.diffsize.tmp n-dir/git --verify est-change..feat--experimental-import-meta-resolve tions/setup/node--require 1jLgk9B/OUCX8kMU/home/REDACTED/work/gh-aw/gh-aw/actions/setup/js/node_modules/vitest/suppress-warnings.cjs rev-�� HEAD st/suppress-warn--conditions tions/node_moduldevelopment --verify --quiet e_modules/.bin/ggraphql 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 HEAD tions/setup/js/node_modules/viteowner=github 64/pkg/tool/linux_amd64/link git ff813291f69913b0-C run-script/lib/n/home/REDACTED/work/gh-aw/gh-aw/.github/workflows 64/pkg/tool/linuconfig conf�� commit.gpgsign t-patch-utils-FsNVHK/.diffsize.tmp repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } --require ff813291f69913b0-C ache/node/24.14./home/REDACTED/work/gh-aw/gh-aw/.github/workflows git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw --jq .default_branch ithub/workflows k/gh-aw/gh-aw/actions/setup/js/node_modules/vitest/suppress-warnings.cjs /opt/hostedtoolcache/node/24.14.1/x64/bin/node --require mp run-script/lib/n/home/REDACTED/work/gh-aw/gh-aw k/gh-aw/gh-aw/acshow 7520�� ithub/workflows test-1KOyq9/error.go /opt/hostedtoolcache/go/1.25.8/x64/pkg/tool/linux_amd64/link node --conditions ed } } /opt/hostedtoolcconfig (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 --get remote.origin.url /opt/hostedtoolcache/node/24.14.1/x64/bin/node scripts synced git v4b3viMTA 64/pkg/tool/linu--show-toplevel /opt/hostedtoolcache/node/24.14.1/x64/bin/node /tmp�� vars.MY_VAR 64/pkg/tool/linu-tests /usr/bin/git rtcfg .cfg 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, .object.type] | @tsv --show-toplevel go /usr/bin/git th .prettierignogit GO111MODULE 64/bin/go git rev-�� --show-toplevel go /usr/bin/git /001/test-empty-git 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 7609294/b456/timeutil.test rev-parse 7609294/b456/importcfg.link -json GO111MODULE x_amd64/compile R_3VA1bELNvSY/sg3YSHTzqdvJXL5t-fhz/8-8vmLiYCmHH9yLNKNaz/ITCHFh6R_3VA1bELNvSY init�� ry=1 l 7609294/b456/_pkg_.a 01 GO111MODULE 64/bin/go git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.0.0 --jq [.object.sha, .object.type] | @tsv k/gh-aw/gh-aw/.github/workflows/ai-moderator.md show /usr/bin/git -json GO111MODULE 64/bin/go git rev-�� ons-test26693057 go ow-without-reaction.lock.yml -json GO111MODULE 64/bin/go git (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 7609294/b456/_pkg_.a x_amd64/asm 7609294/b456=> -json 8601/parse.go x_amd64/compile git -C -fhz/sg3YSHTzqdvJXL5t-fhz remote /usr/bin/git 01 GO111MODULE x_amd64/link git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.2.3 --jq [.object.sha, .object.type] | @tsv k/gh-aw/gh-aw/.github/workflows/agentic-optimization-kit.md config /usr/bin/git remote.origin.urgit GO111MODULE 64/bin/go git rev-�� ons-test26693057 go /usr/bin/git l GO111MODULE 64/bin/go 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 rg/x/text@v0.36.0/internal/tag/tag.go 64/pkg/tool/linux_amd64/vet GOINSECURE hlite GOMODCACHE 64/pkg/tool/linuTest User env 037614/b241/_pkg_.a _zAe/m6K4S-499xrKjIdi_zAe x_amd64/link GOINSECURE t/internal/langurev-parse GOMODCACHE x_amd64/link (http block)
    • Triggering command: /usr/bin/gh gh run download 1 --dir test-logs/run-1 .cfg 64/pkg/tool/linux_amd64/vet GOINSECURE entropy GOMODCACHE 64/pkg/tool/linux_amd64/vet env 037614/b235/_pkg_.a h5RJ/fhSiz4P0ozPJ9_2Hh5RJ k GOINSECURE osh-tekuri/jsonsrev-parse GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linu-buildtags (http block)
    • 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/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet env -json GO111MODULE e/git GOINSECURE GOMOD GOMODCACHE e/git (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/pkg/tool/linux_amd64/vet GOINSECURE fips140/sha256 GOMODCACHE 64/pkg/tool/linutest@example.com env 037614/b219/_pkg_.a t2Bi/LbyKJAzlPTfrrG8ct2Bi .cfg GOINSECURE g/x/text/unicoderev-parse GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linu-trimpath (http block)
    • Triggering command: /usr/bin/gh gh run download 12345 --dir test-logs/run-12345 om/modelcontextprotocol/go-sdk@v1.5.0/internal/m-ifaceassert 64/pkg/tool/linux_amd64/vet GOINSECURE fips140/check GOMODCACHE 64/pkg/tool/linux_amd64/vet env 2013127728 .cfg 64/pkg/tool/linux_amd64/link GOINSECURE contextprotocol/rev-parse GOMODCACHE 64/pkg/tool/linux_amd64/link (http block)
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/12345/artifacts --jq .artifacts[].name GO111MODULE /opt/hostedtoolcache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env ck 'scripts/**/*.js' --ignore-path .prettierignore GO111MODULE e/git-upload-pack 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/pkg/tool/linux_amd64/vet GOINSECURE 037614/b092/ GOMODCACHE 64/pkg/tool/linuTest User env 037614/b206/_pkg_.a GO111MODULE 64/pkg/tool/linux_amd64/vet GOINSECURE hpke 037614/b092/syma--show-toplevel 64/pkg/tool/linux_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh run download 12346 --dir test-logs/run-12346 GO111MODULE 64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linutest@example.com env 2013127728 aMu6/n6X7R7Av3bGkLZAPaMu6 x_amd64/compile GOINSECURE contextprotocol/rev-parse GOMODCACHE x_amd64/compile (http block)
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/12346/artifacts --jq .artifacts[].name GO111MODULE m/_npx/b388654678d519d9/node_modules/.bin/prettier GOINSECURE GOMOD ode-gyp-bin/sh go env -json GO111MODULE /opt/hostedtoolcache/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 rg/x/text@v0.36.0/internal/language/common.go 64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linutest@example.com env 037614/b245/_pkg_.a GO111MODULE k GOINSECURE t/internal/strinrev-parse GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linurev-parse (http block)
    • Triggering command: /usr/bin/gh gh run download 2 --dir test-logs/run-2 .cfg 64/pkg/tool/linux_amd64/vet GOINSECURE fips140only GOMODCACHE 64/pkg/tool/linux_amd64/vet env 037614/b162/_pkg_.a wyMD/ZnqvKWWFy1YdeRMpwyMD ache/go/1.25.8/x64/pkg/tool/linu-buildmode=exe GOINSECURE th2/internal GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linu-trimpath (http block)
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/2/artifacts --jq .artifacts[].name GO111MODULE ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet env FieldEnforcement4130594119/001 GO111MODULE /opt/hostedtoolcache/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 GO111MODULE 64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD 037614/b007/syma--show-toplevel 64/pkg/tool/linux_amd64/vet env 2132827153/.github/workflows k-ff/hcoMcb4nJlDk1Ubnk-ff .cfg GOINSECURE g/x/net/http/httinit GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linushow (http block)
    • Triggering command: /usr/bin/gh gh run download 3 --dir test-logs/run-3 .cfg 64/pkg/tool/linux_amd64/vet GOINSECURE fips140/drbg GOMODCACHE 64/pkg/tool/linux_amd64/vet env 037614/b225/_pkg_.a .cfg ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet GOINSECURE ce GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/3/artifacts --jq .artifacts[].name GO111MODULE ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD ode-gyp-bin/node--show-toplevel ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet env FieldEnforcement4130594119/001 GO111MODULE e/git-receive-pack GOINSECURE GOMOD GOMODCACHE (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 .cfg 64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD 037614/b007/syma--show-toplevel 64/pkg/tool/linux_amd64/vet ache�� 2132827153/.github/workflows 7Ps3/Xuna8G_bMUX3GMM57Ps3 eutil.test GOINSECURE g/x/net/http/httrev-parse GOMODCACHE eutil.test (http block)
    • Triggering command: /usr/bin/gh gh run download 4 --dir test-logs/run-4 .cfg 64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/vet env 037614/b228/_pkg_.a DUdE/2oEXO76xEThYfB4YDUdE ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet GOINSECURE l/httpcommon GOMODCACHE ache/go/1.25.8/x/tmp/go-build3517609294/b111/vet.cfg (http block)
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/4/artifacts --jq .artifacts[].name GO111MODULE ortcfg.link GOINSECURE GOMOD GOMODCACHE -n6MJou3YUuxftACjQ/3nMElgHf3T5lXtaOdhEk/wlgD7hoJLruqc0M8APVe env -json GO111MODULE 76641680bb6cbbafaf9dd3a2b2d9bb0cbefc00a3257aedcceaca8b4e85d94bee-d GOINSECURE GOMOD GOMODCACHE e/git (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 .cfg 64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/vet env 2132827153 fWCy/na03iXLzDBM34i--fWCy ache/go/1.25.8/x64/pkg/tool/linu-lang=go1.25 GOINSECURE /semver GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linu--jq (http block)
    • Triggering command: /usr/bin/gh gh run download 5 --dir test-logs/run-5 .cfg 64/pkg/tool/linux_amd64/vet GOINSECURE sysrand GOMODCACHE 64/pkg/tool/linu-buildtags env 037614/b236/_pkg-errorsas .cfg ache/go/1.25.8/x-nilfunc GOINSECURE osh-tekuri/jsonsrev-parse GOMODCACHE ache/go/1.25.8/x-tests (http block)
    • 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/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet env -json GO111MODULE e/git GOINSECURE GOMOD GOMODCACHE e/git (http block)
  • https://api.github.com/repos/github/gh-aw/actions/workflows
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path -c=4 -nolocalimports -importcfg /tmp/go-build3517609294/b419/importcfg -pack /home/REDACTED/work/gh-aw/gh-aw/pkg/fileutil/fileutil.go /home/REDACTED/work/gh-aw/gh-aw/pkg/fileutil/tar.go env -json GO111MODULE x_amd64/compile GOINSECURE GOMOD cpu/cpu.s x_amd64/compile (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 -d 168.63.129.16 x_amd64/vet env successfully" fer.go x_amd64/vet GOINSECURE GOMOD GOMODCACHE x_amd64/vet (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 b/gh-aw/pkg/slicrev-parse GOMODCACHE 64/pkg/tool/linux_amd64/vet env /workflows GO111MODULE 64/pkg/tool/linux_amd64/compile GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/compile (http block)
  • https://api.github.com/repos/github/gh-aw/contents/.github/workflows/shared/reporting.md
    • Triggering command: /tmp/go-build3517609294/b404/cli.test /tmp/go-build3517609294/b404/cli.test -test.testlogfile=/tmp/go-build3517609294/b404/testlog.txt -test.paniconexit0 -test.v=true -test.parallel=4 -test.timeout=10m0s -test.run=^Test -test.short=true GOINSECURE GOMOD GOMODCACHE x_amd64/asm env -json GO111MODULE x_amd64/compile GOINSECURE GOMOD GOMODCACHE x_amd64/compile (http block)
    • Triggering command: /tmp/go-build1990397917/b404/cli.test /tmp/go-build1990397917/b404/cli.test -test.testlogfile=/tmp/go-build1990397917/b404/testlog.txt -test.paniconexit0 -test.v=true -test.parallel=4 -test.timeout=10m0s -test.run=^Test -test.short=true GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE (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 ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet /usr/bin/git 5065/001/stabiligit pkg/mod/github.crev-parse ache/go/1.25.8/x--show-toplevel git rev-�� --show-toplevel ache/go/1.25.8/xowner/repo /usr/bin/git 5622-34469/test-ls -trimpath 7609294/b179/vet/tmp/gh-aw/aw-feature-branch.patch git (http block)
    • 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 k/gh-aw/gh-aw/ac--show-toplevel /usr/bin/git remo�� -v go /usr/bin/git Onlymin-integrit/usr/lib/git-core/git GO111MODULE /opt/hostedtoolcrun 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 se 7609294/b006/vet.cfg x_amd64/vet GOINSECURE GOMOD GOMODCACHE x_amd64/vet sRem�� se 7609294/b142/vet.cfg .cfg -p unicode/utf16 -lang=go1.25 ache/go/1.25.8/x64/pkg/tool/linuremote2 (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.0.0 --jq [.object.sha, .object.type] | @tsv -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env rity647283172/001 GO111MODULE 64/bin/go 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 x_amd64/compile GOINSECURE GOMOD GOMODCACHE x_amd64/compile env -json GO111MODULE x_amd64/vet GOINSECURE GOMOD GOMODCACHE x_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.2.3 --jq [.object.sha, .object.type] | @tsv re GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env Gitmaster_branch1859273278/001' Gitmaster_branch1859273278/001' 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 adata/main.go GO111MODULE x_amd64/compile GOINSECURE jsonrpc2 GOMODCACHE x_amd64/compile env -json GO111MODULE x_amd64/vet GOINSECURE GOMOD GOMODCACHE SLlQ1ZG/V_z3kiodtest@example.com (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 x_amd64/link GOINSECURE GOMOD GOMODCACHE x_amd64/link env _.a GO111MODULE x_amd64/vet GOINSECURE GOMOD GOMODCACHE 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, .object.type] | @tsv -json GO111MODULE x_amd64/vet GOINSECURE GOMOD GOMODCACHE x_amd64/vet env 923536/001 923536/002/work x_amd64/vet GOINSECURE GOMOD GOMODCACHE x_amd64/vet (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 x_amd64/link GOINSECURE GOMOD GOMODCACHE x_amd64/link env -json GO111MODULE x_amd64/vet GOINSECURE GOMOD GOMODCACHE x_amd64/vet (http block)
    • 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 env lGitmaster_branch1859273278/001' lGitmaster_branch1859273278/001' 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 se 7609294/b011/vet.cfg ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linuconfig (http block)
    • Triggering command: /usr/bin/gh gh api /repos/nonexistent/action/git/ref/tags/v999.999.999 --jq [.object.sha, .object.type] | @tsv -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env on' --ignore-path ../../../.pret.prettierignore GO111MODULE x_amd64/vet GOINSECURE GOMOD GOMODCACHE x_amd64/vet (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 /go-yaml/lexer ache/go/1.25.8/x--show-toplevel 64/pkg/tool/linux_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh run view 12345 --repo nonexistent/repo --json status,conclusion GOINSECURE GOMOD GOMODCACHE 1/x64/bin/node env -json GO111MODULE ache/node/24.14.1/x64/bin/node GOINSECURE GOMOD GOMODCACHE node (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 x_amd64/compile GOINSECURE GOMOD GOMODCACHE x_amd64/compile env -json GO111MODULE x_amd64/compile GOINSECURE GOMOD GOMODCACHE x_amd64/compile (http block)
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path --repo owner/repo x_amd64/asm GOINSECURE GOMOD GOMODCACHE x_amd64/asm env -json age.go x_amd64/compile GOINSECURE GOMOD GOMODCACHE x_amd64/compile (http block)
    • Triggering command: /usr/bin/gh gh workflow list --repo owner/repo --json name,path,state ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet GOINSECURE g/x/net/http2/hprev-parse GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linuremote 0376�� t2340947445/.github/workflows 9f-D/pnN9IHobo0_Hgqea9f-D .cfg ./cmd/gh-aw-wasm/usr/bin/git GOWORK 64/bin/go ache/go/1.25.8/x^remote\..*\.gh-resolved$ (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 -json GO111MODULE x_amd64/compile GOINSECURE GOMOD GOMODCACHE g-XZsIZ/B--vCgKY/tmp/go-build3517609294/b301/vet.cfg env -json 1.5.0/jsonrpc/jsonrpc.go x_amd64/compile GOINSECURE GOMOD GOMODCACHE x_amd64/compile (http block)
    • Triggering command: /usr/bin/gh gh api /repos/test-owner/test-repo/actions/secrets --jq .secrets[].name -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/test/repo
    • Triggering command: /usr/bin/gh gh api /repos/test/repo --jq .default_branch 037614/b228/_pkg_.a DUdE/2oEXO76xEThYfB4YDUdE ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet GOINSECURE l/httpcommon GOMODCACHE ache/go/1.25.8/x/tmp/go-build3517609294/b111/vet.cfg (http block)
    • Triggering command: /usr/bin/gh gh api /repos/test/repo --jq .default_branch --show-toplevel go /usr/bin/git -json GO111MODULE 64/bin/go git rev-�� --show-toplevel go /usr/bin/git -json GO111MODULE 64/bin/go git (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-Z3iPtn /git (dns block)

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

Adds the `github.workflow_ref` resource attribute (populated from
`process.env.GITHUB_WORKFLOW_REF`) to both the setup span and
conclusion span emitted by `send_otlp_span.cjs`.

This allows OTel backends to identify exactly which workflow YAML file
produced each span (e.g.
`github/gh-aw/.github/workflows/otel-advisor.yml@refs/heads/main`)
without relying on the non-standard `gh-aw.workflow.name` attribute.

Closes #<issue-number>

Agent-Logs-Url: https://github.com/github/gh-aw/sessions/4e93ef69-8210-4b49-80f8-eada6f428002

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copilot AI changed the title [WIP] Add github.workflow_ref resource attribute to all OTel spans feat(otel): add github.workflow_ref resource attribute to all OTel spans Apr 24, 2026
Copilot AI requested a review from pelikhan April 24, 2026 22:06
@github-actions github-actions Bot mentioned this pull request Apr 24, 2026
@pelikhan pelikhan marked this pull request as ready for review April 24, 2026 22:17
Copilot AI review requested due to automatic review settings April 24, 2026 22:17
@pelikhan pelikhan merged commit c8f0c1d into main Apr 24, 2026
9 checks passed
@pelikhan pelikhan deleted the copilot/add-github-workflow-ref-attribute branch April 24, 2026 22:18
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

Adds the github.workflow_ref OpenTelemetry resource attribute to all job setup and job conclusion spans so traces can be reliably attributed to the originating workflow YAML across repositories with multiple compiled workflows.

Changes:

  • Read GITHUB_WORKFLOW_REF and conditionally add github.workflow_ref to OTLP resource attributes in sendJobSetupSpan and sendJobConclusionSpan.
  • Add test coverage for presence/absence cases for both span functions and include the env var in the test env cleanup lists.
Show a summary per file
File Description
actions/setup/js/send_otlp_span.cjs Adds conditional github.workflow_ref resource attribute emission for setup and conclusion spans.
actions/setup/js/send_otlp_span.test.cjs Adds tests verifying github.workflow_ref is included/omitted appropriately and updates env cleanup.

Copilot's findings

Tip

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

  • Files reviewed: 2/2 changed files
  • Comments generated: 0

@github-actions
Copy link
Copy Markdown
Contributor

🧪 Test Quality Sentinel Report

Test Quality Score: 90/100

Excellent test quality

Metric Value
New/modified tests analyzed 4
✅ Design tests (behavioral contracts) 4 (100%)
⚠️ Implementation tests (low value) 0 (0%)
Tests with error/edge cases 4 (100%)
Duplicate test clusters 0
Test inflation detected Yes (58 test lines / 8 production lines ≈ 7:1)
🚨 Coding-guideline violations 0

Test Classification Details

View all 4 test classifications
Test File Classification Issues Detected
includes github.workflow_ref ... when GITHUB_WORKFLOW_REF is set (sendJobSetupSpan) actions/setup/js/send_otlp_span.test.cjs:1290 ✅ Design None
omits github.workflow_ref ... when GITHUB_WORKFLOW_REF is not set (sendJobSetupSpan) actions/setup/js/send_otlp_span.test.cjs:1304 ✅ Design None
includes github.workflow_ref ... when GITHUB_WORKFLOW_REF is set (sendJobConclusionSpan) actions/setup/js/send_otlp_span.test.cjs:2947 ✅ Design None
omits github.workflow_ref ... when GITHUB_WORKFLOW_REF is not set (sendJobConclusionSpan) actions/setup/js/send_otlp_span.test.cjs:2961 ✅ Design None

Observations

⚠️ Test Inflation (informational, not blocking)

Test file added 58 lines vs production file 8 lines (~7:1 ratio, threshold 2:1). This is expected in this case — each new production feature (one attribute in two span-building functions) requires several lines of test setup (mock fetch, env var configuration, payload parsing, assertion). The verbosity comes from boilerplate, not from padding. No action needed, but worth noting.

All 4 tests:

  • Mock only fetch (external network I/O) — a legitimate mock target
  • Assert on the actual OTLP payload structure extracted from the captured fetch call body — this is observable output
  • Cover both presence (GITHUB_WORKFLOW_REF set → attribute present with correct value) and absence (GITHUB_WORKFLOW_REF unset → key absent) — genuine edge-case coverage

Language Support

Tests analyzed:

  • 🟨 JavaScript (*.test.cjs): 4 tests (vitest)

Verdict

Check passed. 0% of new tests are implementation tests (threshold: 30%). The 4 new tests cover a clear behavioral contract — that github.workflow_ref is conditionally included in OTel resource attributes — and verify it end-to-end via the serialized OTLP payload.


📖 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: §24914376215

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

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: 90/100. Test quality is excellent — 0% of new tests are implementation tests (threshold: 30%). The 4 new tests provide solid behavioral coverage for the github.workflow_ref OTel attribute feature.

github-actions Bot added a commit that referenced this pull request Apr 25, 2026
- Add Kreuzberg document intelligence MCP server as a dedicated row in
  the shared MCP configurations table in mcps.md (#28392)
- Update the observability glossary entry to mention github.workflow_ref
  as a resource attribute on all OTel spans, enabling workflow filtering
  in multi-workflow repositories (#28358)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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.

[otel-advisor] add github.workflow_ref resource attribute to all OTel spans

3 participants