• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

boardgameio / boardgame.io / 29739289025
100%
master: 100%

Build:
Build:
LAST BUILD BRANCH: main
DEFAULT BRANCH: master
Ran 20 Jul 2026 11:39AM UTC
Jobs 1
Files 55
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

20 Jul 2026 11:38AM UTC coverage: 100.0%. Remained the same
29739289025

push

github

web-flow
Fix flaky server tests: bind test servers to 127.0.0.1 (#1276)

* fix(test): stop api tests from racing foreign localhost servers

supertest creates a server per request with host-less listen(0), which
binds the wildcard address. The kernel may hand out an ephemeral
wildcard port that another local process (IntelliJ, Ollama, ...) holds
on 127.0.0.1; the request then dials 127.0.0.1 and lands on that
process, yielding random wrong responses, truncated bodies, and
'Parse Error: Expected HTTP/' (~8% of suite runs on a busy dev machine).

Serve all api tests from one suite-level server bound explicitly to
127.0.0.1 that delegates to the current test's Koa callback. The bind
must be awaited: listen(port, host) resolves the host asynchronously,
and supertest silently re-listens on the wildcard when handed a
non-listening server. Verified with 80 consecutive suite runs (zero
failures) against a pre-fix baseline of ~8 failures per 100 runs.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KNK7XYPXjxHpKJUCL52kVt

* chore(test): remove leftover jest.setTimeout in the lobby API tests

A 2,000,000,000 ms timeout parked in the suite is debugging residue;
the suite runs in ~2 s under the default 5 s per-test timeout.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KNK7XYPXjxHpKJUCL52kVt

* feat(server): allow binding Server.run to a specific host

Adds an optional host to the run config, passed through to the game
server and Lobby API listen calls, and documents it. Also honors
apiPort: 0 as a request for an ephemeral API port; previously the
falsy check silently ignored it (null/undefined behave as before).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KNK7XYPXjxHpKJUCL52kVt

* fix(test): run server tests on ephemeral 127.0.0.1 ports

Fixed ports (8888, 9999, 57890/57891 - the last two inside th... (continued)

2002 of 2002 branches covered (100.0%)

Branch coverage included in aggregate %.

5 of 5 new or added lines in 1 file covered. (100.0%)

2877 of 2877 relevant lines covered (100.0%)

26659.66 hits per line

Jobs
ID Job ID Ran Files Coverage
1 29739289025.1 20 Jul 2026 11:39AM UTC 110
100.0
GitHub Action Run
Source Files on build 29739289025
  • Tree
  • List 55
  • Changed 50
  • Source Changed 1
  • Coverage Changed 50
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #29739289025
  • 55200a6a on github
  • Prev Build on main (#29695745303)
  • Next Build on main (#29782424290)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc