Skip to content

Commit 338cc56

Browse files
committed
ci: test in Node and Bun
1 parent 5b5d3bb commit 338cc56

File tree

4 files changed

+153
-6
lines changed

4 files changed

+153
-6
lines changed

.github/workflows/ci.yml

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: ["main"]
6+
pull_request:
7+
branches: ["main"]
8+
9+
permissions:
10+
contents: read
11+
12+
jobs:
13+
test:
14+
runs-on: ubuntu-latest
15+
16+
steps:
17+
- name: Setup repo
18+
uses: actions/checkout@v4
19+
20+
- name: Setup Deno
21+
uses: denoland/setup-deno@v2
22+
with:
23+
deno-version: vx.x.x
24+
25+
- name: Verify formatting
26+
run: deno fmt --check
27+
28+
- name: Run linter
29+
run: deno lint
30+
31+
- name: Run tests
32+
run: deno test -A
33+
34+
test-node:
35+
runs-on: ubuntu-latest
36+
needs: test
37+
strategy:
38+
matrix:
39+
node-version: [22, 24]
40+
41+
steps:
42+
- name: Setup repo
43+
uses: actions/checkout@v4
44+
45+
- name: Setup Deno
46+
uses: denoland/setup-deno@v2
47+
with:
48+
deno-version: vx.x.x
49+
50+
- name: Setup Node.js
51+
uses: actions/setup-node@v4
52+
with:
53+
node-version: ${{ matrix.node-version }}
54+
55+
- name: Build npm package
56+
run: deno run -A scripts/build_npm.ts
57+
58+
- name: Install dependencies
59+
working-directory: ./npm
60+
run: npm install
61+
62+
- name: Run Node.js tests
63+
working-directory: ./npm
64+
run: npm test
65+
66+
test-bun:
67+
runs-on: ubuntu-latest
68+
needs: test
69+
70+
steps:
71+
- name: Setup repo
72+
uses: actions/checkout@v4
73+
74+
- name: Setup Deno
75+
uses: denoland/setup-deno@v2
76+
with:
77+
deno-version: vx.x.x
78+
79+
- name: Setup Bun
80+
uses: oven-sh/setup-bun@v2
81+
82+
- name: Build npm package
83+
run: deno run -A scripts/build_npm.ts
84+
85+
- name: Install dependencies
86+
working-directory: ./npm
87+
run: bun install
88+
89+
- name: Run Bun tests
90+
working-directory: ./npm
91+
run: bun run test_runner.js

.github/workflows/deno.yml

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,3 +30,59 @@ jobs:
3030

3131
- name: Run tests
3232
run: deno test -A
33+
34+
test-node:
35+
runs-on: ubuntu-latest
36+
needs: test
37+
38+
steps:
39+
- name: Setup repo
40+
uses: actions/checkout@v4
41+
42+
- name: Setup Deno
43+
uses: denoland/setup-deno@v2
44+
with:
45+
deno-version: vx.x.x
46+
47+
- name: Setup Node.js
48+
uses: actions/setup-node@v4
49+
with:
50+
node-version: 22
51+
52+
- name: Build npm package
53+
run: deno run -A scripts/build_npm.ts
54+
55+
- name: Install dependencies
56+
working-directory: ./npm
57+
run: npm install
58+
59+
- name: Run Node.js tests
60+
working-directory: ./npm
61+
run: npm test
62+
63+
test-bun:
64+
runs-on: ubuntu-latest
65+
needs: test
66+
67+
steps:
68+
- name: Setup repo
69+
uses: actions/checkout@v4
70+
71+
- name: Setup Deno
72+
uses: denoland/setup-deno@v2
73+
with:
74+
deno-version: vx.x.x
75+
76+
- name: Setup Bun
77+
uses: oven-sh/setup-bun@v2
78+
79+
- name: Build npm package
80+
run: deno run -A scripts/build_npm.ts
81+
82+
- name: Install dependencies
83+
working-directory: ./npm
84+
run: bun install
85+
86+
- name: Run Bun tests
87+
working-directory: ./npm
88+
run: bun test

deno.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@rotu/structview",
3-
"version": "0.13.0",
3+
"version": "0.13.1",
44
"license": "MIT",
55
"tasks": {
66
"dev": "deno test --watch",
@@ -12,7 +12,7 @@
1212
"exclude": ["./npm"],
1313
"imports": {
1414
"@deno/dnt": "jsr:@deno/dnt@^0.42.3",
15-
"@std/assert": "jsr:@std/assert@1",
15+
"@std/assert": "jsr:@std/assert@^1.0.16",
1616
"uint8array-extras": "npm:uint8array-extras@^1.5.0"
1717
},
1818
"exports": {

deno.lock

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)