Skip to content

🤖 ci: require connection refused in the E2E MCP port check - #139

Merged
ThomasK33 merged 1 commit into
mainfrom
ci/e2e-mcp-port-check
Sep 25, 2026
Merged

ThomasK33 merged 1 commit into
mainfrom
ci/e2e-mcp-port-check

Conversation

@ThomasK33

@ThomasK33 ThomasK33 commented Sep 25, 2026 •

Copy link
Copy Markdown
Member

Follow-up to #136 (from its final review).

What changed

  • .github/workflows/ci.yaml, E2E step "Verify aggregated API authentication and authorization": the check that MCP does not listen on the pod network passed on any curl failure. A timeout, a DNS error, or an empty pod IP (curl to http://:8090) all passed. It now requires the pod IP to be set and curl to exit 7 (connection refused); any other result fails with a message that names the exit code.
  • hack/main_publish_test.go: the comment above TestReleaseAndImageChannels still said the release workflow does not set GORELEASER_CHANNEL; since 🤖 fix: render GoReleaser channel templates when GORELEASER_CHANNEL is unset #138 both workflows set it. The comment now says why the templates must still render when it is unset.

Validation

A harness extracts the exact probe() and port-check lines from ci.yaml with yq and runs them under set -euo pipefail with stubbed kubectl and curl:

Case Want main This PR
curl exit 7 (refused) pass pass pass
curl exit 0 (port answers) fail fail fail
curl exit 28 (timeout) fail pass fail
curl exit 6 (other error) fail pass fail
empty pod IP fail pass fail (curl not called)

actionlint v1.7.10, make lint and go test ./hack pass. The real check runs in this PR's Kind E2E.

Harness: main passes timeouts, errors and an empty pod IP; this PR accepts only connection refused

Terminal recording (vhs capture; timing approximate):

pc-demo.webm

Generated with xum • Model: anthropic:claude-opus-5-5 • Thinking: medium • Cost: $1772.17

The E2E step "Verify aggregated API authentication and authorization"
passed its port 8090 check on any curl failure, including a timeout or an
empty pod IP (which probes "http://:8090"). It now requires a non-empty
pod IP and curl exit 7 (connection refused); any other exit code, success
included, fails with the code in the message.

Also reword the TestReleaseAndImageChannels comment: both workflows now
set GORELEASER_CHANNEL, and the templates must still render when it is
unset.

Signed-off-by: Thomas Kosiewski <tk@coder.com>

---
_Generated with [`xum`](https://github.com/coder/xum) • Model: `anthropic:claude-opus-5-5` • Thinking: `xhigh`_

Change-Id: I26ed39993c768cd4bca288ea4048ad895a4f7775
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 25, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-09-25T08:56:37.248493Z 5bcc068 PR opened
🔒 Security Review ✅ Completed 2026-09-25T08:58:00.680464Z 5bcc068 Manual request
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@ThomasK33

Copy link
Copy Markdown
Member Author

@codex security review

@chatgpt-codex-connector

Copy link
Copy Markdown

🛡️ Codex Security Review

Security review completed. No security issues were found in this pull request.

Reviewed commit: 5bcc06896d

View security finding report

Only the user who started this review can view the report in Codex.

ℹ️ About Codex security reviews in GitHub

This is an experimental Codex feature. Security reviews are triggered when:

  • You comment "@codex security review"
  • A regular code review gets triggered (for example, "@codex review" or when a PR is opened), and you’re opted in so security review runs alongside code review

Once complete, Codex will leave suggestions, or a comment if no findings are found.

@ThomasK33
ThomasK33 added this pull request to the merge queue Sep 25, 2026
Merged via the queue into main with commit 98db59e Sep 25, 2026
10 checks passed
@ThomasK33
ThomasK33 deleted the ci/e2e-mcp-port-check branch September 25, 2026 09:09
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.

1 participant