Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 1 addition & 10 deletions .github/actions/setup/action.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
name: Set up the pinned toolchain
description: Install the pinned Node, npm and Bun, optionally a requested sqlc, then install project dependencies.
description: Install the pinned Node and npm, optionally a requested sqlc, then install project dependencies.

inputs:
bun:
description: Install the pinned Bun when "true".
default: "false"
sqlc:
description: Install this sqlc version, such as 1.31.1. Empty installs none.
default: ""
Expand All @@ -17,11 +14,6 @@ runs:
node-version: 24.12.0
cache: npm

- if: inputs.bun == 'true'
uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0
with:
bun-version: 1.3.10

- if: inputs.sqlc != ''
uses: sqlc-dev/setup-sqlc@bac53b7fb28c039a6c7f5736fd1e89744021bdd6 # v5.0.0
with:
Expand All @@ -34,5 +26,4 @@ runs:
echo "==> Toolchain on this runner:"
echo " node $(node --version)"
echo " npm $(npm --version)"
if [ "${{ inputs.bun }}" = "true" ]; then echo " bun $(bun --version)"; fi
if [ -n "${{ inputs.sqlc }}" ]; then echo " sqlc $(sqlc version)"; fi
1 change: 0 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ jobs:
- uses: actions/checkout@fbc6f3992d24b796d5a048ff273f7fcc4a7b6c09 # v5.1.0
- uses: ./.github/actions/setup
with:
bun: "true"
sqlc: 1.31.1

- name: Check formatting (run make fmt to fix)
Expand Down
1 change: 0 additions & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@ jobs:
fetch-depth: 0
- uses: ./.github/actions/setup
with:
bun: "true"
sqlc: 1.31.1

- name: Validate the release identity before building anything
Expand Down
2 changes: 0 additions & 2 deletions .prettierignore
Original file line number Diff line number Diff line change
Expand Up @@ -18,5 +18,3 @@ test/miniflare/worker-configuration.d.ts

# Lockfiles are owned by their package managers.
package-lock.json
examples/d1-worker/bun.lock
test/miniflare/bun.lock
4 changes: 1 addition & 3 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,9 +68,7 @@ for dir in test/miniflare examples/d1-worker; do
done
```

**Sub-project formatting.** `examples/d1-worker/` and `test/miniflare/` are bun sub-projects that keep their own Prettier configuration; Prettier resolves configuration per file, so their hand-written sources stay tab-indented. Use bun inside those directories.

**The supported sqlc range is two literals.** `src/compatibility.ts` holds the supported floor and the tested ceiling; validation enforces the floor, `docs/compatibility.md` presents both to consumers, and the CI matrix runs exactly those two versions. Every other pinned version lives with the thing it pins — Node, npm and Bun in `.github/actions/setup/action.yml`, the Cloudflare versions in the fixtures' `bun.lock` and `wrangler.jsonc`, the buf and javy pins in their install scripts.
**The supported sqlc range is two literals.** `src/compatibility.ts` holds the supported floor and the tested ceiling; validation enforces the floor, `docs/compatibility.md` presents both to consumers, and the CI matrix runs exactly those two versions. Every other pinned version lives with the thing it pins — Node and npm in `.github/actions/setup/action.yml`, the Cloudflare versions in the fixtures' `package-lock.json` and `wrangler.jsonc`, the buf and javy pins in their install scripts.

**The floor cell does not run on macOS.** `make test-sqlc-compatibility SQLC_VERSION=1.25.0` dies with `SIGKILL` on macOS arm64: that sqlc's wasm runtime cannot execute the plugin there, though the binary itself runs. It passes on the Linux x64 CI runner, which is where that cell is meant to run. Reproduce it locally with Docker rather than concluding the plugin is broken.

Expand Down
8 changes: 4 additions & 4 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -52,13 +52,13 @@ test-candidate: node_modules

.PHONY: test-miniflare
test-miniflare:
cd test/miniflare && bun install --frozen-lockfile
cd test/miniflare && bun run typecheck && bun run typecheck:test && bun run test:run
cd test/miniflare && npm ci
cd test/miniflare && npm run typecheck && npm run typecheck:test && npm run test:run

.PHONY: test-example
test-example:
cd examples/d1-worker && bun install --frozen-lockfile
cd examples/d1-worker && bun run typecheck && bun run typecheck:test && bun run test:run
cd examples/d1-worker && npm ci
cd examples/d1-worker && npm run typecheck && npm run typecheck:test && npm run test:run

# Regenerates every fixture in a throwaway copy and diffs it against what is checked
# in. Needs sqlc on PATH; never touches the working tree.
Expand Down
2 changes: 1 addition & 1 deletion docs/compatibility.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ Generated code is strict-mode TypeScript, compiled and verified against a curren

## Cloudflare

Local verification runs the plugin's output under Miniflare and workerd, at the versions pinned in `test/miniflare/bun.lock` and the compatibility date in `test/miniflare/wrangler.jsonc`. Those are the repository's own test environment, **not** minimum consumer dependencies — nothing here asks you to copy the repository lockfiles.
Local verification runs the plugin's output under Miniflare and workerd, at the versions pinned in `test/miniflare/package-lock.json` and the compatibility date in `test/miniflare/wrangler.jsonc`. Those are the repository's own test environment, **not** minimum consumer dependencies — nothing here asks you to copy the repository lockfiles.

## What a release binds

Expand Down
12 changes: 0 additions & 12 deletions examples/d1-worker/.editorconfig

This file was deleted.

4 changes: 0 additions & 4 deletions examples/d1-worker/.gitignore

This file was deleted.

6 changes: 0 additions & 6 deletions examples/d1-worker/.prettierrc

This file was deleted.

1 change: 0 additions & 1 deletion examples/d1-worker/CLAUDE.md

This file was deleted.

Loading