Skip to content

Commit 0d96b49

Browse files
committed
ci: split E2E tests into separate Node.js and Bun jobs
Run Node.js and Bun E2E tests as independent parallel jobs instead of sequentially in a single job, reducing overall CI wall time. https://claude.ai/code/session_01GEHRMj61RQk5DPDo41AzLT
1 parent ed9b254 commit 0d96b49

File tree

1 file changed

+28
-6
lines changed

1 file changed

+28
-6
lines changed

.github/workflows/ci.yml

Lines changed: 28 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,14 +35,14 @@ jobs:
3535
- name: Unit tests
3636
run: npm run test:unit
3737

38-
e2e:
39-
name: E2E tests
38+
e2e-node:
39+
name: E2E tests (Node.js)
4040
runs-on: ubuntu-latest
4141

4242
steps:
4343
- uses: actions/checkout@v6
4444

45-
- name: Set up Node.js 22
45+
- name: Set up Node.js 24
4646
uses: actions/setup-node@v6
4747
with:
4848
node-version: 24
@@ -54,13 +54,35 @@ jobs:
5454
- name: Build
5555
run: npm run build
5656

57-
- name: Install Bun
58-
uses: oven-sh/setup-bun@v2
59-
6057
- name: E2E tests
6158
# Run without gnome-keyring: @napi-rs/keyring fails fast when no D-Bus secret
6259
# service is available, and keychain.ts automatically falls back to encrypted
6360
# file storage (~/.mcpc/credentials.json, mode 0600). The keychain code paths
6461
# are covered by unit tests; e2e tests only need credentials to work, not a
6562
# specific storage backend.
6663
run: ./test/e2e/run.sh --no-build --parallel 4
64+
65+
e2e-bun:
66+
name: E2E tests (Bun)
67+
runs-on: ubuntu-latest
68+
69+
steps:
70+
- uses: actions/checkout@v6
71+
72+
- name: Set up Node.js 24
73+
uses: actions/setup-node@v6
74+
with:
75+
node-version: 24
76+
cache: npm
77+
78+
- name: Install Bun
79+
uses: oven-sh/setup-bun@v2
80+
81+
- name: Install dependencies
82+
run: npm ci
83+
84+
- name: Build
85+
run: npm run build
86+
87+
- name: E2E tests
88+
run: ./test/e2e/run.sh --no-build --runtime bun --parallel 4

0 commit comments

Comments
 (0)