elastic / elastic/ai-github-actions
[autonomy-atomicity] make compile ignores gh-aw compiler failures
- Dominant language
- Python
- Stars
- 11
- Forks
- 16
- Avg merge
- 22h 9m
- Merged PRs (30d)
- 31
Description
## Autonomy / Atomicity Findings
### 1. The workflow compiler failure is silently ignored
**Category:** Coupled build/compile step
**File(s):** Makefile:193-207, especially line 195; .github/workflows/ci.yml:49-63
**Problem:** The compile target runs the primary gh-aw compiler with the -@ prefix at Makefile:195. GNU Make therefore ignores a nonzero compiler exit status and continues through post-processing. CI invokes only make compile at ci.yml:54-55 and then checks whether the working tree is dirty at lines 56-63. If the compiler fails before changing generated files, CI can exit successfully without proving that workflows compiled, allowing stale or invalid generated outputs to pass validation.
**Suggested fix:** Remove the leading - from the compiler recipe and preserve fail-fast behavior for the compile target, so a failed gh-aw compile fails CI rather than being treated as success.
## Suggested Actions
- [ ] Make the primary gh-aw compile command fail the compile target when it exits nonzero.
- [ ] Add a CI regression check that a forced compiler failure causes make compile to fail.
> [!WARNING]
>
> Firewall blocked 1 domain
>
> The following domain was blocked by the firewall during workflow execution:
>
> - `awmgmcpg`
>> To allow these domains, add them to the `network.allowed` list in your workflow frontmatter:
>
> ```yaml
> network:
> allowed:
> - defaults
> - "awmgmcpg"
> ```
>
> See [Network Configuration](https://github.github.com/gh-aw/reference/network/) for more information.
>
>
---
[What is this?](https://ela.st/github-ai-tools) | [From workflow: Trigger Autonomy Atomicity Analyzer](https://github.com/elastic/ai-github-actions/actions/runs/30109679323)
Give us feedback! React with 🚀 if perfect, 👍 if helpful, 👎 if not.
Contributor guide
Research direction
Start with the compile recipe in Makefile:193-207, especially line 195, then inspect the make compile invocation and working-tree check in .github/workflows/ci.yml:49-63. Run the existing compile target and determine how to force a compiler failure. Done means compiler failures make the target and CI fail, with a regression check covering that behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions
- Domain
- build-system, ci-cd
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 76/100