From 52eab4f1b4128fece6c4314f32e4c5d4e4aaf22d Mon Sep 17 00:00:00 2001 From: Joe Clark Date: Wed, 29 Jul 2026 15:48:51 +0100 Subject: [PATCH 1/6] bump node --- .tool-versions | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.tool-versions b/.tool-versions index 67a67317d..3d7962c6f 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1 +1 @@ -nodejs 24.15.0 +nodejs 24.18.1 From 9a2669c58db3aaaa972a9cff25791529a7c8b26f Mon Sep 17 00:00:00 2001 From: Joe Clark Date: Wed, 29 Jul 2026 15:53:44 +0100 Subject: [PATCH 2/6] update GH actions --- .circleci/config.yml | 14 +++++++------- .github/workflows/project-integration-tests.yaml | 2 +- .github/workflows/publish.yaml | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 1a38d4297..9ac0cb232 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -16,7 +16,7 @@ jobs: # Specify the execution environment. You can specify an image from Dockerhub or use one of our Convenience Images from CircleCI's Developer Hub. # See: https://circleci.com/docs/2.0/configuration-reference/#docker-machine-macos-windows-executor docker: - - image: cimg/node:24.14 + - image: cimg/node:24.18 resource_class: medium # Add steps to the job # See: https://circleci.com/docs/2.0/configuration-reference/#steps @@ -44,7 +44,7 @@ jobs: build: docker: - - image: cimg/node:24.14 + - image: cimg/node:24.18 resource_class: medium steps: - attach_workspace: @@ -59,7 +59,7 @@ jobs: unit_test: docker: - - image: cimg/node:24.14 + - image: cimg/node:24.18 resource_class: medium parallelism: 1 steps: @@ -71,7 +71,7 @@ jobs: format: docker: - - image: cimg/node:24.14 + - image: cimg/node:24.18 resource_class: medium steps: - attach_workspace: @@ -82,7 +82,7 @@ jobs: type_check: docker: - - image: cimg/node:24.14 + - image: cimg/node:24.18 resource_class: medium steps: - attach_workspace: @@ -93,7 +93,7 @@ jobs: build_openfnx: docker: - - image: cimg/node:24.14 + - image: cimg/node:24.18 resource_class: medium steps: - attach_workspace: @@ -168,7 +168,7 @@ workflows: - integration_test: matrix: parameters: - node_version: ['22.20', '24.14.0'] + node_version: ['22.20', '24.18.0'] requires: - build_openfnx - legacy_test: diff --git a/.github/workflows/project-integration-tests.yaml b/.github/workflows/project-integration-tests.yaml index 3626826bd..8d60190d8 100644 --- a/.github/workflows/project-integration-tests.yaml +++ b/.github/workflows/project-integration-tests.yaml @@ -22,7 +22,7 @@ jobs: path: resources/repo - uses: actions/setup-node@v6 with: - node-version: '24.14' + node-version: '24.18' - uses: pnpm/action-setup@v4 - run: pnpm install - run: pnpm install:openfnx diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml index f8401e8dd..d26da8b73 100644 --- a/.github/workflows/publish.yaml +++ b/.github/workflows/publish.yaml @@ -15,7 +15,7 @@ jobs: fetch-depth: 1 - uses: actions/setup-node@v6 with: - node-version: '24.14' + node-version: '24.18' - uses: pnpm/action-setup@v4 - run: pnpm install - run: pnpm build From 8c7b2112872c5f60c299b65656f094e8cb33522b Mon Sep 17 00:00:00 2001 From: Joe Clark Date: Wed, 29 Jul 2026 16:27:51 +0100 Subject: [PATCH 3/6] extend test matrix --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 9ac0cb232..41d5e1fdc 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -168,7 +168,7 @@ workflows: - integration_test: matrix: parameters: - node_version: ['22.20', '24.18.0'] + node_version: ['22.20', '24.18.1', '26.5.1'] requires: - build_openfnx - legacy_test: From 86413f37daa55ac446c44728273754fe858f9a57 Mon Sep 17 00:00:00 2001 From: Joe Clark Date: Thu, 30 Jul 2026 14:30:43 +0100 Subject: [PATCH 4/6] replace rmdir witm rm, for compatibility with node 26 --- packages/cli/src/util/cache.ts | 4 ++-- packages/cli/test/execute/execute.test.ts | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/packages/cli/src/util/cache.ts b/packages/cli/src/util/cache.ts index 0f4dbf1a0..ae44d2007 100644 --- a/packages/cli/src/util/cache.ts +++ b/packages/cli/src/util/cache.ts @@ -1,6 +1,6 @@ import fs from 'node:fs'; import path from 'node:path'; -import { rmdir } from 'node:fs/promises'; +import { rm } from 'node:fs/promises'; import type { ExecutionPlan } from '@openfn/runtime'; import type { Opts } from '../options'; @@ -76,7 +76,7 @@ export const clearCache = async ( const cacheDir = getCachePath(options, plan.workflow?.name); try { - await rmdir(cacheDir, { recursive: true }); + await rm(cacheDir, { recursive: true, force: true }); logger.info(`Cleared cache at ${cacheDir}`); } catch (e: any) { diff --git a/packages/cli/test/execute/execute.test.ts b/packages/cli/test/execute/execute.test.ts index 8b7184aff..12dac44c1 100644 --- a/packages/cli/test/execute/execute.test.ts +++ b/packages/cli/test/execute/execute.test.ts @@ -681,14 +681,15 @@ test.serial('run a job without compilation', async (t) => { test.serial('run a job which does not return state', async (t) => { const job = `${fn}fn(() => {});`; mockFs({ - '/job.js': job, + '/abc.js': job, }); const options = { ...defaultOptions, - expressionPath: '/job.js', + expressionPath: '/abc.js', }; const result = await handler(options, logger); + t.log(logger._history); t.falsy(result); // Check that no error messages have been logged From 77f69b8c9c451b3f1e0fc71fdda8e9627d02b5f5 Mon Sep 17 00:00:00 2001 From: Joe Clark Date: Thu, 30 Jul 2026 15:07:24 +0100 Subject: [PATCH 5/6] local node to 26 --- .tool-versions | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.tool-versions b/.tool-versions index 3d7962c6f..1cdceb670 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1 +1 @@ -nodejs 24.18.1 +nodejs 26.5.1 From 784b64a9c4d6dd69bc9a64fa9043fbf2518d97de Mon Sep 17 00:00:00 2001 From: Joe Clark Date: Thu, 30 Jul 2026 15:08:31 +0100 Subject: [PATCH 6/6] versions --- packages/cli/CHANGELOG.md | 6 ++++++ packages/cli/package.json | 2 +- packages/ws-worker/CHANGELOG.md | 6 ++++++ packages/ws-worker/package.json | 2 +- 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/packages/cli/CHANGELOG.md b/packages/cli/CHANGELOG.md index 6d3e237b4..24c305a2f 100644 --- a/packages/cli/CHANGELOG.md +++ b/packages/cli/CHANGELOG.md @@ -1,5 +1,11 @@ # @openfn/cli +## 1.39.1 + +### Patch Changes + +- Support for node 26 + ## 1.39.0 ### Minor Changes diff --git a/packages/cli/package.json b/packages/cli/package.json index ee7991da2..e1b9a6a90 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@openfn/cli", - "version": "1.39.0", + "version": "1.39.1", "description": "CLI devtools for the OpenFn toolchain", "engines": { "node": ">=18", diff --git a/packages/ws-worker/CHANGELOG.md b/packages/ws-worker/CHANGELOG.md index 4bed703a9..c9e400b6f 100644 --- a/packages/ws-worker/CHANGELOG.md +++ b/packages/ws-worker/CHANGELOG.md @@ -1,5 +1,11 @@ # ws-worker +## 1.27.4 + +### Patch Changes + +- Rebuild image to support node 24.18.1 + ## 1.27.3 ### Patch Changes diff --git a/packages/ws-worker/package.json b/packages/ws-worker/package.json index 84b3198aa..4f9ec4a06 100644 --- a/packages/ws-worker/package.json +++ b/packages/ws-worker/package.json @@ -1,6 +1,6 @@ { "name": "@openfn/ws-worker", - "version": "1.27.3", + "version": "1.27.4", "description": "A Websocket Worker to connect Lightning to a Runtime Engine", "main": "dist/index.js", "type": "module",