You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: update stale mixFodDeps hash and add nix build CI job
The mixFodDeps hash in nix/package.nix was computed before logger_json
was added as a dependency, causing the Nix build to fail with
"Could not find application :logger_json" during the install phase.
Adds a Nix Build CI job that runs on PRs to catch stale hashes before
merge, and documents the hash update workflow in AGENTS.md.
Copy file name to clipboardExpand all lines: AGENTS.md
+12Lines changed: 12 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -44,6 +44,18 @@ custom classes must fully style the input
44
44
- Focus on **delightful details** like hover effects, loading states, and smooth page transitions
45
45
46
46
47
+
## Nix build & dependency management
48
+
49
+
This project is packaged with Nix (`nix/package.nix`) and deployed as a Docker image (`nix/docker.nix`). The Nix package uses `fetchMixDeps` with a **pinned hash** for reproducibility.
50
+
51
+
**When you add, remove, or update deps in `mix.exs`:**
52
+
1. Run `nix build .#default` — if the hash is stale, the build will fail with a hash mismatch showing the correct `got:` value
53
+
2. Update the `hash` in `nix/package.nix` with the new value
54
+
3. Run `nix build .#default` again to confirm it succeeds
55
+
4. Run `nix build .#dockerImage` to confirm the container image builds
56
+
57
+
**Always validate both nix builds before committing dependency changes.**
58
+
47
59
## Structured Logging (Wide Events)
48
60
49
61
This project uses structured wide event logging via `Greenlight.WideEvent` with LoggerJSON. Every logical operation emits a single JSON event with accumulated context. Use the `greenlight-debugging` skill when diagnosing issues.
0 commit comments