Skip to content

feat: missing-tool guard and affected-profile CI matrix (spec 026) - #810

Merged
ValgulNecron merged 9 commits into
spec-026/foundationfrom
spec-026/need-guard-and-ci-matrix
Oct 28, 2026
Merged

ValgulNecron merged 9 commits into
spec-026/foundationfrom
spec-026/need-guard-and-ci-matrix

Conversation

@ValgulNecron

Copy link
Copy Markdown
Collaborator

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 on PATH. 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.
  • Makefile guards: @hack/need.sh ... is now the first recipe line of dev-up, dev-load, dev-install, modules-push, test-e2e, test-e2e-bucket, lint-go, web-dev, build-web and the image-* recipes. Each guard names only the tools that recipe runs. For dev-up and test-e2e, the guard depends on CLUSTER. Otherwise the recipe bodies are unchanged. No CI workflow calls these targets.
  • devcontainers.yaml: a new profiles job runs hack/gen-devcontainers.py --affected on the changed files. The build job then builds every affected profile on amd64 and arm64 and runs its compile checks. The job summary records setup seconds, du -sx disk use and image size (SC-001, SC-002). All github.* values reach the scripts through env:. When the push base is unreachable, every profile counts as affected. T022 (fixture tests in drift) is already in chore: modular dev containers, foundation (spec 026) #809.

Verification: --check exits 0, bash -n passes and make -n resolves on every guarded target. A sonnet reviewer checked the diff. CI is the verifier.


Generated by Claude Code

…(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>
@ValgulNecron ValgulNecron added type: feature New capability or user-facing addition type: ci CI, workflows, or build tooling area: shared netguard, gameaction, gameproto, svcutil and other shared packages labels Oct 27, 2026 — with Claude
@ValgulNecron ValgulNecron self-assigned this Oct 27, 2026
@coderabbitai

coderabbitai Bot commented Oct 27, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

Run configuration

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

…trix

Signed-off-by: Claude <noreply@anthropic.com>
@github-actions

github-actions Bot commented Oct 27, 2026 •

Copy link
Copy Markdown

CI Report - 5425142

run 40505669961 - attempt 1

0 failed - 33 passed - 0 skipped - 63m27s elapsed

Test selection: full (selection-rule change) - per-suite table

Coverage

Module Measured Gate Margin
web L95.87 S94.37 B89.27 F91.79 L92 S92 B82 F76 +2.37

Changed

Area Files +/-
.github/ 1 +88/-14
hack/ 1 +77/-0
(root) 1 +14/-0
specs/ 1 +4/-4

Slowest jobs

Job Duration
e2e telemetry / arm64 (kind) 24m32s
e2e web live / amd64 (kind) 23m37s
e2e telemetry / amd64 (kind) 21m50s
build e2e images 15m12s
e2e capture overhead (kind) 12m16s

e2e buckets run

api-agent, api-auth, api-mods, api-rbac, api-roles, bot-fast, management-placement, multicluster, operator, optional-components, ratelimit, telemetry, upgrade

@ValgulNecron
ValgulNecron merged commit a2e9f65 into spec-026/foundation Oct 28, 2026
130 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: shared netguard, gameaction, gameproto, svcutil and other shared packages type: ci CI, workflows, or build tooling type: feature New capability or user-facing addition

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants