RC release for docker build fix#1577
Merged
Merged
Conversation
The v2/unit/split example used incorrect v1 field names (unitOwner, countryJurisdictionOfOwner) and was missing supported optional fields. Add field reference tables and fix the example to use the correct v2 field names: unitCurrentOwner, unitStatusReason, unitStatusDate.
docs(V2): document optional fields for unit split endpoint
Add referential integrity guards for methodology, program, stakeholder, and label deletes so they block when links exist in committed tables or in staged INSERT/UPDATE rows, with explicit force-delete override support. Extend integration coverage for live and staged reference conflicts and update live API delete helpers/docs to reflect and exercise the guard flow.
Address bugbot findings: add `committed: false` to the staging query to prevent double-counting references after commit but before sync cleanup, and replace the local toSnakeCase with the existing export from v2-camel-to-snake.js.
…ards-staging fix(V2): guard shared deletes against staged references
The node:24 image defaults to Debian Bookworm (glibc 2.36), but the sqlite3 prebuilt binary requires glibc 2.38. This causes a fatal GLIBC_2.38-not-found crash at startup, putting all CADT pods into CrashLoopBackOff. Two-part fix: - Switch base image from node:24 (Bookworm) to node:24-trixie (Debian 13 stable, glibc 2.41) so prebuilt native binaries are compatible with the container's C library - Add npm rebuild sqlite3 --build-from-source as a safety net so the native addon is always compiled against the container's actual glibc
Build the Docker image and verify it works on every PR and push to develop/main/v2-*. Two checks: 1. Native module load — catches glibc mismatches like the GLIBC_2.38 error that put all CADT pods into CrashLoopBackOff 2. Container startup — runs the app with USE_SIMULATOR=true and waits for the "Server listening" log message
fix: upgrade to node:24-trixie and rebuild sqlite3 from source
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Note
Medium Risk
Adds new 409 conflict behavior to multiple V2 DELETE endpoints unless
?force=true, which can affect clients and deletion workflows. Docker base image and native module build steps also change CI/build behavior, with moderate risk of environment-specific breakage.Overview
V2 DELETE endpoints now enforce referential integrity guards for
methodology,program,stakeholder, andlabel: deletions return409 Conflictwith reference counts when dependent records exist (including stagedINSERT/UPDATErows), unless?force=trueis provided.Build/CI hardening: adds a GitHub Actions
docker-smoke-testworkflow that builds the image, verifiessqlite3loads, starts the container, and hits health endpoints; updates theDockerfileto usenode:24-trixieand rebuildsqlite3from source afternpm install. Docs and both integration/live tests are updated to cover the new guard/force-delete behavior and messages.Reviewed by Cursor Bugbot for commit 64299a6. Bugbot is set up for automated code reviews on this repo. Configure here.