[ci-doctor] CI Test Failure — Run #25838576963 (merge of autoloop PR #302)

Open
#307 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
52/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Quiet
Tech stack
bun, github-actions, typescript
Domain
ci-cd, testing-qa

Research direction

Start with .github/workflows/ci.yml and inspect the Bun version used by the failing Test & Lint job, comparing it with local Bun 1.3.14. Review or rerun the linked workflow and confirm that bun test --coverage ./tests/ passes in CI after the version is made deliberate.

Written by the indexing model from the issue text.

Description

automation ci

The Test & Lint job failed at the Test step after merging PR #302. All 7216 tests pass locally with bun 1.3.14.

Failure Details

  • Run: 25838576963
  • Commit: 3bf6010ebfc9b366e76d46b2fb836eebc2c1bb5a
  • Trigger: push (merge of autoloop PR #302: extensions, pdArray, format_table)
  • Failed Step: bun test --coverage ./tests/

Root Cause Analysis

The exact test failure output is unavailable (CI logs require admin access). Investigation found:

  1. All tests pass locallybun test --coverage ./tests/ passes with 7216 tests, 0 failures
  2. Type check passestsc --noEmit succeeds
  3. Lint passes — 618 warnings, 0 errors

Primary suspect: The CI uses bun-version: latest (via oven-sh/setup-bun@v2), which may have installed a newer bun version with a regression in the test runner or coverage behavior.

Historical Pattern

This is a recurring failure — an identical Test & Lint failure at the Test step occurred on run 25717961425 on 2026-05-12 when merging autoloop PR #297. Both failures follow the same pattern: autoloop merges to main → bun test step fails → tests pass locally.

Changes in PR #302

New files: src/core/extensions.ts, src/core/pd_array.ts, src/stats/format_table.ts, corresponding test files, and playground pages.

Notable: tests/playground.test.ts correctly added extensions.html to NON_PLAYGROUND_PAGES since it is a static reference page (no interactive playground blocks).

Recommended Actions

  • Pin bun version in .github/workflows/ci.yml: change bun-version: latest to bun-version: "1.3.14" to avoid upstream regressions
  • Retry the failed run — if flaky, a re-run may succeed
  • Inspect actual CI logs (requires admin) to find the exact failing test

Prevention Strategies

  1. Pin bun to a specific version in CI; update deliberately and review release notes
  2. Add GitHub Actions retry for flaky tests

AI Team Self-Improvement

## CI Stability Notes
- Never use `bun-version: latest` in CI workflows — always pin to a specific version.
- When adding new playground pages that are static (no interactive code), add them to
  NON_PLAYGROUND_PAGES in tests/playground.test.ts.
- New test files using module-level global state (registries, caches) must ensure tests
  are order-independent and do not rely on side effects from other test files.

[!WARNING]

Firewall blocked 1 domain

The following domain was blocked by the firewall during workflow execution:

  • bun.sh

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "bun.sh"

See Network Configuration for more information.

Generated by CI Failure Doctor · ● 28.3M ·

To install this agentic workflow, run

gh aw add githubnext/agentics/workflows/ci-doctor.md@c7d030cd6d4607b90d9ac3ffc8b24aff4f251632
Dominant language
TypeScript
Stars
9
Forks
4
Avg merge
3d 3h
Merged PRs (30d)
15

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from githubnext/tsb

All issues in githubnext/tsb

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.