githubnext / githubnext/gh-aw-cao

[aw-doctor:compiler-security] Compiler strict-mode actionlint failures across 33 workflow lock files (156 errors)

Closed
#4,695 0 comments 0 reactions 0 assignees View on GitHub
aw-doctor aw-doctor:compiler-security compiler-security
Dominant language
JavaScript
Stars
3
Forks
1
Avg merge
49m
Merged PRs (30d)
837

Description

Compiler run for `githubnext/gh-aw-cao` exited non-zero (exit code 1): actionlint strict-mode found 156 errors across 33 of 44 compiled workflow lock files. All findings are actionlint expression/shellcheck errors — no vulnerable container images, license issues, or additional security-scanner (zizmor/poutine/runner-guard/grype/syft) findings were reported before the actionlint failure halted the run. Highest-severity category: actionlint strict-mode expression errors (undefined workflow-dispatch input properties and `github.aw.*` context access), tool-reported severity `error`.

**Action:** Assign this issue to Copilot using **Agent prompt** below; review its pull request and merge only after the full compiler and security scan passes.

Failure details

- **Target repository**: `githubnext/gh-aw-cao`
- **Compiler exit code**: `1`
- **Workflow sources checked**: `44`
- **Generated lock files checked**: `44`
- **Result**: `findings`

| Tool | Workflow(s) | Severity | Finding | Remediation |
|---|---|---|---|---|
| actionlint | 33 lock files (e.g. aw-doctor, aw-failures-investigator, eu-cra-compliance*, self-care*, uk-ai-advisory*, optimization*, software-development-practices*) | error | `property "github-mcp-app-token" is not defined` — `github-token: steps.github-mcp-app-token.outputs.token` referenced but step id/output not defined in that job (11 occurrences) | Ensure the `github-mcp-app-token` step exists and outputs `token` in the same job, or reference the correct step id/output. |
| actionlint | 34 occurrences across most lock files | error | `property "aw" is not defined` on `github.aw.import-inputs.role` — `github.aw` is not a valid context property in strict mode | Replace `github.aw.import-inputs.*` with a supported context path (e.g. workflow-level input/env var) or update the generator producing this expression in the shared control source. |
| shellcheck (via actionlint) | 35 occurrences | style (SC2129) | `Consider using { cmd1; cmd2; } >> file instead of individual redirects` | Rewrite shell script to append via a single grouped redirect block. |
| actionlint | 75 occurrences | error | Undefined workflow-dispatch input properties (`central_repo`, `control_plane_run_url`, `correlation_id`, `max_repos`, `rollout_percent`) referenced from `github.event.inputs.*` in `env:` blocks, but not declared in that workflow's `workflow_dispatch.inputs` | Add the missing `workflow_dispatch.inputs` entries in the relevant `.md` frontmatter (or dispatch envelope template), or remove/guard the unused expression references. |

Agent prompt

1. Assign this issue to Copilot.
2. Configure its MCP client to launch `gh aw mcp-server` over stdio from the target repository, then give it the prompt below. Require the server's `fix` and `compile` tools; never allow direct edits to generated `.lock.yml` files.
3. Review the resulting pull request and require the same full compiler and security scan to pass before merge. If a finding needs human action, require the agent to stop and explain it.

**Agent prompt**

Fix the reported gh-aw compiler and security findings in this repository. Change only `.github/workflows/*.md` sources and directly related files; never edit generated `.lock.yml` files. Use the gh-aw MCP server's `fix` and `compile` tools, rerunning compilation with strict validation, model checks, actionlint, shellcheck, yamllint, zizmor, poutine, runner-guard, grant, grype, and syft until clean. Review generated lock-file diffs, preserve existing behavior, and stop with a concise explanation if a finding cannot be fixed safely.

Raw evidence

```
Compiler summary:
Target: githubnext/gh-aw-cao
Exit code: 1
Workflow sources: 44
Compiled locks: 44

actionlint result:
✗ actionlint failed
strict mode: actionlint found 156 errors in workflows - workflows must have no actionlint errors in strict mode
```

Representative errors (see full run logs for the complete 156-error list):
```
.github/workflows/aw-doctor.lock.yml:478:29: error: [expression] property "github-mcp-app-token" is not defined in object type {...}
478 | github-token: ${{ steps.github-mcp-app-token.outputs.token || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}

.github/workflows/aw-doctor.lock.yml:1187:29: error: [expression] property "aw" is not defined in object type {...}
1187 | if: ${{ always() && github.aw.import-inputs.role == 'orchestrator' }}

.github/workflows/aw-failures-investigator.lock.yml:1905:9: error: [shellcheck] SC2129:style:7:1: Consider using { cmd1; cmd2; } >> file instead of individual redirects

.github/workflows/aw-failures-investigator.lock.yml:1929:47: error: [expression] property "max_repos" is not defined in object type {aw_context: string; batch_label: string; central_repo: string; control_plane_run_url: string; correlation_id: string; safe_output_mode: string; safe_output_repo: string; target_repo: string}
1929 | CAO_REQUESTED_MAX_REPOSITORIES: ${{ github.event.inputs.max_repos || '' }}
```

No container image, license, or additional scanner (zizmor/poutine/runner-guard/grype/syft) findings were captured in the report before actionlint terminated the run with a non-zero exit code.

Control plane context

- Correlation ID: `34134608482-69`
- Central repository: `githubnext/gh-aw-cao`
- Control plane run URL: `https://github.com/githubnext/gh-aw-cao/actions/runs/34134608482`

> Generated by [:shield: AW Doctor / Compiler Security](https://github.com/githubnext/gh-aw-cao/actions/runs/34135098198) · copilot · auto · 37.6 AIC · ⌖ 6.89 AIC · ⊞ 14.2K · [◷](https://github.com/search?q=repo%3Agithubnext%2Fgh-aw-cao+is%3Aissue+%22gh-aw-workflow-call-id%3A+githubnext%2Fgh-aw-cao%2Faw-maintenance-compiler-security%22&type=issues)
> - [x] expires on Sep 21, 2026, 2:55 PM UTC

Contributor guide

Open the contributing guide

Research direction

Start with the affected .github/workflows/*.md sources and the representative aw-doctor and aw-failures-investigator workflow errors; use the gh aw MCP server's fix and compile tools rather than editing generated .lock.yml files. Run strict compilation and the listed security and validation scans, then review the generated lock-file diffs. Done means all 156 actionlint and shellcheck findings are resolved and the full scan passes.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions, shell
Domain
ci-cd, devops, security
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.