Skip to content

ci(bun): enable real Bun runtime unit tests for packages and core - #9396

Merged
quirogas merged 3 commits into
mainfrom
bun-runtime/4-ci-workflow
Sep 30, 2026
Merged

quirogas merged 3 commits into
mainfrom
bun-runtime/4-ci-workflow

Conversation

@quirogas

@quirogas quirogas commented Sep 21, 2026 •

Copy link
Copy Markdown
Contributor

Currently, the .github/workflows/presubmit-bun.yml workflow has a few problems that prevent it from properly testing libraries on Bun:

  • It reuses job names from the Node workflow (node-units and Node (22, shard N)), which is misleading because the workflow runs Bun rather than Node.js.
  • It sets TEST_CMD: "bun --bun", which causes ci/run_single_test.sh to run bun --bun test (Bun's built-in test runner) instead of bun --bun run test (the package's "test" script).
  • ci/run_conditional_tests.sh skips core/packages/* and does not scope Bun test runs exclusively to packages/* and core/packages/*.

This PR updates .github/workflows/presubmit-bun.yml to use clear Bun job names (bun-units, Bun (1.4.2, shard N), and Bun (1.4.2)) and sets TEST_CMD: "bun --bun run" with JS_RUNTIME: "bun" across 8 parallel shards. It also updates ci/run_conditional_tests.sh so that when JS_RUNTIME is set to bun, CI runs unit tests specifically for packages/* and core/packages/* (skipping handwritten/*, core/dev-packages/*, and internal repo CLI tools).

@quirogas
quirogas added this pull request to stack #9397 September 21, 2026 16:02

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Code Review

This pull request updates the conditional test runner script ci/run_conditional_tests.sh to support the Bun runtime. It adjusts the target subdirectories, skips internal CLI tools on Bun, and triggers unit tests for core packages. The review feedback recommends normalizing directory paths by stripping trailing slashes to prevent comparison failures and removing unnecessary subshell parentheses in the conditional logic to avoid overhead.

Comment thread ci/run_conditional_tests.sh
Comment thread ci/run_conditional_tests.sh Outdated
Updates .github/workflows/presubmit-bun.yml and ci/run_conditional_tests.sh to execute unit tests on the Bun 1.4.2 runtime across packages/* and core/packages/*.

Renames the job and status checks to bun-units / Bun (1.4.2) without Node version matrix duplication, sets TEST_CMD to 'bun --bun run' with JS_RUNTIME=bun and MOCHA_PARALLEL=false, and scopes Bun CI execution to packages/* and core/packages/*.
@quirogas
quirogas force-pushed the bun-runtime/4-ci-workflow branch from 1503dea to 8b04f59 Compare September 29, 2026 15:09
@quirogas
quirogas marked this pull request as ready for review September 30, 2026 15:50
@quirogas
quirogas requested a review from a team as a code owner September 30, 2026 15:50

@danieljbruce danieljbruce left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM. Some optional comments.

Comment thread .github/workflows/presubmit-bun.yml
Comment thread ci/run_conditional_tests.sh
@quirogas
quirogas merged commit b1c6f59 into main Sep 30, 2026
75 checks passed
@quirogas
quirogas deleted the bun-runtime/4-ci-workflow branch September 30, 2026 17:28
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.

2 participants