Fix gh-aw binary availability for user-defined steps in dev mode workflows#14120
Fix gh-aw binary availability for user-defined steps in dev mode workflows#14120
Conversation
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
|
@copilot make sure dist folder is gitignored |
|
🌑 The shadows whisper... Smoke Codex failed. The oracle requires further meditation... |
|
🎬 THE END — Smoke Claude MISSION: ACCOMPLISHED! The hero saves the day! ✨ |
|
❌ Changeset Generator failed. Please review the logs for details. |
|
📰 BREAKING: Smoke Copilot is now investigating this pull request. Sources say the story is developing... |
Agent Container Tool Check - Smoke Test Results
Result: 10/12 tools fully functional ✅, 2/12 present with issues Notes¹ Java & .NET Execution Issue: Both Investigation findings:
This appears to be specific to the GitHub Actions runner environment and does not affect the core development tools needed for gh-aw workflows (git, gh, node, python, go, jq, yq, curl).
|
The |
Smoke Test Results - Run 21751771908PRs Tested:
Overall: PASS ✅ @pelikhan
|
|
📰 VERDICT: Smoke Copilot has concluded. All systems operational. This is a developing story. 🎤 |
|
@copilot review the gateway.log to determine why the status of smoke-Claude is unknown https://github.com/github/gh-aw/actions/runs/21751771904/job/62751317103#step:46:1 |
The workflow run completed successfully (conclusion: "success"). Looking at job 62751317103, step 46 "Parse MCP gateway logs for step summary" also completed successfully. However, I cannot see any "unknown" status for smoke-Claude in the logs. The workflow run shows:
Could you clarify what specific "unknown" status you're referring to? Is it in the step summary UI, or in a specific log message? A screenshot would help identify the exact issue. |
There was a problem hiding this comment.
Pull request overview
This PR fixes a critical issue where dev mode workflows build the gh-aw binary to dist/gh-aw-linux-amd64 for Docker image creation, but user-defined workflow steps that execute ./gh-aw commands fail with "No such file or directory" errors. The fix copies the binary from the build location to the repository root after compilation, enabling direct execution while maintaining Docker build compatibility.
Changes:
- Modified dev mode build process to copy compiled binary from
dist/gh-aw-linux-amd64to./gh-awwith executable permissions - Added test assertions to verify the copy step exists in compiled dev mode workflows
- Regenerated 22 workflow lock files to include the fix across all workflows using the agentic-workflows tool
Reviewed changes
Copilot reviewed 24 out of 24 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| pkg/workflow/compiler_yaml_main_job.go | Added binary copy and chmod commands to generateDevModeCLIBuildSteps() function to make gh-aw available at ./gh-aw for user-defined steps |
| pkg/workflow/mcp_config_compilation_test.go | Added test assertions to verify the binary copy and chmod steps are present in dev mode compiled workflows |
| .github/workflows/*.lock.yml (22 files) | Regenerated workflow lock files for all workflows using agentic-workflows tool to include the binary copy fix |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Dev mode workflows build
gh-awtodist/gh-aw-linux-amd64for Docker image creation but user-defined steps executing./gh-awcommands fail with "No such file or directory" (exit code 127).Changes
pkg/workflow/compiler_yaml_main_job.go: ModifiedgenerateDevModeCLIBuildSteps()to copy binary from build location to root after compilation:pkg/workflow/mcp_config_compilation_test.go: Added assertions toTestDevModeAgenticWorkflowsContainerverifying copy step exists in dev mode builds23 workflow lock files: Recompiled workflows using agentic-workflows tool to include the fix
Context
The compiler generates build steps for dev mode that create the binary at
dist/gh-aw-linux-amd64(passed to Docker viaBINARYbuild arg). User-defined workflow steps assume./gh-awis directly executable, causing failures in 23 workflows including the Safe Output Health Monitor.Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.