Skip to content

refactor: extract shared OTLP observability config, import in 30% of workflows#24626

Merged
pelikhan merged 3 commits intomainfrom
copilot/refactor-optl-configuration
Apr 5, 2026
Merged

refactor: extract shared OTLP observability config, import in 30% of workflows#24626
pelikhan merged 3 commits intomainfrom
copilot/refactor-optl-configuration

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 5, 2026

The OTLP observability config (endpoint + headers via secrets) was duplicated inline in smoke-copilot.md and smoke-copilot-arm.md with no reuse mechanism.

Changes

  • New shared partial.github/workflows/shared/observability-otlp.md encapsulates the OTLP config:
    observability:
      otlp:
        endpoint: ${{ secrets.GH_AW_OTEL_ENDPOINT }}
        headers: ${{ secrets.GH_AW_OTEL_HEADERS }}
  • smoke-copilot.md / smoke-copilot-arm.md — inline observability: blocks removed; replaced with - shared/observability-otlp.md import
  • 54 workflows adopt the import (30% of 180) — all daily-* (36) and most smoke-* (16 + the 2 above); lock files regenerated via make recompile

…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>
@pelikhan pelikhan marked this pull request as ready for review April 5, 2026 01:39
Copilot AI review requested due to automatic review settings April 5, 2026 01:39
@pelikhan
Copy link
Copy Markdown
Collaborator

pelikhan commented Apr 5, 2026

@copilot merge main and recompile

Copilot AI and others added 2 commits April 5, 2026 01:43
…-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>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Apr 5, 2026

@copilot merge main and recompile

Done — merged origin/main (resolved lock file conflicts in daily-cli-performance and daily-testify-uber-super-expert), rebuilt the binary, and recompiled all 180 workflows successfully. Commit: 52250a9

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 (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 -pack /home/REDACTED/work/gh-aw/gh-aw/cmd/gh-aw/main.go (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 cXU4ZOQ/Qc7gvvpgapi (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 (http block)
  • https://api.github.com/repos/github/gh-aw
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw --jq .visibility (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 (http block)

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

Copilot AI requested a review from pelikhan April 5, 2026 01:44
@pelikhan pelikhan merged commit c816157 into main Apr 5, 2026
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

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-* and daily-* 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

Comment on lines 22 to 29
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:
Copy link

Copilot AI Apr 5, 2026

Choose a reason for hiding this comment

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

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.

Copilot uses AI. Check for mistakes.
Comment on lines 19 to 25
imports:
- shared/gh.md
- shared/reporting.md
- shared/github-queries-mcp-script.md
- shared/mcp/serena-go.md
- shared/observability-otlp.md
network:
Copy link

Copilot AI Apr 5, 2026

Choose a reason for hiding this comment

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

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.

Copilot uses AI. Check for mistakes.
Comment on lines +1 to +6
---
observability:
otlp:
endpoint: ${{ secrets.GH_AW_OTEL_ENDPOINT }}
headers: ${{ secrets.GH_AW_OTEL_HEADERS }}
---
Copy link

Copilot AI Apr 5, 2026

Choose a reason for hiding this comment

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

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.

Copilot uses AI. Check for mistakes.
@pelikhan pelikhan deleted the copilot/refactor-optl-configuration branch April 5, 2026 01:46
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.

3 participants