-
Notifications
You must be signed in to change notification settings - Fork 0
60 lines (48 loc) · 1.6 KB
/
Copy pathbun.yml
File metadata and controls
60 lines (48 loc) · 1.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json
name: Bun
# Bun is the SECOND supported runtime (framework >= 5.4 is certified on
# Bun >= 1.4) — it gets its own workflow so a Bun regression reads as "Bun
# broke" without turning the Node run red. The matrix tests the declared
# floor and the latest stable; `fail-fast: false` so a floor break and a
# latest break never mask each other. Locally the same suite runs through
# Docker instead: `docker compose --profile bun run --rm backend-bun`.
on:
push:
branches: ["*"]
jobs:
test:
name: Bun ${{ matrix.bun }}
runs-on: ubuntu-latest
permissions:
contents: read
strategy:
fail-fast: false
matrix:
bun: ["1.4.0", "latest"]
services:
redis:
image: redis:latest
ports:
- 6379:6379
env:
LOGGER_CONSOLE_LEVEL: "error"
REDIS_URI: redis://localhost
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0
# Node stays present: npm installs the dependency graph, and
# mongodb-memory-server (started by bun-test.sh when TEST_MONGO_URI is
# unset) downloads a mongod binary for the runner's Ubuntu.
- uses: actions/setup-node@v6
with:
node-version: "24"
cache: "npm"
- uses: oven-sh/setup-bun@v2
with:
bun-version: ${{ matrix.bun }}
- name: Install dependencies
# ARM npm can omit optional x64 peers when it rewrites package-lock.json.
run: npm install
- name: Run tests under Bun
run: bash scripts/bun-test.sh