Skip to content

πŸ”§ no guard that every src/deploy/ test suite is wired into CI β€” test_entrypoint_symlinks.sh runs nowhere todayΒ #5529

Description

@clubanderson

The #4363 guard asserts "Every bin/ test suite is wired into something". There is no equivalent for src/deploy/, and the gap is not hypothetical.

Measured now

Of the 30 src/deploy/test_*.sh suites, five are absent from v2-ci.yml. Four of those run in a different workflow, which is fine:

Suite Runs in
test_ambient_cap_runtime.sh suid-contract.yml
test_image_suid_inventory.sh docker.yml, suid-contract.yml
test_manifest_caps_runtime.sh suid-contract.yml
test_quadlet_generator_gate.sh quadlet-gate.yml
test_entrypoint_symlinks.sh nowhere β€” no workflow references it

I checked every file under .github/workflows/ for each name, so "nowhere" means nowhere, not "not in the obvious place."

Why this keeps happening

src/deploy/ suites are wired individually, by name. A new suite is therefore never picked up automatically, and an omission produces no failure β€” nothing fails when a test file is simply never named. That is the property #4363 calls out for bin/: "Each omission it catches is individually invisible."

Two live instances already found this way:

Both are the same failure as the guards #5388 catalogues: something that reads as coverage while asserting nothing. A test file present in the tree looks like a test that runs.

Proposed

Extend the #4363 guard, or add a sibling, asserting every src/deploy/test_*.sh is referenced by at least one workflow under .github/workflows/. Referenced anywhere is the right bar β€” four of the five above are correctly placed in specialised lanes, and requiring v2-ci.yml specifically would produce false failures.

Acceptance

  • The guard fails against the current tree, because test_entrypoint_symlinks.sh is genuinely unwired β€” demonstrate that, then wire the suite and show it pass. Per πŸ” analysis: four CI guards this week could not fail β€” assert properties, not shapesΒ #5388's standard, a guard that has only ever been observed passing is not evidence.
  • Adding a new unwired src/deploy/test_*.sh fails CI.
  • A suite referenced only from a non-v2-ci.yml workflow passes.
  • test_entrypoint_symlinks.sh is wired somewhere, or deleted if obsolete β€” deciding which requires reading it.

Refs #4363, #5388, #5504

Metadata

Metadata

Assignees

No one assigned

    Labels

    help wantedDenotes an issue that needs help from a contributor. Must meet "help wanted" guidelines.holdkind/bugCategorizes issue or PR as related to a bug.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions