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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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