Commit c6471a4
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 files changed
Lines changed: 15 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
20 | 27 | | |
21 | 28 | | |
22 | 29 | | |
| |||
26 | 33 | | |
27 | 34 | | |
28 | 35 | | |
29 | | - | |
| 36 | + | |
30 | 37 | | |
31 | 38 | | |
32 | 39 | | |
| |||
0 commit comments