fix(ci): wire full bats + shellcheck suite as required merge gate on every PR #330

Closed
opened 2026-07-03 13:35:59 +02:00 by bosun · 0 comments
Owner

Finding

Repo advertises 551 bats tests + shellcheck discipline. No workflow runs the complete suite as required merge gate. Visible CI is scoped checks only (manifest / fragments / body / self-bootstrap).

docs/adr/0001-language-shell.md names shellcheck as CI gate. Not implemented by workflows.

Blocking rationale

Advertised discipline that isn't enforced = codified-not-embodied at CI layer. For v1.0.0 release tool, indefensible.

Fix

  • .forgejo/workflows/tests.yml runs bats tests/ + shellcheck scripts/**/*.sh on every PR
  • Runner needs bats + shellcheck + yq (bootstrap step if needed)
  • Green on push:main + required-check on PRs via branch protection

Anchor

External correctness cold-read (anonymous ChatGPT session, uploaded to operator 2026-07-03). Full review surfaced 10 findings across 5 blocking-v1.0.0 + 2 should-fix pre-v1.0.0 + 3 post-v1.0.0 backlog. This tracker addresses one of them.

BLOCKING v1.0.0.

## Finding Repo advertises 551 bats tests + shellcheck discipline. No workflow runs the complete suite as required merge gate. Visible CI is scoped checks only (manifest / fragments / body / self-bootstrap). `docs/adr/0001-language-shell.md` names shellcheck as CI gate. Not implemented by workflows. ## Blocking rationale Advertised discipline that isn't enforced = codified-not-embodied at CI layer. For v1.0.0 release tool, indefensible. ## Fix - `.forgejo/workflows/tests.yml` runs `bats tests/` + `shellcheck scripts/**/*.sh` on every PR - Runner needs bats + shellcheck + yq (bootstrap step if needed) - Green on push:main + required-check on PRs via branch protection ## Anchor External correctness cold-read (anonymous ChatGPT session, uploaded to operator 2026-07-03). Full review surfaced 10 findings across 5 blocking-v1.0.0 + 2 should-fix pre-v1.0.0 + 3 post-v1.0.0 backlog. This tracker addresses one of them. BLOCKING v1.0.0.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
frankenbit/release-toolkit#330
No description provided.