feat: add mix ci task for the complete quality gate - #127
Conversation
Adds Mix.Tasks.Ci which runs the same four steps the CI workflow's test job runs (deps.get, format check, usage_rules.sync check, mix test), all inside app/. CI now calls `mix ci` instead of the individual steps, so local and remote checks are always in sync. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Code ReviewIssue: CRY-49 — Add mix ci task for the complete quality gate Quality suiteAll checks pass on the branch as-is:
Assessment: ApproveClean, well-scoped implementation that follows the established repo-management task pattern exactly. The code is correct, the CI workflow update is sound, and the test covers the right contract. What looks good
IssuesMinor
No issues found
|
Summary
Mix.Tasks.Ci(lib/mix/tasks/ci.ex) that runs the four quality gate steps (deps.get,format --check-formatted,usage_rules.sync --check,mix test) sequentially insideapp/, failing fast on the first error.github/workflows/ci.yamlto callmix ciinstead of the four individual steps — CI and localmix cinow share one code pathtest/mix/tasks/ci_test.exsverifying the correct sequence of commands is invoked (using an injected shell runner, matching the pattern fromlc_test.exs)Closes CRY-49
Test plan
mix compile --warnings-as-errorspassesmix format --check-formattedpassesmix testpasses (12/12, including the newMix.Tasks.CiTest)mix ciwithworking-directory: .(repo root), overriding the job'sapp/default🤖 Generated with Claude Code