Conversation
- Changed heredoc delimiter from << 'EOF' to << EOF (without quotes) in: - pkg/workflow/claude_engine.go: MCP servers configuration - pkg/workflow/copilot_engine.go: Copilot MCP configuration - pkg/workflow/custom_engine.go: Custom engine MCP configuration - Updated tests to expect the new delimiter format - Recompiled all 64 workflows successfully - All unit and integration tests pass Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Contributor
|
Agentic Changeset Generator triggered by this pull request |
Generated changeset documenting the fix for the compiler bug that was generating invalid lock files due to incorrect heredoc delimiter usage. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Copilot
AI
changed the title
[WIP] Fix compiler issue generating invalid lock file for CLI
Fix heredoc delimiter to allow GitHub Actions expression evaluation in MCP configuration
Oct 11, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The compiler was generating invalid YAML lock files that caused workflow runs to fail with no jobs executed. The issue affected workflows using MCP server configurations, including the CLI version checker workflow (see failed run).
The root cause was using single-quoted heredoc delimiters (
<< 'EOF') when writing MCP server configuration JSON. This prevented GitHub Actions expressions from being evaluated at runtime, resulting in invalid JSON being written to the configuration file.Example of the invalid JSON generated:
{ "env": { "GITHUB_AW_SAFE_OUTPUTS_CONFIG": ${{ toJSON(env.GITHUB_AW_SAFE_OUTPUTS_CONFIG) }}, } }When the heredoc uses
<< 'EOF'(with quotes), the shell treats everything literally and doesn't allow GitHub Actions to evaluate${{ toJSON(...) }}before writing the content. This creates syntactically invalid JSON at runtime.Solution
Changed heredoc delimiters from
<< 'EOF'to<< EOF(without quotes) to allow GitHub Actions expressions to be properly evaluated before the heredoc content is processed.Files modified:
pkg/workflow/claude_engine.go- Claude MCP server configurationpkg/workflow/copilot_engine.go- Copilot MCP server configurationpkg/workflow/custom_engine.go- Custom engine MCP server configurationVerification
This fix ensures that GitHub Actions expressions in MCP server configurations are properly evaluated, generating valid JSON that can be parsed by the MCP servers at runtime.
Warning
Firewall rules blocked me from connecting to one or more addresses (expand for details)
I tried to connect to the following addresses, but was blocked by firewall rules:
https://api.github.com/repos/githubnext/gh-aw/actions/runs/18431451941curl -s -L -H Accept: application/vnd.github+json -H Authorization: Bearer -H X-GitHub-Api-Version: 2022-11-28 REDACTED(http block)node /tmp/check_workflow.js(http block)If you need me to access, download, or install something from one of these locations, you can either:
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.