Skip to content

ci(bun): Test the oldest supported Bun version and the newest 1.4 - #25203

Merged
JPeer264 merged 2 commits into
jp/node-integration-tests-skip-helperfrom
jp/bun-ci-version-matrix
Oct 12, 2026
Merged

JPeer264 merged 2 commits into
jp/node-integration-tests-skip-helperfrom
jp/bun-ci-version-matrix

Conversation

@JPeer264

@JPeer264 JPeer264 commented Oct 9, 2026

Copy link
Copy Markdown
Member

closes #23890
closes JS-3516

Description

This runs the Bun unit and integration tests on Bun 1.3.14 and on 1.4. setup-bun resolves 1.4 to the newest 1.4.x release on each run.

Version decisions

CI pinned 1.3.14 before, and it stays the oldest version that CI tests, because older releases fail tests. On 1.3.4 to 1.3.13, an Anthropic stream that fails midway records its response text twice, and before 1.3.4, bun:test has no jest.advanceTimersByTime. 1.4 floats and blocks merges, so a broken Bun patch fails CI; the issue suggested a non-blocking latest leg instead, which would run 1.4.2 twice until Bun 1.5 comes out.

Known issues

  • A new Bun minor version (1.5) needs a manual change of the matrix.
  • The docs do not state the minimum Bun version yet.

@linear-code

linear-code Bot commented Oct 9, 2026

Copy link
Copy Markdown

JS-3516

@JPeer264

JPeer264 commented Oct 9, 2026

Copy link
Copy Markdown
Member Author

bugbot run

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Bugbot reviewed your changes and found no new issues!

Comment @cursor review or bugbot run to trigger another review on this PR

Reviewed by Cursor Bugbot for commit a257569. Configure here.

@JPeer264
JPeer264 marked this pull request as ready for review October 9, 2026 07:12
@JPeer264 JPeer264 self-assigned this Oct 9, 2026
Comment thread .github/workflows/build.yml
@JPeer264
JPeer264 requested a review from a team as a code owner October 9, 2026 13:25
JPeer264 and others added 2 commits October 12, 2026 13:16
The Bun unit and integration test jobs now run on Bun 1.3.14, the oldest
supported version, and on `1.4`, which setup-bun resolves to the newest
1.4.x release on each run.

Older 1.3.x releases are not supported: before 1.3.4 `bun:test` has no
`jest.advanceTimersByTime`, and up to 1.3.13 an Anthropic stream that
fails midway records its response text twice.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@JPeer264
JPeer264 force-pushed the jp/bun-ci-version-matrix branch from e75d26b to b1bee22 Compare October 12, 2026 11:19
@JPeer264
JPeer264 merged commit f04b11e into develop Oct 12, 2026
718 of 749 checks passed
@JPeer264
JPeer264 deleted the jp/bun-ci-version-matrix branch October 12, 2026 13:10
JPeer264 added a commit that referenced this pull request Oct 12, 2026
…25204)

> *Pro Tip*: It is better to review it with the option "Hide
whitespaces":
https://github.com/getsentry/sentry-javascript/pull/25204/changes?w=1

follow up to #25203

## Description

This adds a `bunMin` requirement to `supports` and moves the Node suites
that pass only on Bun 1.4 from the Bun exclude lists to
`runIf(supports({ bunMin: '1.4.0' }))`. The Bun 1.4 job now runs them,
and the 1.3.14 job skips them. These are the outgoing `node:http` suites
(#23881), `system-error` and `tracer-start-active-span-error`.

```ts
describe.runIf(supports({ bunMin: '1.4.0' }))('outgoing http', () => {});
```

Most of the diff is new indentation. Hide whitespace to review.

## Known issues

- `system-error` stays excluded in the `@sentry/bun` project, because
`@sentry/bun` does not include `nodeSystemErrorIntegration`.
- `tracer-start-active-span-error` passed on Bun 1.3.14 on macOS, but
the old exclude comment says that it fails there, so it keeps the 1.4
minimum.

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

bun: CI pins a single Bun version

3 participants