carlos / todomvc-bakeoff Public
docs(ocaml): STATUS: live at b927326
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 file changed,
+28
−0
apps/ocaml/STATUS.md+28 −0
diff --git a/apps/ocaml/STATUS.md b/apps/ocaml/STATUS.md| new file mode 100644 |
| index 0000000..0684abf |
| --- /dev/null |
| +++ b/apps/ocaml/STATUS.md |
| @@ -0,0 +1,28 @@ |
| +LIVE https://todo-ocaml.bfj.oncarlos.com b927326 |
| + |
| +## Checks |
| + |
| +- `make test`: 15 Alcotest tests pass (form parsing, escaping, and the |
| + request handler against an in-memory database). |
| +- Shared suite against `dist/app --listen 127.0.0.1`: 67 passed, 3 skipped |
| + (the two JS-only edit tests with JS off, and the screenshot with JS off). |
| +- `scripts/boot-check.sh dist/app-linux-arm64`: /healthz and /api/version |
| + 200, clean exit on SIGTERM. |
| +- Deployed with `make deploy`; `/api/version` and `X-Carlos-Version` both |
| + report `b927326`. |
| +- Shared suite against https://todo-ocaml.bfj.oncarlos.com: 67 passed, |
| + 3 skipped. |
| + |
| +## Notes |
| + |
| +- The shipped binary is static glibc (aarch64, 8.6 MB), built in the |
| + emulated arm64 root with Debian's OCaml 5.3.0 as `ocaml-system`. The |
| + linker warns about `getpwnam`, `gethostbyname` and the like (pulled in |
| + by OCaml's `unix` library). The app never calls them. |
| +- The first `make build-arm64` after `make clean-deps` compiles every |
| + library under qemu. That took about 35 minutes here, including opam |
| + setting up the switch. After that, a rebuild of the app alone takes |
| + about 15 seconds. |
| +- docs-t1 has no SQLite headers or `pkg-config`, so the local x86 build |
| + unpacks Debian's `libsqlite3-dev` and `pkgconf` into `.cache/` with |
| + `apt-get download` (see README). The arm64 root already has both. |