Skip to content

Commit c6471a4

Browse files
authored
Add MCP Gateway build steps to language-support-tester workflow (#1089)
The Language Support Tester workflow failed because it referenced the registry image `ghcr.io/github/gh-aw-mcpg` without building it locally first, causing Docker daemon connectivity issues and missing Serena MCP tools. ## Changes Added local container build steps following the `smoke-copilot.md` pattern: - **Docker Buildx setup** - Added `docker/setup-buildx-action@v3` step - **Local MCP Gateway build** - Builds `local-awmg:v0.1.4` with embedded `awmg` binary - **Container reference** - Updated `sandbox.mcp.container` from `ghcr.io/github/gh-aw-mcpg` to `local-awmg` ```yaml steps: - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Build local MCP Gateway container run: | VERSION="dev-$(git rev-parse --short HEAD)" docker build -t local-awmg:v0.1.4 --build-arg VERSION=${VERSION} . sandbox: mcp: container: "local-awmg" # Changed from registry reference ``` This ensures the MCP Gateway is available without external registry dependencies, enabling Serena tools (`activate_project`, `find_symbols`, etc.) for Go, TypeScript/JavaScript, and Python language testing. > [!WARNING] > > <details> > <summary>Firewall rules blocked me from connecting to one or more addresses (expand for details)</summary> > > #### I tried to connect to the following addresses, but was blocked by firewall rules: > > - `https://api.github.com/repos/docker/setup-buildx-action/git/ref/tags/v3` > - Triggering command: `/usr/bin/gh gh api /repos/docker/setup-buildx-action/git/ref/tags/v3 --jq .object.sha` (http block) > - `https://api.github.com/repos/github/gh-aw/git/ref/tags/v0.46.1` > - Triggering command: `/usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v0.46.1 --jq .object.sha` (http block) > - `https://api.github.com/user` > - Triggering command: `/usr/bin/gh gh api user --jq .login -main/dist/indexuser.name` (http block) > > If you need me to access, download, or install something from one of these locations, you can either: > > - Configure [Actions setup steps](https://gh.io/copilot/actions-setup-steps) to set up my environment, which run before the firewall is enabled > - Add the appropriate URLs or hosts to the custom allowlist in this repository's [Copilot coding agent settings](https://github.com/github/gh-aw-mcpg/settings/copilot/coding_agent) (admins only) > > </details> <!-- START COPILOT ORIGINAL PROMPT --> <details> <summary>Original prompt</summary> > > ---- > > *This section details on the original issue you should resolve* > > <issue_title>[language-support] Serena MCP server tools unavailable — language support tests could not run</issue_title> > <issue_description>## Summary > > The Language Support Tester workflow (run #34, run ID 22164360544) could not complete language support testing for **Go**, **TypeScript/JavaScript**, and **Python** because the Serena MCP server tools were not available in the sandbox environment. > > ## Failure Details > > ### Root Cause > > The Docker daemon is not accessible from within the sandbox container: > > ``` > Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? > ``` > > Because Docker is unavailable, the Serena MCP server container (`ghcr.io/github/serena-mcp-server:latest`) cannot be started. As a result, none of the language server tools (`activate_project`, `find_symbols`, `get_definition`, etc.) were present in the agent's available tool list. > > ### Diagnostic evidence > > - `/tmp/gh-aw/mcp-logs/` — empty (no MCP server logs, no `tools.json`) > - `/tmp/gh-aw/mcp-config/` — contains only `jq-error.log`, no MCP configuration JSON files > - `docker images` / `docker ps` — command fails: daemon not reachable > - `awmg` binary — not found in `PATH` > - Serena tools (`activate_project`, `find_symbols`, etc.) — absent from agent function-call interface > > ### Languages affected > > | Language | Status | > |---|---| > | Go | ❌ Not tested — Serena unavailable | > | TypeScript/JavaScript | ❌ Not tested — Serena unavailable | > | Python | ❌ Not tested — Serena unavailable | > > ## Steps to Reproduce > > 1. Trigger the **Language Support Tester** workflow > 2. Observe that no Serena MCP tools appear in the agent's available tools > 3. `docker ps` inside the sandbox returns a daemon connection error > > ## Expected Behavior > > - Serena MCP server starts successfully > - `activate_project`, `find_symbols`, `get_definition` tools are available > - Language support is verified for Go, TypeScript/JavaScript, and Python > > ## Suggested Investigation > > - Verify that the sandbox container has access to the Docker daemon (Docker-in-Docker or DooD) > - Confirm the workflow's `tools: serena:` configuration is correctly translating into MCP server setup > - Check whether the pre-pull step (`docker pull ghcr.io/github/serena-mcp-server:latest`) is succeeding before the agent starts > > > > > > Generated by [Language Support Tester](https://github.com/github/gh-aw-mcpg/actions/runs/22164360544) > > - [x] expires <!-- gh-aw-expires: 2026-02-26T01:14:02.300Z --> on Feb 26, 2026, 1:14 AM UTC > > <!-- gh-aw-agentic-workflow: Language Support Tester, engine: copilot, run: https://github.com/github/gh-aw-mcpg/actions/runs/22164360544 --> > > <!-- gh-aw-workflow-id: language-support-tester --></issue_description> > > ## Comments on the Issue (you are @copilot in this section) > > <comments> > </comments> > </details> <!-- START COPILOT CODING AGENT SUFFIX --> - Fixes #1088 <!-- START COPILOT CODING AGENT TIPS --> --- 🔒 GitHub Advanced Security automatically protects Copilot coding agent pull requests. You can protect all pull requests by enabling Advanced Security for your repositories. [Learn more about Advanced Security.](https://gh.io/cca-advanced-security)
2 parents cbd0fed + 7c74d2b commit c6471a4

2 files changed

Lines changed: 15 additions & 4 deletions

File tree

.github/workflows/language-support-tester.lock.yml

Lines changed: 7 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.github/workflows/language-support-tester.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,13 @@ steps:
1717
with:
1818
go-version-file: go.mod
1919
cache: true
20+
- name: Set up Docker Buildx
21+
uses: docker/setup-buildx-action@v3
22+
- name: Build local MCP Gateway container
23+
run: |
24+
VERSION="dev-$(git rev-parse --short HEAD)"
25+
docker build -t local-awmg:v0.1.4 --build-arg VERSION=${VERSION} .
26+
echo "✅ Built local MCP Gateway container: local-awmg:v0.1.4 (VERSION=${VERSION})"
2027
- name: Pull Serena MCP Server Container
2128
run: docker pull ghcr.io/github/serena-mcp-server:latest
2229
tools:
@@ -26,7 +33,7 @@ tools:
2633

2734
sandbox:
2835
mcp:
29-
container: "ghcr.io/github/gh-aw-mcpg"
36+
container: "local-awmg"
3037

3138
safe-outputs:
3239
create-issue:

0 commit comments

Comments
 (0)