bump mcpg image to v0.3.9 (fixes wazero cache EACCES on artifact upload)#32193
Conversation
Co-authored-by: lpcox <15877973+lpcox@users.noreply.github.com>
Co-authored-by: lpcox <15877973+lpcox@users.noreply.github.com>
There was a problem hiding this comment.
Skills-Based Review 🧠
Applied /diagnose — this is a targeted bug fix for an EACCES error on artifact upload.
Key Themes
- Root cause clearly addressed: The bug was
mcpg:v0.3.8placing the wazero cache at/tmp/gh-aw/mcp-logs/wazero-cache/with0700permissions, causing the artifact upload step to fail with EACCES. The fix bumps tov0.3.9which moves the cache outsidemcp-logs/, cleanly resolving the issue rather than working around it. - Regression test added:
TestGetContainerPin_MCPGatewayV039IsPinnedfollows the exact same pattern as the v0.3.6/v0.3.7/v0.3.8 equivalents — consistent, focused, and sufficient. - All mechanical steps completed: constant update, digest pin added to both
action_pins.jsoncopies andactions-lock.json, 227 lock files recompiled, changeset entry included. Nothing was missed.
Positive Highlights
- ✅ PR description is excellent — the bug, root cause, and fix are all explained concisely
- ✅ Regression test is correctly structured (Arrange → Act → Assert) with descriptive messages
- ✅ Old v0.3.8 pin is preserved (not removed), maintaining backwards compatibility
Verdict
Approving. This is a well-executed, complete version bump with no gaps.
🧠 Reviewed using Matt Pocock's skills by Matt Pocock Skills Reviewer · ● 3.5M
There was a problem hiding this comment.
Pull request overview
This PR bumps the pinned gh-aw-mcpg (MCP Gateway) container from v0.3.8 to v0.3.9 to avoid artifact upload failures caused by the wazero cache directory being created under /tmp/gh-aw/mcp-logs/ with restrictive permissions.
Changes:
- Update the default MCP Gateway version constant to
v0.3.9. - Add/sync the
v0.3.9image digest pin across the various action pin data files. - Recompile workflow lockfiles to reference
ghcr.io/github/gh-aw-mcpg:v0.3.9@sha256:64828b42...(and include additional cleanup logic in the locked workflows).
Show a summary per file
| File | Description |
|---|---|
| pkg/constants/version_constants.go | Bumps DefaultMCPGatewayVersion to v0.3.9. |
| .github/aw/actions-lock.json | Adds the gh-aw-mcpg:v0.3.9 digest pin. |
| pkg/actionpins/data/action_pins.json | Syncs embedded container pin data with the new v0.3.9 entry. |
| pkg/workflow/data/action_pins.json | Syncs workflow pin data with the new v0.3.9 entry. |
| pkg/actionpins/actionpins_internal_test.go | Adds a unit test asserting the v0.3.9 container pin is embedded and correct. |
| .github/workflows/workflow-skill-extractor.lock.yml | Updates locked workflow container references to v0.3.9 and adds post-run cleanup. |
| .github/workflows/video-analyzer.lock.yml | Updates locked workflow container references to v0.3.9 and adds post-run cleanup. |
| .github/workflows/update-astro.lock.yml | Updates locked workflow container references to v0.3.9 and adds post-run cleanup. |
| .github/workflows/test-workflow.lock.yml | Updates locked workflow container references to v0.3.9 and adds post-run cleanup. |
| .github/workflows/test-dispatcher.lock.yml | Updates locked workflow container references to v0.3.9 and adds post-run cleanup. |
| .github/workflows/smoke-workflow-call.lock.yml | Updates locked workflow container references to v0.3.9 and adds post-run cleanup. |
| .github/workflows/smoke-temporary-id.lock.yml | Updates locked workflow container references to v0.3.9 and adds post-run cleanup. |
| .github/workflows/smoke-service-ports.lock.yml | Updates locked workflow container references to v0.3.9 and adds post-run cleanup. |
| .github/workflows/smoke-otel.lock.yml | Updates locked workflow container references to v0.3.9 and adds post-run cleanup. |
| .github/workflows/smoke-ci.lock.yml | Updates locked workflow container references to v0.3.9 and adds post-run cleanup. |
| .github/workflows/repo-tree-map.lock.yml | Updates locked workflow container references to v0.3.9 and adds post-run cleanup. |
| .github/workflows/pr-nitpick-reviewer.lock.yml | Updates locked workflow container references to v0.3.9 and adds post-run cleanup. |
| .github/workflows/pr-code-quality-reviewer.lock.yml | Updates locked workflow container references to v0.3.9 and adds post-run cleanup. |
| .github/workflows/github-remote-mcp-auth-test.lock.yml | Updates locked workflow container references to v0.3.9 and adds post-run cleanup. |
| .github/workflows/github-mcp-tools-report.lock.yml | Updates locked workflow container references to v0.3.9 and adds post-run cleanup. |
| .github/workflows/firewall.lock.yml | Updates locked workflow container references to v0.3.9 and adds post-run cleanup. |
| .github/workflows/example-permissions-warning.lock.yml | Updates locked workflow container references to v0.3.9 and adds post-run cleanup. |
| .github/workflows/dependabot-burner.lock.yml | Updates locked workflow container references to v0.3.9 and adds post-run cleanup. |
| .github/workflows/daily-syntax-error-quality.lock.yml | Updates locked workflow container references to v0.3.9 and adds post-run cleanup. |
| .github/workflows/daily-sentrux-report.lock.yml | Updates locked workflow container references to v0.3.9 and adds post-run cleanup. |
| .github/workflows/daily-malicious-code-scan.lock.yml | Updates locked workflow container references to v0.3.9 and adds post-run cleanup. |
| .github/workflows/copilot-pr-merged-report.lock.yml | Updates locked workflow container references to v0.3.9 and adds post-run cleanup. |
| .github/workflows/codex-github-remote-mcp-test.lock.yml | Updates locked workflow container references to v0.3.9 and adds post-run cleanup. |
| .github/workflows/cli-consistency-checker.lock.yml | Updates locked workflow container references to v0.3.9 and adds post-run cleanup. |
| .github/workflows/bot-detection.lock.yml | Updates locked workflow container references to v0.3.9 and adds post-run cleanup. |
| .github/workflows/ace-editor.lock.yml | Updates locked workflow container references to v0.3.9 and adds post-run cleanup. |
| .changeset/patch-bump-mcpg-v0-3-9.md | Adds a changeset documenting the patch bump and the artifact upload fix motivation. |
Copilot's findings
Tip
Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Files reviewed: 100/233 changed files
- Comments generated: 1
| if [ -d /tmp/gh-aw/mcp-logs/wazero-cache ]; then | ||
| sudo rm -rf /tmp/gh-aw/mcp-logs/wazero-cache 2>/dev/null || rm -rf /tmp/gh-aw/mcp-logs/wazero-cache | ||
| fi |
🧪 Test Quality Sentinel ReportTest Quality Score: 70/100
Test Classification Details
Flagged Tests — Requires ReviewNo tests require mandatory review. One minor suggestion: 💡
|
There was a problem hiding this comment.
✅ Test Quality Sentinel: 70/100. Test quality is acceptable — 0% of new tests are implementation tests (threshold: 30%). The single new test (TestGetContainerPin_MCPGatewayV039IsPinned) is a well-structured design test that enforces the security-critical digest-pinning contract for the v0.3.9 mcpg image. Minor suggestion: add a table-driven negative case to complete the behavioral contract.
|
@copilot remove the step that deletes /tmp/gh-aw/mcp-logs/wazero-cache |
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Done. Removed |
Bug Fix
What was the bug?
mcpg:v0.3.8places the wazero compilation cache at/tmp/gh-aw/mcp-logs/wazero-cache/with0700permissions. The "Upload agent artifacts" step zips all of/tmp/gh-aw/mcp-logs/, hitting EACCES on that subdirectory and failing the upload.How did you fix it?
Bump the pinned image to
v0.3.9, which relocates the wazero cache to/tmp/gh-aw/wazero-cache/— a sibling ofmcp-logs/rather than nested inside it.Changes
pkg/constants/version_constants.go—DefaultMCPGatewayVersionv0.3.8→v0.3.9.github/aw/actions-lock.json— added v0.3.9 digest pin (sha256:64828b42a4482f58fab16509d7f8f495a6d97c972a98a68aff20543531ac0388)pkg/actionpins/data/action_pins.json,pkg/workflow/data/action_pins.json— synced fromactions-lock.json.lock.ymlfiles — recompiled twice per the required update procedure; all now referenceghcr.io/github/gh-aw-mcpg:v0.3.9@sha256:64828b42a4482f58fab16509d7f8f495a6d97c972a98a68aff20543531ac0388pkg/actionpins/actionpins_internal_test.go— added pin assertion for v0.3.9.changeset/patch-bump-mcpg-v0-3-9.md— changeset entry