refactor: extract shared OTLP observability config, import in 30% of workflows#24626
refactor: extract shared OTLP observability config, import in 30% of workflows#24626
Conversation
…rt in 30% of workflows Agent-Logs-Url: https://github.com/github/gh-aw/sessions/db3f5fda-2876-4792-b534-bad8c1213323 Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
|
@copilot merge main and recompile |
…-configuration # Conflicts: # .github/workflows/daily-cli-performance.lock.yml # .github/workflows/daily-testify-uber-super-expert.lock.yml Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Agent-Logs-Url: https://github.com/github/gh-aw/sessions/c8214416-8cd1-4d25-a385-80a09c012f43 Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Done — merged 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:
If you need me to access, download, or install something from one of these locations, you can either:
|
There was a problem hiding this comment.
Pull request overview
This PR aims to de-duplicate OTLP observability configuration across GitHub Agentic Workflows by extracting a shared observability.otlp frontmatter partial and importing it from a subset of workflows, with corresponding .lock.yml regenerations.
Changes:
- Add a new shared workflow partial:
.github/workflows/shared/observability-otlp.md. - Update multiple
smoke-*anddaily-*workflows to import the shared OTLP config instead of embedding it inline. - Regenerate affected compiled workflow lock files (
*.lock.yml) after the import changes.
Show a summary per file
| File | Description |
|---|---|
| .github/workflows/shared/observability-otlp.md | New shared OTLP observability frontmatter partial |
| .github/workflows/smoke-copilot.md | Replace inline OTLP config with shared import |
| .github/workflows/smoke-copilot-arm.md | Replace inline OTLP config with shared import |
| .github/workflows/smoke-update-cross-repo-pr.md | Add shared OTLP import |
| .github/workflows/smoke-test-tools.md | Add shared OTLP import |
| .github/workflows/smoke-test-tools.lock.yml | Regenerated compiled workflow |
| .github/workflows/smoke-temporary-id.md | Add shared OTLP import |
| .github/workflows/smoke-temporary-id.lock.yml | Regenerated compiled workflow |
| .github/workflows/smoke-service-ports.md | Add shared OTLP import |
| .github/workflows/smoke-service-ports.lock.yml | Regenerated compiled workflow |
| .github/workflows/smoke-project.md | Add shared OTLP import |
| .github/workflows/smoke-multi-pr.md | Add shared OTLP import |
| .github/workflows/smoke-multi-pr.lock.yml | Regenerated compiled workflow |
| .github/workflows/smoke-gemini.md | Add shared OTLP import |
| .github/workflows/smoke-create-cross-repo-pr.md | Add shared OTLP import |
| .github/workflows/smoke-codex.md | Add shared OTLP import |
| .github/workflows/smoke-claude.md | Add shared OTLP import |
| .github/workflows/smoke-call-workflow.md | Add shared OTLP import |
| .github/workflows/smoke-call-workflow.lock.yml | Regenerated compiled workflow |
| .github/workflows/smoke-agent-scoped-approved.md | Add shared OTLP import |
| .github/workflows/smoke-agent-scoped-approved.lock.yml | Regenerated compiled workflow |
| .github/workflows/smoke-agent-public-none.md | Add shared OTLP import |
| .github/workflows/smoke-agent-public-none.lock.yml | Regenerated compiled workflow |
| .github/workflows/smoke-agent-public-approved.md | Add shared OTLP import |
| .github/workflows/smoke-agent-public-approved.lock.yml | Regenerated compiled workflow |
| .github/workflows/smoke-agent-all-none.md | Add shared OTLP import |
| .github/workflows/smoke-agent-all-none.lock.yml | Regenerated compiled workflow |
| .github/workflows/smoke-agent-all-merged.md | Add shared OTLP import |
| .github/workflows/smoke-agent-all-merged.lock.yml | Regenerated compiled workflow |
| .github/workflows/daily-workflow-updater.md | Add shared OTLP import |
| .github/workflows/daily-testify-uber-super-expert.md | Add shared OTLP import |
| .github/workflows/daily-testify-uber-super-expert.lock.yml | Regenerated compiled workflow |
| .github/workflows/daily-team-status.md | Add shared OTLP import |
| .github/workflows/daily-team-status.lock.yml | Regenerated compiled workflow |
| .github/workflows/daily-team-evolution-insights.md | Add shared OTLP import |
| .github/workflows/daily-team-evolution-insights.lock.yml | Regenerated compiled workflow |
| .github/workflows/daily-syntax-error-quality.md | Add shared OTLP import |
| .github/workflows/daily-syntax-error-quality.lock.yml | Regenerated compiled workflow |
| .github/workflows/daily-semgrep-scan.md | Add shared OTLP import |
| .github/workflows/daily-semgrep-scan.lock.yml | Regenerated compiled workflow |
| .github/workflows/daily-security-red-team.md | Add shared OTLP import |
| .github/workflows/daily-security-red-team.lock.yml | Regenerated compiled workflow |
| .github/workflows/daily-secrets-analysis.md | Add shared OTLP import |
| .github/workflows/daily-secrets-analysis.lock.yml | Regenerated compiled workflow |
| .github/workflows/daily-safe-outputs-conformance.md | Add shared OTLP import |
| .github/workflows/daily-safe-outputs-conformance.lock.yml | Regenerated compiled workflow |
| .github/workflows/daily-safe-output-optimizer.md | Add shared OTLP import |
| .github/workflows/daily-safe-output-optimizer.lock.yml | Regenerated compiled workflow |
| .github/workflows/daily-safe-output-integrator.md | Add shared OTLP import |
| .github/workflows/daily-repo-chronicle.md | Add shared OTLP import |
| .github/workflows/daily-repo-chronicle.lock.yml | Regenerated compiled workflow |
| .github/workflows/daily-rendering-scripts-verifier.md | Add shared OTLP import |
| .github/workflows/daily-regulatory.md | Add shared OTLP import |
| .github/workflows/daily-performance-summary.md | Add shared OTLP import |
| .github/workflows/daily-observability-report.md | Add shared OTLP import |
| .github/workflows/daily-observability-report.lock.yml | Regenerated compiled workflow |
| .github/workflows/daily-news.md | Add shared OTLP import |
| .github/workflows/daily-news.lock.yml | Regenerated compiled workflow |
| .github/workflows/daily-multi-device-docs-tester.md | Add shared OTLP import |
| .github/workflows/daily-multi-device-docs-tester.lock.yml | Regenerated compiled workflow |
| .github/workflows/daily-mcp-concurrency-analysis.md | Add shared OTLP import |
| .github/workflows/daily-mcp-concurrency-analysis.lock.yml | Regenerated compiled workflow |
| .github/workflows/daily-malicious-code-scan.md | Add shared OTLP import |
| .github/workflows/daily-malicious-code-scan.lock.yml | Regenerated compiled workflow |
| .github/workflows/daily-issues-report.md | Add shared OTLP import |
| .github/workflows/daily-integrity-analysis.md | Add shared OTLP import |
| .github/workflows/daily-integrity-analysis.lock.yml | Regenerated compiled workflow |
| .github/workflows/daily-function-namer.md | Add shared OTLP import |
| .github/workflows/daily-function-namer.lock.yml | Regenerated compiled workflow |
| .github/workflows/daily-firewall-report.md | Add shared OTLP import |
| .github/workflows/daily-firewall-report.lock.yml | Regenerated compiled workflow |
| .github/workflows/daily-file-diet.md | Add shared OTLP import |
| .github/workflows/daily-file-diet.lock.yml | Regenerated compiled workflow |
| .github/workflows/daily-fact.md | Add shared OTLP import |
| .github/workflows/daily-fact.lock.yml | Regenerated compiled workflow |
| .github/workflows/daily-doc-updater.md | Add shared OTLP import |
| .github/workflows/daily-doc-healer.md | Add shared OTLP import |
| .github/workflows/daily-compiler-quality.md | Add shared OTLP import |
| .github/workflows/daily-compiler-quality.lock.yml | Regenerated compiled workflow |
| .github/workflows/daily-community-attribution.md | Add shared OTLP import |
| .github/workflows/daily-code-metrics.md | Add shared OTLP import |
| .github/workflows/daily-code-metrics.lock.yml | Regenerated compiled workflow |
| .github/workflows/daily-cli-tools-tester.md | Add shared OTLP import |
| .github/workflows/daily-cli-tools-tester.lock.yml | Regenerated compiled workflow |
| .github/workflows/daily-cli-performance.md | Add shared OTLP import |
| .github/workflows/daily-choice-test.md | Add shared OTLP import |
| .github/workflows/daily-choice-test.lock.yml | Regenerated compiled workflow |
| .github/workflows/daily-assign-issue-to-user.md | Add shared OTLP import |
| .github/workflows/daily-assign-issue-to-user.lock.yml | Regenerated compiled workflow |
| .github/workflows/daily-architecture-diagram.md | Add shared OTLP import |
Copilot's findings
Tip
Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Files reviewed: 109/109 changed files
- Comments generated: 3
| imports: | ||
| - shared/github-guard-policy.md | ||
| - shared/gh.md | ||
| - shared/reporting.md | ||
| - shared/github-queries-mcp-script.md | ||
| - shared/mcp/serena-go.md | ||
| - shared/observability-otlp.md | ||
| network: |
There was a problem hiding this comment.
shared/observability-otlp.md import does not appear to enable OTLP in the compiled workflow. In .github/workflows/smoke-copilot.lock.yml, the Secrets used list does not include GH_AW_OTEL_ENDPOINT / GH_AW_OTEL_HEADERS, and there is no top-level env: with OTEL_EXPORTER_OTLP_* variables. This suggests the compiler isn’t merging/processing observability from imported frontmatter, so removing the inline observability: block likely disables OTLP export for this workflow.
Consider keeping the observability: block inline until imports can contribute observability to RawFrontmatter / ParsedFrontmatter before OTLP injection runs, or update the import merge logic to include observability.
| imports: | ||
| - shared/gh.md | ||
| - shared/reporting.md | ||
| - shared/github-queries-mcp-script.md | ||
| - shared/mcp/serena-go.md | ||
| - shared/observability-otlp.md | ||
| network: |
There was a problem hiding this comment.
This workflow now relies on shared/observability-otlp.md, but the compiled lock files don’t show OTLP env injection or the OTLP secrets being detected (no OTEL_EXPORTER_OTLP_* env vars, and GH_AW_OTEL_ENDPOINT / GH_AW_OTEL_HEADERS missing from Secrets used). That indicates observability in imported frontmatter may not be applied by the compiler, so OTLP export may be effectively disabled here.
Recommendation: keep observability: inline for now, or update the compiler/import merge so imported observability is present in RawFrontmatter/ParsedFrontmatter before OTLP injection.
| --- | ||
| observability: | ||
| otlp: | ||
| endpoint: ${{ secrets.GH_AW_OTEL_ENDPOINT }} | ||
| headers: ${{ secrets.GH_AW_OTEL_HEADERS }} | ||
| --- |
There was a problem hiding this comment.
As imported, this file’s observability.otlp config doesn’t appear to affect compiled workflows: e.g. .github/workflows/smoke-test-tools.lock.yml includes the import in the resolved manifest, but does not include OTEL env vars nor list GH_AW_OTEL_ENDPOINT/GH_AW_OTEL_HEADERS under Secrets used. This suggests the compiler isn’t merging observability from imported frontmatter, so workflows may not actually get OTLP configured by adding this import.
If the intent is for this to drive OTLP export, the compiler likely needs to merge imported observability into the workflow frontmatter prior to OTLP injection, or workflows need to keep an inline observability: block.
The OTLP observability config (
endpoint+headersvia secrets) was duplicated inline insmoke-copilot.mdandsmoke-copilot-arm.mdwith no reuse mechanism.Changes
.github/workflows/shared/observability-otlp.mdencapsulates the OTLP config:smoke-copilot.md/smoke-copilot-arm.md— inlineobservability:blocks removed; replaced with- shared/observability-otlp.mdimportdaily-*(36) and mostsmoke-*(16 + the 2 above); lock files regenerated viamake recompile