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
cabal run --enable-profiling unison-cli-main:exe:unison -- +RTS -p
107
107
```
108
+
109
+
## updating the Nix cache
110
+
111
+
There is [a cache for Unison artifacts on Cachix](https://unison.cachix.org). It is primarily used for two purposes:
112
+
113
+
1. to keep an up-to-date development environment for Unison contributors and
114
+
2. to maintain built versions of the last few releases.
115
+
116
+
Correspondingly, CI automatically updates the cache on merges to trunk (to satisfy the first use case) and on release tags to mostly satisfy the second.
117
+
118
+
### updating when the development environment changes
119
+
120
+
Any PR that affects the Nix development environment (e.g., touches flake.nix or files in nix/) should ensure the cache is updated before it’s merged into trunk – to avoid there being any time when contributors end up rebuilding the tooling locally.
121
+
122
+
The easiest way to do this is to manually run the [Nix development cache](https://github.com/unisonweb/unison/actions/workflows/nix-dev-cache.yaml) workflow on the PR’s branch (which may be located on your fork).
123
+
124
+
Depending on how much needs to be rebuilt, some or all of the jobs may fail. In this case, you can populate the cache from another machine[^1].
(adapted from [the Cachix documentation](https://docs.cachix.org/pushing#pushing-runtime-closure))
132
+
133
+
`system` is generally the Nix system (e.g., `x86_64-linux`, `aarch64-darwin`) you are running this on, but you can also use different systems in some cases. E.g.,
134
+
if you are running on an Apple silicon Mac, you can also run the above command using `--system x86_64-darwin` to cache Intel Mac derivations.
135
+
136
+
Another issue @sellout has run into is that `cachix` seems to crash a lot on at least some Macs. To keep re-trying until it succeeds, try
0 commit comments