From aa944016e4ab7367bbe11c01e633c712d1a97566 Mon Sep 17 00:00:00 2001 From: Gerard Louis Recinto Date: Thu, 10 Sep 2026 02:42:23 -0700 Subject: [PATCH] fix(bindings): give the bindings builder Dockerfile its own dockerignore bindings/Dockerfile.build's final COPY . . was silently dropping the entire bindings/ directory - the root .dockerignore excludes bindings/ (correct for the main app image, which has no business bundling foreign-language binding source), but this Dockerfile's whole job is building those bindings. bindings/main never made it into the image, so build_in_docker.sh's `cd bindings/main && ./build.sh` failed with "No such file or directory", breaking the native binary build (and therefore the GitHub Release step, which needs its artifacts) on every tagged release. Confirmed pre-existing: v5.4.0's release.yml run failed the identical way. Added bindings/Dockerfile.build.dockerignore, a sidecar ignore file BuildKit picks up for this specific -f target instead of the root one. It mirrors the root file's exclusions minus the bindings/ line. Verified locally: bindings/main now lands in the built image. --- bindings/Dockerfile.build.dockerignore | 61 ++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 bindings/Dockerfile.build.dockerignore diff --git a/bindings/Dockerfile.build.dockerignore b/bindings/Dockerfile.build.dockerignore new file mode 100644 index 000000000..3c24f84e3 --- /dev/null +++ b/bindings/Dockerfile.build.dockerignore @@ -0,0 +1,61 @@ +# Sidecar ignore file for bindings/Dockerfile.build, which BuildKit picks up +# instead of the repo-root .dockerignore for this specific -f target. The +# root .dockerignore excludes bindings/ (correct for the main app image, +# which has no business bundling foreign-language binding source), but this +# Dockerfile's whole job is building those bindings, so it needs the +# opposite: everything the root ignore excludes EXCEPT bindings/ itself. + +# Version control and editor +.git +.github +.venv +.vscode +.idea + +# Build caches and dependencies +node_modules +dist +build +vendor/ +.cache/ +*.egg-info +__pycache__ + +# Web frontend (still irrelevant to the bindings build) +sop-arena/ + +# Documentation and assets (preserve embedded prompt templates) +docs/ +*.md +!ai/agent/prompts/*.md +_config.yml + +# Test and coverage artifacts +*.test +*.out +*.log +*.cov +coverage/ +*.so +*.dylib +*.dll +*.a + +# Generated binaries +/httpserver +/httpserver_test +/main +/server +/sop_server +tools/httpserver/httpserver +tools/httpserver/sop_server + +# Data directories and runtime logs +data/ +translogs/ +storelist.txt +ai/data/ +ai/nurse_output.txt +ai/storelist.txt +tools/httpserver/data_browser +tools/httpserver/sop-browser