ci: self-discovering per-tool test matrix + run-tests.sh harness#2
Open
deemwario wants to merge 1 commit into
Open
ci: self-discovering per-tool test matrix + run-tests.sh harness#2deemwario wants to merge 1 commit into
deemwario wants to merge 1 commit into
Conversation
The public repo had no CI. This adds a standardized harness and a GitHub Actions workflow so every tool's test suite runs on push + PR. - scripts/run-tests.sh: discover/run/aggregate; pass-fail is each suite's exit code (no output parsing). Tolerant of the test_/test- naming split. - .github/workflows/ci.yml: a self-discovering per-tool matrix (one green check per tool) gated by a single ci-ok status; sets up python3 + a git identity for the few suites that build throwaway repos. Add a tool + test_<tool>.sh and CI picks it up — no workflow edit. Verified: scripts/run-tests.sh runs clean locally — 29 tools, 29 green, 0 failed. (The 4 channel-lint tests in PR #1 get auto-covered on merge.) No tool logic changed; purely additive.
This was referenced Jun 25, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stand up CI: self-discovering per-tool test matrix + run-tests.sh
#ossengine cycle 4 —
CI, no owner gate (additive only, no tool logic changed). Follows cycle 3 (PR #1, the 4 lint tests).Why
The public repo had no CI at all (no
.github/workflows, noscripts/). Every tool ships atest_<tool>.sh, but nothing ran them on push/PR. This wires that up.What's in here (2 files, additive)
scripts/run-tests.sh— standardized harness: discover every top-level dir that ships atest_*.sh/test-*.sh, run it, aggregate. Pass/fail is each suite's exit code (no output parsing).scripts/run-tests.sh <tool>runs one..github/workflows/ci.yml— a self-discovering per-tool matrix: adiscoverjob lists the testable tools, atestjob runs one green check per tool (python3 + a git identity for the suites that build throwaway repos), and a singleci-okstatus gates on the whole matrix. Add a tool + itstest_<tool>.shand CI picks it up — no workflow edit.Verification
scripts/run-tests.shrun locally over the whole repo: 29 tools, 29 green, 0 failed. So this lands green.permissions: contents: readonly.Interaction with PR #1
PR #1 adds
test_<tool>.shfor the 4 channel-lint tools. Because the matrix is self-discovering, those 4 get their own green checks automatically once both PRs are on main — no further wiring. The two PRs are independent and can merge in either order.🤖 Generated with Claude Code