|
| 1 | +# GitHub Actions YAML Review Plan |
| 2 | + |
| 3 | +## Goal |
| 4 | + |
| 5 | +Review the current GitHub Actions validation and release workflows, record concrete risks with line-level evidence, and capture any durable CI policy that emerged from the user conversation, including mandatory `-warnaserror` enforcement for local and CI builds. |
| 6 | + |
| 7 | +## Scope |
| 8 | + |
| 9 | +### In Scope |
| 10 | + |
| 11 | +- `.github/workflows/build-validation.yml` |
| 12 | +- `.github/workflows/release-publish.yml` |
| 13 | +- shared workflow assumptions from `.github/steps/install_dependencies/action.yml` |
| 14 | +- root governance updates needed to capture durable CI runner policy and mandatory `-warnaserror` build usage |
| 15 | + |
| 16 | +### Out Of Scope |
| 17 | + |
| 18 | +- application code changes unrelated to CI/CD |
| 19 | +- release-note content changes |
| 20 | +- speculative platform changes without a concrete workflow finding |
| 21 | + |
| 22 | +## Constraints And Risks |
| 23 | + |
| 24 | +- The review must focus on real failure or operability risks, not styling-only nits. |
| 25 | +- Findings must use exact file references and line numbers. |
| 26 | +- Desktop builds must stay on native OS runners for the target artifact. |
| 27 | + |
| 28 | +## Testing Methodology |
| 29 | + |
| 30 | +- Static review of workflow logic, trigger model, runner selection, packaging steps, and rerun behavior |
| 31 | +- Validation commands for any touched YAML or policy file: |
| 32 | + - `dotnet build DotPilot.slnx -warnaserror` |
| 33 | + - `actionlint .github/workflows/build-validation.yml` |
| 34 | + - `actionlint .github/workflows/release-publish.yml` |
| 35 | +- Quality bar: |
| 36 | + - every reported finding must describe a user-visible or operator-visible failure mode |
| 37 | + - no finding should rely on vague “could be cleaner” arguments |
| 38 | + |
| 39 | +## Ordered Plan |
| 40 | + |
| 41 | +- [x] Step 1: Read the current workflows, shared composite action, and relevant governance/docs. |
| 42 | + Verification: |
| 43 | + - inspect the workflow YAML and shared action with line numbers |
| 44 | + - inspect the nearest architecture/ADR references for the intended CI split |
| 45 | + Done when: the current workflow intent and boundaries are clear. |
| 46 | + |
| 47 | +- [x] Step 2: Record durable policy from the latest user instruction. |
| 48 | + Verification: |
| 49 | + - update `AGENTS.md` with the native-runner rule for desktop build/publish jobs |
| 50 | + - update `AGENTS.md` with mandatory `-warnaserror` usage for local and CI builds |
| 51 | + Done when: the rules are present in root governance. |
| 52 | + |
| 53 | +- [x] Step 3: Apply the explicitly requested CI warning-policy fix. |
| 54 | + Verification: |
| 55 | + - `build-validation.yml` runs the build step with `-warnaserror` |
| 56 | + - no duplicate non-value build step remains after the change |
| 57 | + Done when: CI and local build policy both require `-warnaserror`. |
| 58 | + |
| 59 | +- [x] Step 4: Produce the workflow review findings. |
| 60 | + Verification: |
| 61 | + - findings reference exact files and lines |
| 62 | + - findings are ordered by severity |
| 63 | + Done when: the user can act on the review without needing another pass to discover the real problems. |
| 64 | + |
| 65 | +- [x] Step 5: Validate touched YAML/policy files. |
| 66 | + Verification: |
| 67 | + - `dotnet build DotPilot.slnx -warnaserror` |
| 68 | + - `actionlint .github/workflows/build-validation.yml` |
| 69 | + - `actionlint .github/workflows/release-publish.yml` |
| 70 | + Done when: touched workflow files still parse cleanly. |
| 71 | + |
| 72 | +## Full-Test Baseline Step |
| 73 | + |
| 74 | +- [x] Capture the current workflow state before proposing changes. |
| 75 | + Done when: the review is grounded in the current checked-in YAML, not stale assumptions. |
| 76 | + |
| 77 | +## Failing Tests And Checks Tracker |
| 78 | + |
| 79 | +- [x] None currently tracked for this review-only pass. |
| 80 | + |
| 81 | +## Final Validation Skills |
| 82 | + |
| 83 | +1. `mcaf-ci-cd` |
| 84 | +Reason: review CI/release workflow structure and operator risks. |
| 85 | + |
| 86 | +2. `mcaf-testing` |
| 87 | +Reason: ensure the review respects the repo verification model and required test gates. |
0 commit comments