Skip to content

Fix gh-aw binary availability for user-defined steps in dev mode workflows#14120

Merged
pelikhan merged 3 commits intomainfrom
copilot/debug-safe-output-monitor-failure
Feb 6, 2026
Merged

Fix gh-aw binary availability for user-defined steps in dev mode workflows#14120
pelikhan merged 3 commits intomainfrom
copilot/debug-safe-output-monitor-failure

Conversation

Copy link
Contributor

Copilot AI commented Feb 6, 2026

Dev mode workflows build gh-aw to dist/gh-aw-linux-amd64 for Docker image creation but user-defined steps executing ./gh-aw commands fail with "No such file or directory" (exit code 127).

Changes

  • pkg/workflow/compiler_yaml_main_job.go: Modified generateDevModeCLIBuildSteps() to copy binary from build location to root after compilation:

    cp dist/gh-aw-linux-amd64 ./gh-aw
    chmod +x ./gh-aw
  • pkg/workflow/mcp_config_compilation_test.go: Added assertions to TestDevModeAgenticWorkflowsContainer verifying copy step exists in dev mode builds

  • 23 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 via BINARY build arg). User-defined workflow steps assume ./gh-aw is directly executable, causing failures in 23 workflows including the Safe Output Health Monitor.

Original prompt

This section details on the original issue you should resolve

<issue_title>[agentics] Safe Output Health Monitor failed</issue_title>
<issue_description>### Workflow Failure

Workflow: Safe Output Health Monitor
Branch: main
Run URL: https://github.com/github/gh-aw/actions/runs/21743290632
Pull Request: #14072

Action Required

Debug this workflow failure using the agentic-workflows agent:

/agent agentic-workflows

When prompted, instruct the agent to debug this workflow failure.

Generated from Safe Output Health Monitor

  • expires on Feb 13, 2026, 8:04 AM UTC

Comments on the Issue (you are @copilot in this section)


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Copilot AI and others added 2 commits February 6, 2026 12:55
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copilot AI changed the title [WIP] Debug Safe Output Health Monitor failure Fix gh-aw binary availability for user-defined steps in dev mode workflows Feb 6, 2026
Copilot AI requested a review from pelikhan February 6, 2026 13:02
@pelikhan
Copy link
Contributor

pelikhan commented Feb 6, 2026

@copilot make sure dist folder is gitignored

@github-actions
Copy link
Contributor

github-actions bot commented Feb 6, 2026

🌑 The shadows whisper... Smoke Codex failed. The oracle requires further meditation...

@github-actions
Copy link
Contributor

github-actions bot commented Feb 6, 2026

🎬 THE ENDSmoke Claude MISSION: ACCOMPLISHED! The hero saves the day! ✨

@github-actions
Copy link
Contributor

github-actions bot commented Feb 6, 2026

Changeset Generator failed. Please review the logs for details.

@github-actions
Copy link
Contributor

github-actions bot commented Feb 6, 2026

📰 BREAKING: Smoke Copilot is now investigating this pull request. Sources say the story is developing...

@github-actions
Copy link
Contributor

github-actions bot commented Feb 6, 2026

Agent Container Tool Check - Smoke Test Results

Tool Status Version/Details
bash GNU bash 5.2.21
sh Available (ok)
git 2.52.0
jq 1.7
yq v4.52.2
curl 8.5.0
gh 2.86.0
node v20.20.0
python3 3.12.3
go go1.24.12
java ⚠️ Present but execution fails¹
dotnet ⚠️ Present but execution fails¹

Result: 10/12 tools fully functional ✅, 2/12 present with issues ⚠️

Notes

¹ Java & .NET Execution Issue: Both java (21.0.10-7) and dotnet (8.x) binaries are present and valid ELF executables on disk, but fail to execute properly in the current shell environment. When invoked, they incorrectly report themselves as bash. This appears to be a runner environment configuration issue rather than a container issue.

Investigation findings:

  • Binaries exist: /opt/hostedtoolcache/Java_Temurin-Hotspot_jdk/21.0.10-7/x64/bin/java and /usr/share/dotnet/dotnet
  • File type: Valid ELF 64-bit executables (confirmed via file, hexdump, and md5sum)
  • Different inodes from bash (not symlinks or hardlinks to bash)
  • Issue persists even when invoking via dynamic linker (/lib64/ld-linux-x86-64.so.2)

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).

AI generated by Agent Container Smoke Test

Copy link
Contributor Author

Copilot AI commented Feb 6, 2026

@copilot make sure dist folder is gitignored

The dist/ folder is already in .gitignore (line 21) and has not been committed. The gitignore entry was already present before these changes.

@github-actions
Copy link
Contributor

github-actions bot commented Feb 6, 2026

Smoke Test Results - Run 21751771908

PRs Tested:

Test Result
GitHub MCP
Safe Inputs GH
Serena MCP
Playwright
File I/O
Bash
Discussion
Build
Dispatch

Overall: PASS

@pelikhan @Copilot

AI generated by Smoke Copilot

@github-actions
Copy link
Contributor

github-actions bot commented Feb 6, 2026

📰 VERDICT: Smoke Copilot has concluded. All systems operational. This is a developing story. 🎤

@pelikhan
Copy link
Contributor

pelikhan commented Feb 6, 2026

@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

Copy link
Contributor Author

Copilot AI commented Feb 6, 2026

@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:

  • Overall status: completed
  • Overall conclusion: success
  • All 7 jobs completed successfully

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.

@pelikhan pelikhan marked this pull request as ready for review February 6, 2026 13:30
Copilot AI review requested due to automatic review settings February 6, 2026 13:30
@pelikhan pelikhan merged commit 2eff98b into main Feb 6, 2026
210 of 238 checks passed
@pelikhan pelikhan deleted the copilot/debug-safe-output-monitor-failure branch February 6, 2026 13:31
Copilot AI restored the copilot/debug-safe-output-monitor-failure branch February 6, 2026 13:31
Copilot stopped work on behalf of pelikhan due to an error February 6, 2026 13:31
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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-amd64 to ./gh-aw with 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[agentics] Safe Output Health Monitor failed

3 participants