Skip to content

fix(ci-gate): tag PR owner with instructions#5116

Merged
lpcox merged 3 commits into
mainfrom
fix/ci-gate-owner-tag
Jun 16, 2026
Merged

fix(ci-gate): tag PR owner with instructions#5116
lpcox merged 3 commits into
mainfrom
fix/ci-gate-owner-tag

Conversation

@lpcox

@lpcox lpcox commented Jun 16, 2026

Copy link
Copy Markdown
Collaborator

Problem

The previous ci-gate approach of @-mentioning @copilot in comments didn't reliably trigger Copilot Coding Agent (CCA).

Fix

Tag the PR author directly with clear instructions:

When Copilot review has inline comments:

⏳ Copilot review left inline comments.

@author To proceed:

  1. Ask @copilot to address the review feedback
  2. Once the fix is pushed, add the ready-for-aw label to trigger agentic CI smoke tests

When Copilot review passes (no inline comments):

✅ Copilot review passed with no inline comments.

@author Add the ready-for-aw label to this PR to trigger agentic CI smoke tests.

Re-triggering

ci-gate automatically re-runs on pull_request: [synchronize] — when CCA pushes a fix, ci-gate checks the existing review again. If the review has no inline comments, the comment updates to the 'passed' state directing the owner to add the label.

Instead of @-mentioning @copilot (which didn't trigger CCA reliably),
tag the PR author directly with clear instructions:
1. Ask @copilot to address review feedback
2. Add ready-for-aw label once fixes are pushed

ci-gate re-triggers on synchronize (CCA push), so after feedback is
addressed the 'passed' comment will update automatically.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings June 16, 2026 14:54
@github-actions

github-actions Bot commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

✅ Coverage Check Passed

Overall Coverage

Metric Base PR Delta
Lines 96.89% 96.93% 📈 +0.04%
Statements 96.75% 96.79% 📈 +0.04%
Functions 98.81% 98.81% ➡️ +0.00%
Branches 91.25% 91.28% 📈 +0.03%
📁 Per-file Coverage Changes (1 files)
File Lines (Before → After) Statements (Before → After)
src/workdir-setup.ts 92.6% → 94.4% (+1.85%) 92.6% → 94.4% (+1.85%)

Coverage comparison generated by scripts/ci/compare-coverage.ts

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

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 updates the CI Gate workflow’s gate-comment messaging so that, instead of @-mentioning @copilot, it @-mentions the PR author and provides explicit instructions for how to proceed and how to trigger agentic CI via the ready-for-aw label.

Changes:

  • Add PR-author @-mentioning and updated instructions when Copilot review has inline comments.
  • Update the “review passed” message to direct the PR owner to add ready-for-aw (instead of instructing @copilot).
  • Adjust logging text to match the new “owner-directed” behavior.
Show a summary per file
File Description
.github/workflows/ci-gate.yml Updates the gate comment content to tag the PR author with next-step instructions.

Copilot's findings

Tip

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

  • Files reviewed: 1/1 changed files
  • Comments generated: 1

Comment on lines 108 to +112
if (hasInlineComments) {
const prAuthor = context.payload.pull_request?.user?.login
|| context.payload.review?.pull_request?.user?.login;
await postGateComment(
'⏳ Copilot review has inline comments.\n\n@copilot Please address the review feedback from the Copilot pull request reviewer above. Fix the issues raised in the inline comments and push your changes.'
`⏳ Copilot review left inline comments.\n\n@${prAuthor} To proceed:\n1. Ask \`@copilot\` to address the review feedback (reply to this comment or the review thread)\n2. Once the fix is pushed, add the \`ready-for-aw\` label to trigger agentic CI smoke tests`
@lpcox

lpcox commented Jun 16, 2026

Copy link
Copy Markdown
Collaborator Author

@copilot address review feedback

@github-actions

github-actions Bot commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

✅ Copilot review passed with no inline comments.

@lpcox Add the ready-for-aw label to this PR to trigger agentic CI smoke tests.

Copilot AI commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

@copilot address review feedback

Fixed in the latest commit. The pull_request branch now also fetches listReviewComments (scoped to top-level Copilot comments) and sets hasInlineComments whenever Copilot has already reviewed. This prevents a synchronize run from posting the "passed" message while inline comments are still outstanding.

Copilot finished work on behalf of lpcox June 16, 2026 15:21
Old Copilot review comments persist even after fixes are pushed, so
checking them on synchronize events permanently blocks the gate. The
push itself signals the author has addressed feedback. The inline
comment check is still performed on pull_request_review events for
fresh reviews.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-actions

github-actions Bot commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

📡 Smoke OTel Tracing completed. All tracing scenarios validated. ✅

@github-actions

github-actions Bot commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

🔑 Smoke Copilot PAT PAT auth validated. All systems operational. ✅

@github-actions

github-actions Bot commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

Contribution Check failed. Please review the logs for details.

@github-actions

github-actions Bot commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

Smoke Copilot BYOK AOAI (api-key) completed. Copilot AOAI BYOK (api-key) mode operational. 🔓

@github-actions

github-actions Bot commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

Chroot tests passed! Smoke Chroot - All security and functionality tests succeeded.

@github-actions

github-actions Bot commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

🔌 Smoke Services — All services reachable! ✅

@github-actions

Copy link
Copy Markdown
Contributor

🚀 Security Guard has started processing this pull request

@github-actions

github-actions Bot commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

✨ The prophecy is fulfilled... Smoke Codex has completed its mystical journey. The stars align. 🌟

@github-actions

github-actions Bot commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

Build Test Suite completed successfully!

@github-actions

github-actions Bot commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

Smoke Gemini completed. All facets verified. 💎

@github-actions

github-actions Bot commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

Smoke Copilot BYOK AOAI (Entra) completed. Copilot AOAI BYOK (Entra) mode operational. 🔓

@github-actions

github-actions Bot commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

📰 VERDICT: Smoke Copilot has concluded. All systems operational. This is a developing story. 🎤

@github-actions

github-actions Bot commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

Smoke Claude failed

@github-actions

github-actions Bot commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

Smoke Copilot BYOK completed. Copilot BYOK mode operational. 🔓

@github-actions

Copy link
Copy Markdown
Contributor

🔥 Smoke Test: PAT Auth — PASS

Test Result
GitHub MCP connectivity
GitHub.com HTTP
File write/read

Overall: PASS · Auth mode: PAT (COPILOT_GITHUB_TOKEN)

PR: fix(ci-gate): tag PR owner with instructions · Author: @lpcox

🔑 PAT report filed by Smoke Copilot PAT

@github-actions

Copy link
Copy Markdown
Contributor

🔭 Smoke Test: API Proxy OpenTelemetry Tracing

Scenario Status Notes
1. Module Loading otel.js loads cleanly; exports: startRequestSpan, setTokenAttributes, setBudgetAttributes, endSpan, endSpanError, shutdown, isEnabled + internal test helpers
2. Test Suite 59/59 tests passed (otel.test.js + otel-fanout.test.js)
3. Env Var Forwarding src/services/api-proxy-service-config.ts forwards GH_AW_OTLP_ENDPOINTS, OTEL_EXPORTER_OTLP_ENDPOINT, OTEL_EXPORTER_OTLP_HEADERS, GITHUB_AW_OTEL_TRACE_ID, GITHUB_AW_OTEL_PARENT_SPAN_ID, OTEL_SERVICE_NAME; observability-environment.ts auto-forwards all OTEL_* vars
4. Token Tracker Integration onUsage callback exists in token-tracker-http.js (line 324) as the OTEL hook point
5. OTEL Diagnostics Graceful degradation confirmed — no OTLP endpoint configured, spans fall back to /var/log/api-proxy/otel.jsonl with no errors

All scenarios passed. ✅

📡 OTel tracing validated by Smoke OTel Tracing

@github-actions

Copy link
Copy Markdown
Contributor

@lpcox

  • Smoke Test: Copilot BYOK (Direct) Mode — Azure OpenAI (Foundry, api-key) ✅
  • GitHub.com connectivity (HTTP 200) ✅
  • File write/read ✅
  • BYOK inference ✅

Running in direct BYOK mode (COPILOT_PROVIDER_API_KEY + COPILOT_PROVIDER_BASE_URL) via api-proxy → Azure OpenAI (Foundry, o4-mini-aw)

Overall: PASS

🔑 BYOK (AOAI api-key) report filed by Smoke Copilot BYOK AOAI (api-key)

@github-actions

Copy link
Copy Markdown
Contributor

🤖 Smoke Test Results — PASS

Test Result
GitHub MCP connectivity
GitHub.com HTTP ✅ 200
File write/read

PR: fix(ci-gate): tag PR owner with instructions
Author: @lpcox

Overall: ✅ PASS

📰 BREAKING: Report filed by Smoke Copilot

@github-actions

Copy link
Copy Markdown
Contributor

PR titles:

  • fix: propagate platform.type config field to spec CLI mapping
  • feat: allowedModels / disallowedModels policy enforcement in api-proxy

Results:

  • PR query: ✅
  • GitHub page title: ✅
  • File write/read: ✅
  • Discussion comment: ✅
  • Build: ✅

Overall: PASS

Warning

Firewall blocked 1 domain

The following domain was blocked by the firewall during workflow execution:

  • registry.npmjs.org

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "registry.npmjs.org"

See Network Configuration for more information.

🔮 The oracle has spoken through Smoke Codex

@github-actions

Copy link
Copy Markdown
Contributor

Smoke Test: Copilot BYOK (Direct Mode) ✅

All tests passed. Running in direct BYOK mode via api-proxy → api.githubcopilot.com.

Results:

  • ✅ MCP connectivity (GitHub API read verified)
  • ✅ BYOK inference path active (agent responding via sidecar)
  • ✅ File I/O functional
  • ✅ Direct BYOK mode confirmed

CC: @lpcox @Copilot

Status: PASS

🔑 BYOK report filed by Smoke Copilot BYOK

@github-actions

Copy link
Copy Markdown
Contributor

🧪 Chroot Version Comparison Results

Runtime Host Version Chroot Version Match?
Python 3.12.13 3.12.3
Node.js v24.16.0 v22.22.3
Go go1.22.12 go1.22.12

Overall: ❌ Not all tests passed — Python and Node.js versions differ between host and chroot environments.

Tested by Smoke Chroot

@github-actions

Copy link
Copy Markdown
Contributor

Smoke Test Results:

  • GitHub MCP connectivity: ✅
  • GitHub.com connectivity: ✅
  • File write/read test: ✅
  • BYOK inference path: ✅

Running in direct BYOK mode (AWF_AUTH_TYPE=github-oidc + AWF_AUTH_AZURE_* + COPILOT_PROVIDER_BASE_URL) via api-proxy → Azure OpenAI (Foundry, o4-mini-aw) authenticated via Microsoft Entra

@lpcox Overall: PASS

🪪 BYOK (AOAI Entra) report filed by Smoke Copilot BYOK AOAI (Entra)

@github-actions

Copy link
Copy Markdown
Contributor

🏗️ Build Test Suite Results

Ecosystem Project Build/Install Tests Status
Bun elysia 1/1 passed ✅ PASS
Bun hono 1/1 passed ✅ PASS
C++ fmt N/A ✅ PASS
C++ json N/A ✅ PASS
Deno oak N/A 1/1 passed ✅ PASS
Deno std N/A 1/1 passed ✅ PASS
.NET hello-world N/A ✅ PASS
.NET json-parse N/A ✅ PASS
Go color 1/1 passed ✅ PASS
Go env 1/1 passed ✅ PASS
Go uuid 1/1 passed ✅ PASS
Java gson 1/1 passed ✅ PASS
Java caffeine 1/1 passed ✅ PASS
Node.js clsx All passed ✅ PASS
Node.js execa All passed ✅ PASS
Node.js p-limit All passed ✅ PASS
Rust fd 1/1 passed ✅ PASS
Rust zoxide 1/1 passed ✅ PASS

Overall: 8/8 ecosystems passed — ✅ PASS

Generated by Build Test Suite for issue #5116 ·

@github-actions

Copy link
Copy Markdown
Contributor

Smoke Test: GitHub Actions Services Connectivity

Check Result
Redis PING (host.docker.internal:6379) ❌ Timeout — port unreachable
PostgreSQL pg_isready (host.docker.internal:5432) ❌ No response
PostgreSQL SELECT 1 ❌ No response

Overall: FAIL

host.docker.internal resolves to 172.17.0.1 but neither port 6379 nor 5432 is reachable. No services are listening locally either. The GitHub Actions service containers (Redis, PostgreSQL) appear not to be running in this environment.

🔌 Service connectivity validated by Smoke Services

@github-actions

Copy link
Copy Markdown
Contributor

Smoke Test Results: Gemini

  • fix: propagate platform.type config field to spec CLI mapping

  • feat: allowedModels / disallowedModels policy enforcement in api-proxy

  • GitHub MCP: ✅ (via curl/proxy)

  • GitHub.com Connectivity: ✅ (200)

  • File Writing: ✅

  • Bash Tool: ✅

Overall status: PASS

Warning

Firewall blocked 1 domain

The following domain was blocked by the firewall during workflow execution:

  • localhost

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "localhost"

See Network Configuration for more information.

💎 Faceted by Smoke Gemini

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants