Skip to content

Commit da16d23

Browse files
auxesisclaude
andcommitted
ci(tests): build the auth and profile bindings before the test run
`pnpm run test` now reaches the @cipherstash/auth and @cipherstash/profile vitest suites, which load the napi module. Their `test` scripts do not build it, and nothing else in run-tests does, so profile-store.test.ts failed with "Failed to load native binding for linux-x64" on this PR (Run Tests, Node 22 and 24). run-tests now builds both bindings with `build:debug` after the protect-ffi binding, before the test steps. The previous commit has `build:debug` write its typings to the committed native.d.ts, so the build leaves the tree clean. This step and that fix came from the CI port (#1003); they land here because this PR merges first and has to pass on its own. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PaY5xYydZUWhv8Nex9Sw8a
1 parent 5b2ab5f commit da16d23

1 file changed

Lines changed: 9 additions & 0 deletions

File tree

‎.github/workflows/tests.yml‎

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,15 @@ jobs:
136136
- name: Build the protect-ffi binding
137137
uses: ./.github/actions/build-ffi-binding
138138

139+
# `pnpm run test` below also runs the @cipherstash/auth and
140+
# @cipherstash/profile vitest suites, which load the napi module. Their
141+
# `test` scripts do not build it, so cargo stays off the default `test`
142+
# path; this step builds it, as the protect-ffi step above does for
143+
# `index.node`. Each `build:debug` writes its typings to the committed
144+
# `native.d.ts`, so the build leaves the tree clean.
145+
- name: Build the auth and profile node bindings
146+
run: pnpm --filter @cipherstash/auth --filter @cipherstash/profile run build:debug
147+
139148
- name: Type tests (stack)
140149
run: pnpm exec turbo run test:types --filter @cipherstash/stack
141150

0 commit comments

Comments
 (0)