mirror of
https://github.com/redwoodjs/local-ci.git
synced 2026-09-19 07:54:29 +08:00
37f98a6c37
Closes #297. CI/scripts-only — no packages/ change, so no changeset required per .claude/rules/changeset-required.md. - scripts/diff-parse.ts: walks raw YAML at workflow + job scopes (in addition to the existing step scope) and grades every recognized key against a preservation predicate or a documented expected-drop. Reuses focused parsers (parseJobIf, parseJobOutputDefs, parseWorkflowContainer, parseWorkflowServices, parseMatrixDef, parseFailFast, parseJobDependencies, getWorkflowTemplate). defaults.run.shell preservation detects the heredoc-wrap marker emitted by wrapScriptForShell. - third-party-workflows/: vendored scan-only corpus — turborepo-lint.yml, playwright-infra.yml, docker-validate.yml — each with attribution header. Picked up automatically by collectWorkflowFiles. - package.json: parse:diff added to the parallel pnpm check pipeline so regressions fail standard CI. Result: 37 workflows scanned (.github/workflows + third-party-workflows), 0 drifts. pnpm check exits 0; pnpm agent-ci-dev run --all reports 39/39. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>