Repository navigation
feat: missing-tool guard and affected-profile CI matrix (spec 026) - #810
Conversation
…(spec 026 T016, T017) Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Signed-off-by: Claude <noreply@anthropic.com>
…ec 026 T021, T022) Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Signed-off-by: Claude <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Signed-off-by: Claude <noreply@anthropic.com>
…d-nv63wo-pr2 Signed-off-by: Claude <noreply@anthropic.com>
…trix Signed-off-by: Claude <noreply@anthropic.com>
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the
|
…trix Signed-off-by: Claude <noreply@anthropic.com>
CI Report - 5425142run 40505669961 - attempt 1 0 failed - 33 passed - 0 skipped - 63m27s elapsed Test selection: full (selection-rule change) - per-suite table Coverage
Changed
Slowest jobs
e2e buckets run
|
…trix Signed-off-by: Claude <noreply@anthropic.com> # Conflicts: # .github/workflows/devcontainers.yaml
Summary
Stacked on #809. Merge #809 first; this PR then retargets to
master.Spec 026 (modular dev containers), tasks T016, T017, T021 and T022.
hack/need.sh <tool>...(FR-010): exits 0 when every tool is onPATH. Otherwise it names the smallest profiles that install each missing tool, read from the generated.devcontainer/tool-index.tsv, and exits 127. Without the index, it prints a plain "not installed" line.@hack/need.sh ...is now the first recipe line ofdev-up,dev-load,dev-install,modules-push,test-e2e,test-e2e-bucket,lint-go,web-dev,build-weband theimage-*recipes. Each guard names only the tools that recipe runs. Fordev-upandtest-e2e, the guard depends onCLUSTER. Otherwise the recipe bodies are unchanged. No CI workflow calls these targets.devcontainers.yaml: a newprofilesjob runshack/gen-devcontainers.py --affectedon the changed files. Thebuildjob then builds every affected profile on amd64 and arm64 and runs its compile checks. The job summary records setup seconds,du -sxdisk use and image size (SC-001, SC-002). Allgithub.*values reach the scripts throughenv:. When the push base is unreachable, every profile counts as affected. T022 (fixture tests indrift) is already in chore: modular dev containers, foundation (spec 026) #809.Verification:
--checkexits 0,bash -npasses andmake -nresolves on every guarded target. A sonnet reviewer checked the diff. CI is the verifier.Generated by Claude Code