ci(15-3): wire existing Deno _shared tests into GitHub Actions CI#113
Merged
Conversation
5 tasks
3-agent adversarial review (Blind Hunter + Edge Case Hunter + Acceptance Auditor) surfaced 7 actionable findings: HIGH: - BH-2/EH-1: name test files explicitly in run command (vacuous-pass defense — `deno test <empty-dir>` would have silently exited 0 OR exited non-zero with a confusing "No test modules found" — either way a future rename/move slips past the gate) - BH-3/EH-2: parse-upstream-error_test.ts docstring claimed `--allow-all` while CI uses `--allow-net=127.0.0.1` — fixed docstring to match CI invocation - EH-4: Case 5 ordering regex `/- name:\\s*Tests\\b/` matched BOTH `Tests` and PR #116's `Tests with coverage threshold` because \\b word boundary triggers between "Tests" and space. Anchored to line-end via `/^\\s{6}- name:\\s*Tests\\s*$/m`. MED: - BH-5: Case 4 silent-disable defense only covered the Deno test step; extended to also pin the Setup Deno step (tightly-coupled — silent disable on EITHER fails the gate). Pin both via explicit loop. - BH-6: added `timeout-minutes: 3` so a hung worker can't burn the GitHub Actions 6-hour default. - BH-7: rewrote misleading v1/v2 comment — `denoland/setup-deno@v2` is the action installer version; `deno-version: v1.x` pins the runtime version. Two independent axes. - EH-10: added `--no-check` to skip redundant TS typecheck (npm type-check step already covers the source-of-truth files; saves ~5s/run + decouples from Deno's TS engine drift). Story file housekeeping (per AA): Status review → done; populated File List section. Deferred (filed as follow-ups): - 15-3-followup-action-sha-pinning (BH-1/EH-3 — warrants global PR for all 3 actions: checkout, setup-node, setup-deno) - 15-3-followup-deno-cache (BH-4/EH-6 — perf + outage resilience) - 15-3-followup-real-body-read-timeout-test (EH-8 — needs TCP server) PR #116 `ci.yml` merge conflict acknowledged: operator resolves at merge time (recommend: merge this PR before #116; Case 5 regex defends against the order being flipped). All 4 quality gates green: type-check 0 / lint 0 / prettier clean / jest 2164 tests pass (no net case change — patches tightened existing cases in place).
Simplemart17
added a commit
that referenced
this pull request
May 17, 2026
…ters Symmetry with 15-4/15-5/15-6 entries (added in the retro commit). Pre-edit the 15-2 + 15-3 lines were plain 'backlog' with no PR pointer; reviewers of PR #117 had no in-file signal that those stories were in flight via PRs #112 and #113. Each line now reads: 'backlog # PR #NNN open — status flips to "done" when PR merges' matching the established pattern.
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.
Summary
Setup Denostep (denoland/setup-deno@v2, pinnedv1.x) +Deno tests (Edge Function _shared utilities)step in.github/workflows/ci.yml— wires Story 11-3fetch-with-timeout_test.ts+ Story 12-11parse-upstream-error_test.tsinto CI (pre-15-3 manual-run only).src/lib/__tests__/ci-deno-step-source-drift.test.ts(5 cases) pins via Story 12-2 P12 + 12-10 R1-H2 patterns: setup action ref, step name, run command, --allow-net=127.0.0.1 permission, NEGATIVE --allow-all, NEGATIVE silent-disable, ordering after Tests step.15-3-followup-pgtap-ci-wiring).Story
15-3-edge-function-deno-tests_bmad-output/implementation-artifacts/15-3-edge-function-deno-tests.mdTest plan
deno test --allow-net=127.0.0.1.🤖 Generated with Claude Code