@@ -7,10 +7,10 @@ Reusable GitHub Actions for PureScript Yoga packages.
7### `setup` - Complete PureScript Yoga Stack Setup
7### `setup` - Complete PureScript Yoga Stack Setup
9Sets up everything needed to build and test PureScript Yoga packages:
9Sets up everything needed to build and test PureScript Yoga packages:
10+- Node.js 22+ (required for Spago's `node:sqlite` dependency)
10−- Bun (JavaScript runtime + fast package manager)
11+- Bun (for fast package installation)
11- PureScript compiler
12- PureScript compiler
12−
13+- Spago package manager
13−**Note**: Use `bunx spago` instead of `spago` in your workflows to run Spago with Bun's runtime.
@@ -21,9 +21,11 @@ Sets up everything needed to build and test PureScript Yoga packages:
21#### With Custom Versions
21#### With Custom Versions
24−- uses: rowtype-yoga/purescript-yoga-actions/.github/actions/setup@main
24+- uses: rowtype-yoga/purescript-yoga-actions/setup@main
26 purescript-version: '0.15.15'
26 purescript-version: '0.15.15'
27+ spago-version: 'unstable'
27 bun-version: 'latest'
29 bun-version: 'latest'
28 install-deps: 'true'
30 install-deps: 'true'
@@ -33,6 +35,7 @@ Sets up everything needed to build and test PureScript Yoga packages:
33| Input | Description | Default |
35| Input | Description | Default |
34|-------|-------------|---------|
36|-------|-------------|---------|
35| `purescript-version` | PureScript compiler version | `0.15.15` |
37| `purescript-version` | PureScript compiler version | `0.15.15` |
38+| `spago-version` | Spago version (`latest` or semver) | `latest` |
36| `bun-version` | Bun version | `latest` |
39| `bun-version` | Bun version | `latest` |
37| `install-deps` | Auto-run `bun install` | `true` |
40| `install-deps` | Auto-run `bun install` | `true` |
@@ -66,9 +69,9 @@ jobs:
66 runs-on: ubuntu-latest
69 runs-on: ubuntu-latest
68 - uses: actions/checkout@v4
71 - uses: actions/checkout@v4
69− - uses: rowtype-yoga/purescript-yoga-actions/.github/actions/setup@main
72+ - uses: rowtype-yoga/purescript-yoga-actions/setup@main
70− - run: bunx spago build
73+ - run: spago build
71− - run: bunx spago test
74+ - run: spago test
74### With Redis Service
77### With Redis Service
@@ -95,16 +98,15 @@ jobs:
97 - uses: actions/checkout@v4
100 - uses: actions/checkout@v4
98− - uses: rowtype-yoga/purescript-yoga-actions/.github/actions/setup@main
101+ - uses: rowtype-yoga/purescript-yoga-actions/setup@main
99− - run: bunx spago test
102+ - run: spago test
102−## Why Bun?
105+## Why Node 22 + Bun?
107+**Node.js 22** is required because Spago 1.x uses the `node:sqlite` built-in module (only available in Node 22+). When you run `spago`, it executes with the system Node.js.
104−**Bun** is a fast all-in-one JavaScript runtime that:
109+**Bun** is used for incredibly fast npm package installation (`bun install` is much faster than `npm install`).
105−- Can run Spago 1.x (including its `node:sqlite` dependency) via `bunx`
106−- Provides incredibly fast package installation
107−- No separate Node.js installation needed!
109## License
111## License