Conversation
Agent-Logs-Url: https://github.com/github/gh-aw/sessions/048b5512-f44a-4dcc-a434-6e4749566b2d Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Agent-Logs-Url: https://github.com/github/gh-aw/sessions/048b5512-f44a-4dcc-a434-6e4749566b2d Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Adds a new daily Agentic Workflows (gh-aw) Claude-based workflow to discover popular external repos using gh-aw lockfiles and run cross-repo compile/fix/recompile compatibility checks, caching results and filing actionable issues.
Changes:
- Introduces a new Claude workflow definition for daily cross-repo compatibility auditing.
- Adds the compiled lock workflow YAML produced by
gh aw compile.
Show a summary per file
| File | Description |
|---|---|
.github/workflows/daily-aw-cross-repo-compile-check.md |
Defines the agent mission, discovery strategy, per-repo compile/fix flow, caching, and issue reporting rules. |
.github/workflows/daily-aw-cross-repo-compile-check.lock.yml |
Compiled GitHub Actions workflow that executes the agent with safe-outputs, caching, and reporting plumbing. |
Copilot's findings
Tip
Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Files reviewed: 2/2 changed files
- Comments generated: 4
| if [ ! -d "$REPO_DIR/.git" ]; then | ||
| # Record clone failure object in results.jsonl before continuing. | ||
| # Include: repository, stars, clone_status=failed, probable_root_cause, top_error_lines. | ||
| exit 0 |
There was a problem hiding this comment.
In the clone-failure branch, the snippet uses exit 0. If this code is used inside a loop over repositories, exit will terminate the entire run on the first clone failure rather than moving on to the next repo (the preceding comment says “before continuing”). Use continue (in-loop) or return from a per-repo function instead, after appending the failure record.
| exit 0 | |
| continue |
|
|
||
| ## Phase 3: Analyze Failures for Compatibility Gaps | ||
|
|
||
| From repositories with `compile_after_status != success`, perform clustering by error signature. |
There was a problem hiding this comment.
compile_after_status is defined above as a numeric exit code, but Phase 3 filters failures using compile_after_status != success. That condition doesn’t match the documented type and will be ambiguous for the agent. Compare against an exit code (e.g., non-zero) or store a separate boolean field (e.g., compile_after_ok).
| From repositories with `compile_after_status != success`, perform clustering by error signature. | |
| From repositories with non-zero `compile_after_status`, perform clustering by error signature. |
| GH_AW_BIN="gh aw" | ||
| gh aw --version | tee "$RUN_DIR/gh-aw-version.txt" |
There was a problem hiding this comment.
GH_AW_BIN is set to the string "gh aw", but later invoked as "$GH_AW_BIN" compile ... / fix .... In bash this will try to execute a binary literally named gh aw (with a space) and will fail. Use gh as the command and pass aw as an argument (or use a bash array like GH_AW_CMD=(gh aw) and invoke it correctly) so the fallback path actually works.
| GH_AW_BIN="gh aw" | |
| gh aw --version | tee "$RUN_DIR/gh-aw-version.txt" | |
| GH_AW_BIN="$RUN_DIR/gh-aw-fallback" | |
| cat > "$GH_AW_BIN" <<'EOF' | |
| #!/usr/bin/env bash | |
| exec gh aw "$@" | |
| EOF | |
| chmod +x "$GH_AW_BIN" | |
| "$GH_AW_BIN" --version | tee "$RUN_DIR/gh-aw-version.txt" |
| GH_AW_BIN="gh aw" | ||
| gh aw --version | tee "$RUN_DIR/gh-aw-version.txt" | ||
| else | ||
| echo "missing gh-aw binary and gh aw fallback" > "$RUN_DIR/tooling-error.txt" |
There was a problem hiding this comment.
On the missing-tooling path, the script exits immediately (exit 1) after writing a text file. That conflicts with the workflow’s own requirement to always emit a safe-output call, and it also means the missing_tool handler likely won’t have any structured item to report. Emit a missing_tool safe output (and/or a report_incomplete/noop as appropriate) before exiting so the failure is surfaced consistently.
| echo "missing gh-aw binary and gh aw fallback" > "$RUN_DIR/tooling-error.txt" | |
| echo "missing gh-aw binary and gh aw fallback" > "$RUN_DIR/tooling-error.txt" | |
| safe-output missing_tool <<JSON | |
| {"tool":"gh-aw","message":"missing gh-aw binary and gh aw fallback","details_file":"$RUN_DIR/tooling-error.txt"} | |
| JSON |
Summary
.github/workflows/daily-aw-cross-repo-compile-check.md.github/workflows/daily-aw-cross-repo-compile-check.lock.ymlWhat it does
.github/workflows/*.lock.ymlpatternsSafety and reporting
Validation
gh aw compile .github/workflows/daily-aw-cross-repo-compile-check.md✅make agent-finish❌ (pre-existing timeout inpkg/clitests:TestFetchIncludeFromSource_SectionExtraction, unchanged by this workflow-only PR)parallel_validation: