Skip to content

Nothing requires that a tests/release/*.test.sh is actually invoked by a gate #331

Description

@vladimirrott

tests/release/database-path-agreement.test.sh was in the tree, correct, and wired into nothing. Zero references in ci.yml, e2e.yml, release.yml or scripts/ci-local.sh, and it never had any since the day it was added.

It guards a real past defect: the installer and the daemon resolving different SQLite paths, which splits the audit chain in two and leaves audit verify reading a store nothing writes to. Reverting the installer's path resolution to the old value left every required check green.

#330 wires that one file in. The gap it exposes is not that one file.

The gap

scripts/check_repo_completeness.sh checks that required files exist. Nothing checks that a release test is reachable from a gate, so adding tests/release/foo.test.sh and forgetting the two lines in ci.yml and ci-local.sh produces a test that runs only when someone types its name. There is no error, no warning, and the file looks maintained.

Same shape as #278: an artifact that is correct and unread.

Scope

A check that, for every tests/release/*.test.sh, the filename appears in at least one of .github/workflows/ci.yml, .github/workflows/e2e.yml, .github/workflows/release.yml or scripts/ci-local.sh.

Two details that decide whether it is worth having:

Worth extending the same idea to tests/e2e/*.test.sh, which has the same exposure.

Tests first

Add a tests/release/foo.test.sh that nothing invokes and watch the new check name it. Then delete the ci.yml line for an existing one and watch it name that. Both directions, because a check that only fires on a new file misses the deletion case, which is how this one got lost.

Difficulty

easy. One shell script and two lines of wiring, and the derivation is a glob plus a grep.

Getting started

CONTRIBUTING.md has the build and test commands. bash scripts/ci-local.sh runs the whole board locally. No CLA and no copyright waiver. The project is MIT.

Activity

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

Metadata

Metadata

Assignees

Labels

claimedSomeone has said in the thread that they are working on thiseasyDifficulty: self-contained, no deep context neededenhancementNew feature or requestgood first issueGood for newcomers

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions