[CI] Agentic workflows: Update gh-aw workflows to v0.82.14 - #36705
Conversation
Normalize PAT-pool token expressions for the v0.82.14 compiler, apply supported source migrations and security hardening, and regenerate all gh-aw locks and maintenance assets. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 1e327ca9-7120-467d-b880-f08fc4541070
|
🚀 Dogfood this PR with:
curl -fsSL https://raw.githubusercontent.com/dotnet/maui/main/eng/scripts/get-maui-pr.sh | bash -s -- 36705Or
iex "& { $(irm https://raw.githubusercontent.com/dotnet/maui/main/eng/scripts/get-maui-pr.ps1) } 36705" |
|
Azure Pipelines: 1 pipeline(s) were filtered out due to trigger conditions. There may be pipelines that require an authorized user to comment /azp run to run. |
Skill Validation Results
✅ Skill Validation Results —
|
There was a problem hiding this comment.
Pull request overview
This PR upgrades the repository’s GitHub Agentic Workflows (gh-aw) footprint from v0.81.6 to v0.82.14, including source workflow frontmatter migrations, PAT-pool expression normalization for compiler compatibility, and regeneration of the compiled .lock.yml workflows.
Changes:
- Update gh-aw action pins / Copilot CLI version and apply v0.82.14 frontmatter migrations (e.g., top-level
model,checkout: falsefor labeler). - Normalize PAT-pool
COPILOT_GITHUB_TOKENcase()expressions to single-line scalars to avoid v0.82.14 YAML materialization issues. - Regenerate compiled lock workflows and maintenance workflow, and update in-repo gh-aw dispatcher skill/agent docs.
Show a summary per file
| File | Description |
|---|---|
| .github/workflows/validate-pat-pool.yml | Bumps gh-aw setup action and Copilot CLI used to validate PAT pool entries. |
| .github/workflows/shared/pat_pool.README.md | Documents v0.82.14 requirement and single-line PAT case() expression constraint. |
| .github/workflows/rerun-review-scanner.md | Updates checkout action version and flattens PAT case() expression. |
| .github/workflows/regression-corpus-scanner.md | Moves model to top-level and flattens PAT case() expression; updates checkout action. |
| .github/workflows/leak-fixer.md | Moves model to top-level, flattens PAT case() expression, and adds protected-files blocking. |
| .github/workflows/daily-repo-status.md | Flattens PAT case() expression. |
| .github/workflows/daily-repo-status.lock.yml | Regenerated compiled workflow with gh-aw v0.82.14, updated actions/containers, and new guard steps. |
| .github/workflows/daily-leak-hunter.md | Moves model to top-level and flattens PAT case() expression. |
| .github/workflows/copilot-review-tests.md | Moves model to top-level and flattens PAT case() expression. |
| .github/workflows/copilot-evaluate-tests.md | Moves model to top-level and flattens PAT case() expression. |
| .github/workflows/ci-status-net11.md | Moves model to top-level and flattens PAT case() expression. |
| .github/workflows/ci-status-main.md | Moves model to top-level and flattens PAT case() expression. |
| .github/workflows/ci-status-fix.md | Moves model to top-level, flattens PAT case() expression, and adds protected-files blocking to safe-outputs. |
| .github/workflows/ci-status-fix-net11.md | Same as ci-status-fix.md but for net11 workflow variant. |
| .github/workflows/aw-version-update.md | Flattens PAT case() expression. |
| .github/workflows/aw-actions-update.md | Flattens PAT case() expression while keeping GH_TOKEN usage documented. |
| .github/workflows/agentics-maintenance.yml | Regenerated maintenance workflow and splits expired-entity closing into separate jobs with scoped permissions. |
| .github/workflows/agentic-labeler.md | Switches to checkout: false for pull_request_target safety and flattens PAT case() expression. |
| .github/skills/agentic-workflows/SKILL.md | Updates dispatcher guidance and adds optional repo overlay instruction hook. |
| .github/skills/agentic-workflow-designer/SKILL.md | Removes obsolete local designer skill in favor of upstream dispatcher route. |
| .github/aw/actions-lock.json | Updates pinned action versions/SHAs (checkout, setup-node, gh-aw setup actions). |
| .github/agents/agentic-workflows.md | Updates agent dispatcher documentation and upstream reference URLs (noted issues in PR comments). |
Copilot's findings
- Files reviewed: 27/35 changed files
- Comments generated: 2
kubaflo
left a comment
There was a problem hiding this comment.
Multi-model review — PR #36705 · LGTM ✅
Three independent model reviews (Claude Opus 4.8 · GPT-5.5 · Gemini 3.1 Pro) plus orchestrator verification. Unanimous LGTM, high confidence, zero blocking findings. This is a clean, security-positive maintenance PR.
What it does
- Bumps all 14 agentic workflows gh-aw v0.81.6 → v0.82.14 (regenerated
.lock.yml+setup/setup-clipins;actions/checkoutv7.0.0→v7.0.1,actions/setup-nodev6.4.0→v7.0.0). - PAT-pool source-shape repair: collapses the multiline
COPILOT_GITHUB_TOKEN: | ${{ case(...) }}to a single-linecase(...)and movesmodel:fromengine.modelto the top-level key — v0.82.14 no longer preserves indentation when materializing multilineengine.env, which was emitting invalid YAML and blocking regeneration. - Security hardening (additive):
protected-files: blockedoncreate-pull-request+push-to-pull-request-branch(ci-status-fix / -net11 / leak-fixer);agentic-labeler→checkout: false. - Skill consolidation (delete
agentic-workflow-designer, redirect to upstream.github/aw/designer.md, add repo overlay).
Verification (each claim checked against the generated lock at 43fccf43)
| Area | Result |
|---|---|
case() collapse |
All 10 PAT branches (0–9) + 'NO COPILOT PAT AVAILABLE' fallback preserved, in order, across all 14 workflows; compiled locks unchanged; pat_pool gate green ✅ |
model: relocation |
Lock still resolves claude-opus-4.8 (agent_model / GH_AW_ENGINE_MODEL / COPILOT_MODEL); no model line changed base→head ✅ |
agentic-labeler checkout: false |
PR-branch checkout + restore_base_github_folders.sh removed from the secret-bearing job; PR data read via GitHub MCP; SKILL.md still provisioned from base. Net security improvement, no functional regression ✅ |
protected-files: blocked |
Compiles to protected_files_policy:"blocked" ×2 in all 3 workflows; PublicAPI.Unshipped.txt is not on the protected list, so routine ci-fix paths are unaffected ✅ |
| Deleted skill | No dangling references remain in the head tree ✅ |
| Action pins | actions-lock.json SHAs/versions internally consistent and match upstream tags ✅ |
| Compiler-behavior comments | create/push → protected_files_policy:blocked; add_labels + mark_ready now emit required_title_prefix+required_labels; update_pull_request still allow_title:false/no required-* — all 4 updated notes accurate ✅ |
CI
No failures. The agentic gates that actually validate this PR are green: pat_pool (shape repair runs), activation/agent/safe_outputs/pre_activation/detection/conclusion (regenerated locks compile + run), Skill Validation/Static validation/skill-validation. maui-pr correctly skips (full build isn't triggered by workflow-only changes); Build Analysis non-blocking.
💡 Informational (no action needed)
protected-files: blockedis a policy upgrade — it changes enforcement from the defaultrequest_reviewto hardblocked, so a run touching a protected manifest is now rejected outright rather than flagged. Worth reviewers knowing the enforcement got stricter (this is the intended defense-in-depth).
Verdict: LGTM (high). Approving.
🤖 AI-generated multi-model review (GitHub Copilot CLI, on behalf of @kubaflo).
Pin upstream prompt URLs to v0.82.14 and restore the missing ASCII Charts route. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 1e327ca9-7120-467d-b880-f08fc4541070
kubaflo
left a comment
There was a problem hiding this comment.
Re-approve after new commit 65a0cf28 — LGTM ✅
Re-verified the delta since my prior (auto-dismissed) approval at 43fccf43. One commit, one file:
.github/agents/agentic-workflows.md(+25/−15, "Fix gh-aw dispatcher references"): version-pins the gh-aw doc reference URLs fromgithub/gh-aw/main/...→github/gh-aw/v0.82.14/...(matching this PR's compiler bump — improves reproducibility over a movingmain), and adds one new ASCII Charts reference section.
Pure documentation in the agent-definition file — no workflow/lock/code/security surface. Nothing here changes the unanimous 3-model (Opus 4.8 · GPT-5.5 · Gemini 3.1 Pro) zero-finding LGTM from the prior round. skill-validation green; no required check red (maui-pr correctly skips workflow-only changes).
Verdict: LGTM (high). Re-approving.
🤖 AI-generated multi-model review (GitHub Copilot CLI, on behalf of @kubaflo).
Note
Are you waiting for the changes in this PR to be merged?
It would be very helpful if you could test the resulting artifacts from this PR and let us know in a comment if this change resolves your issue. Thank you!
Summary
Updates all repository agentic workflows from gh-aw v0.81.6 to the latest stable v0.82.14 and repairs the PAT-pool source shape that prevented regeneration with the new compiler.
Root Cause
The v0.82.14 compiler emitted invalid generated YAML for the multiline
engine.env.COPILOT_GITHUB_TOKENcase()expressions used by all 14 workflows (non-map value is specified). This was a compiler/source-shape incompatibility, not an organization-billing or PAT-authentication failure. Audited v0.81.6 runs showed the existingcopilot-pat-pooljob, Copilot inference, and safe outputs completing successfully.Changes
COPILOT_GITHUB_TOKENexpressions to compiler-safe single-line scalars.permissions: copilot-requests: writeor org-billed inference.modelfields andcheckout: falsefor thepull_request_targetlabeler..lock.ymlfiles andagentics-maintenance.ymlwith gh-aw v0.82.14.Validation
gh aw compile --approve --strict --validate --schedule-seed dotnet/maui --verbose— 14/14 workflows compiled successfully.PureWeen/maui— 14/14 workflows compiled successfully.gh aw trial ... --clone-repo PureWeen/maui --dry-runaccepted all 14 workflows without changes.gh aw fixreports no remaining migrations.COPILOT_GITHUB_TOKENand none grantcopilot-requests: write.Container-backed actionlint, zizmor, and poutine could not run locally because the Docker Desktop daemon was unavailable.