Skip to content

chore: bump arbor agent + CI to Node 24#111

Open
jee7s wants to merge 2 commits into
mainfrom
chore/node-24
Open

chore: bump arbor agent + CI to Node 24#111
jee7s wants to merge 2 commits into
mainfrom
chore/node-24

Conversation

@jee7s

@jee7s jee7s commented Jun 27, 2026

Copy link
Copy Markdown
Collaborator

Moves the long-running agent container and the CI/deploy workflows to Node 24 (current LTS).

Changed → Node 24

  • packages/agent/Dockerfile: node:22-alpinenode:24-alpine (builder / migrate / runtime)
  • .github/workflows/ci.yml: setup-node 2224 (all 3 jobs)
  • .github/workflows/deploy-dev.yml, promote-prod.yml: setup-node 2224

Deliberately left on node22 / nodejs22.x (webhook Lambda)

  • packages/lambda/build.mjs esbuild target: "node22" and the deployed arbor-webhook-{dev,prod} Lambdas stay nodejs22.x. esbuild's target controls output compatibility independent of the build node, so building under Node 24 is fine — but the runtime stays 22 (AWS may not offer a nodejs24.x managed runtime yet; the Lambdas aren't IaC-managed in this repo). docs/aws-setup.md's nodejs22.x reference is left to match the live runtime.

Migrating the webhook Lambda to 24 is a separate, validated effort.

🤖 Generated with Claude Code

jee7s and others added 2 commits June 27, 2026 11:40
Moves the long-running agent container and the CI/deploy workflows to Node 24
(current LTS):

- packages/agent/Dockerfile: node:22-alpine -> node:24-alpine (builder/migrate/runtime)
- .github/workflows/ci.yml: setup-node 22 -> 24 (all 3 jobs)
- .github/workflows/deploy-dev.yml + promote-prod.yml: setup-node 22 -> 24

DELIBERATELY UNCHANGED (webhook Lambda toolchain):
- packages/lambda/build.mjs esbuild target stays "node22", and the deployed
  arbor-webhook-{dev,prod} Lambdas stay nodejs22.x. esbuild's target controls
  output compatibility independent of the build node, and AWS may not offer a
  nodejs24.x managed runtime yet. (docs/aws-setup.md's nodejs22.x reference is
  left to match the live runtime.)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The Node 24 CI bump failed `test / unit`: better-sqlite3 ^9 ships no prebuilt
binary for Node 24 ("No prebuilt binaries found (target=24… runtime=node)"), so
npm fell back to a from-source node-gyp build that fails on the runner.

better-sqlite3 12.x publishes Node 24 prebuilds. It's a devDependency and the
sqlite stores are a test/local backend (production arbor runs on Postgres), so
this is test-only; the stable better-sqlite3 API is unchanged across v9→v12.
Lockfile updated (--package-lock-only); CI on Node 24 validates.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant