carlos / todomvc-bakeoff Public
docs(haskell): STATUS: live at 7881a7e
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 file changed,
+34
−0
apps/haskell/STATUS.md+34 −0
diff --git a/apps/haskell/STATUS.md b/apps/haskell/STATUS.md| new file mode 100644 |
| index 0000000..ecaac90 |
| --- /dev/null |
| +++ b/apps/haskell/STATUS.md |
| @@ -0,0 +1,34 @@ |
| +LIVE https://todo-haskell.bfj.oncarlos.com 7881a7e |
| + |
| +# todo-haskell: status |
| + |
| +Deployed build `7881a7e` to `todo-haskell.bfj.oncarlos.com` (channel |
| +`edge`). `/api/version` and `X-Carlos-Version` both report `7881a7e`. |
| + |
| +## Checks |
| + |
| +| Check | Result | |
| +|---|---| |
| +| `make test` (hspec, 18 examples) | pass | |
| +| Shared suite, local x86 build | 67 passed, 3 skipped (the suite's own JS-off skips) | |
| +| `scripts/boot-check.sh dist/app-linux-arm64` | `/healthz` 200, `/api/version` 200, clean exit on SIGTERM | |
| +| Shared suite against https://todo-haskell.bfj.oncarlos.com | 67 passed, 3 skipped | |
| + |
| +## Notes |
| + |
| +- Stack: warp + wai, lucid2, sqlite-simple, cookie, file-embed. Reasons |
| + are in `README.md`. |
| +- The arm64 binary is built inside the arm64 root with Debian's GHC |
| + 9.6.6, statically linked against glibc, stripped: 28 MB. The x86 build |
| + uses ghcup's GHC 9.10.3. `cabal.project` pins the Hackage index so both |
| + resolve the same library versions. |
| +- A cold arm64 dependency build (about fifty libraries, `-j8`, emulated) |
| + took roughly 40 minutes on a busy docs-t1. After that, rebuilding the |
| + app takes about 90 seconds. |
| +- docs-t1 has `libgmp.so.10` but no `libgmp.so`, which ghcup's x86 GHC |
| + needs to link. The Makefile makes a link to it in `.cache/x86-lib` and |
| + points `LIBRARY_PATH` there. No system change. |
| +- Warp's `x509` flag is off (it would pull in a crypto library for TLS |
| + client certificates, which the edge already handles). |
| +- Static glibc warns about `getaddrinfo`, `dlopen` and `getpw*`. The app |
| + calls none of them at runtime. |