Promote github.actions.run_url from resource-only to span attribute in OTLP exports#34898
Conversation
Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com>
Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com>
github.actions.run_url from resource-only to span attribute in OTLP exports
There was a problem hiding this comment.
Pull request overview
Promotes github.actions.run_url into OTLP span attributes (in addition to existing resource attributes) so trace backends that don’t index resource attributes can still surface a clickable GitHub Actions run link on failing spans.
Changes:
- Added a shared helper in
actions/setup/js/send_otlp_span.cjsto constructgithub.actions.run_urlwhenGITHUB_REPOSITORYandGITHUB_RUN_IDare available. - Emitted
github.actions.run_urlon span attributes for bothsendJobSetupSpanandsendJobConclusionSpan(while preserving resource-level emission). - Updated
send_otlp_span.test.cjsto assert presence/omission ofgithub.actions.run_urlon both resource and span attributes, includingGITHUB_SERVER_URLbehavior.
Show a summary per file
| File | Description |
|---|---|
| actions/setup/js/send_otlp_span.cjs | Adds a helper and emits github.actions.run_url at the span level for setup/conclusion spans. |
| actions/setup/js/send_otlp_span.test.cjs | Extends OTLP payload assertions to cover run URL at both resource + span levels and server URL overrides. |
| .github/workflows/workflow-skill-extractor.lock.yml | Adds skills artifact path capture and a “Restore inline skills from activation artifact” step (scope not reflected in PR description). |
| .github/workflows/*.lock.yml | Many workflow lock files appear to be mechanically updated to restore inline skills from the activation artifact and include skills in artifact capture. |
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)
actions/setup/js/send_otlp_span.test.cjs:3951
- Same as the sendJobSetupSpan run_url tests: this test mutates GITHUB_SERVER_URL but doesn’t ensure it’s restored after the test run (it’s not part of the suite’s env reset list). Please ensure GITHUB_SERVER_URL is restored/cleared so this doesn’t leak into other tests.
- Files reviewed: 235/235 changed files
- Comments generated: 2
|
``
|
|
@copilot review all comments |
Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com>
Status update:
|
|
@copilot Recompile workflows |
github.actions.run_urlwas only emitted on OTLP resource attributes, which many backends (including Sentry) do not index as searchable span fields. This left incident responders withgh-aw.run.idbut no direct clickable run link on failinggh-aw.<job>.conclusionspans.What changed
actions/setup/js/send_otlp_span.cjsto constructgithub.actions.run_urlwhenGITHUB_REPOSITORYandGITHUB_RUN_IDare present.github.actions.run_urlin:sendJobSetupSpansendJobConclusionSpanBehavior
github.actions.run_urlnow appears on both resource and span attributes.GITHUB_SERVER_URLwhen available, otherwise falls back tohttps://github.com.Test updates
send_otlp_span.test.cjsassertions to verifygithub.actions.run_urlon span attributes (presence and omission cases) for both setup and conclusion spans.