| 3 Jul 2023 |
Danila Danko | * Somehow, on macOS runners, the assumption that a job always accesses approximately the same set of paths doesn't work. | 19:09:33 |
Danila Danko | Moreover, I don't know how to enforce such access behavior. | 19:11:17 |
Danila Danko | * Moreover, I don't know how to enforce such access behavior because I don't really know how Nix works. | 19:11:47 |
Danila Danko | * Moreover, I don't know how to enforce such access behavior because I don't really know how nix package manager internally works on macOS. | 19:12:23 |
Danila Danko | * I'd like to transfer it to nix-community. It works OK on Linux. However, there is an issue https://github.com/deemp/cache-nix-too/issues/1 with macOS runners.
On macOS runners, a restored and newly created cache size bounces. First time, a new cache is large. In the next run, a created cache is small. Then, the cycle repeats, i.e. the newly created cache is big. I have no expertise to explain this behavior so I decided to ask here.
Any ideas why does it happen? | 19:13:57 |
Danila Danko | * I'd like to transfer it to nix-community. It works OK on Linux. However, there is an issue https://github.com/deemp/cache-nix-too/issues/1 with macOS runners.
In this action, I just nix copy from a cache, run other steps, at the end look what paths were accessed (by atime) and nix copy them to cache. Finally, I save a single cache entry.
On macOS runners, a restored and newly created cache size bounces. First time, a new cache is large. In the next run, a created cache is small. Then, the cycle repeats, i.e. the newly created cache is big. I have no expertise to explain this behavior so I decided to ask here.
Any ideas why does it happen?
| 19:14:33 |
Danila Danko | * I'd like to transfer it to nix-community. It works OK on Linux. However, there is an issue https://github.com/deemp/cache-nix-too/issues/1 with macOS runners.
In this action, I just nix copy from a cache, run other steps, at the end look what paths were accessed (by atime) and nix copy them to cache. Finally, I save a single cache entry.
On macOS runners, a restored and saved cache size bounces. First time, a saved cache is large. In the next run, a saved cache is small. Then, the cycle repeats. I have no expertise to explain this behavior so I decided to ask here.
Any ideas why does it happen?
| 19:17:13 |
Danila Danko | * Moreover, I don't know how to enforce such access behavior because I don't know how nix package manager internally works on macOS. | 19:17:37 |
| hanleym joined the room. | 19:24:28 |
Danila Danko | * Moreover, I don't know how to enforce such an access behavior because I don't know how nix package manager internally works on macOS. | 19:25:23 |
| 4 Jul 2023 |
Ilan Joselevich (Kranzes) | What does the infra repo use for deploying to nixos hosts? | 22:17:33 |
Ilan Joselevich (Kranzes) | oh it seems to just use nixos-rebuild | 22:18:58 |
| 5 Jul 2023 |
Mic92 | it uses https://github.com/numtide/deploykit to run rsync + nixos-rebuild in parallel. | 07:19:30 |
DavHau | Con someone give me admin access to all nix-community repos starting with dream2nix-? | 09:13:41 |
Jonas Chevalier | done, except the archived one because it wouldn't let me | 09:23:51 |
Jonas Chevalier | let me know if you need that one too | 09:24:14 |
Ilan Joselevich (Kranzes) | In reply to @joerg:thalheim.io it uses https://github.com/numtide/deploykit to run rsync + nixos-rebuild in parallel. Why don't we use something like Cachix Deploy in CI? | 14:23:07 |
Mic92 | We used cachix deploy but it failed from time to time and it wasn't possible to integrate deployment failure in our ci. | 14:35:42 |
Mic92 | s/ci/monitoring/ | 14:35:50 |
Mic92 | so instead we just use the auto-upgrade service from nixos | 14:37:34 |
Domen Kožar | we fixed all the stability issues :) | 14:45:18 |
Domen Kožar | also cachix deploy activate now prints the log for each agent and exists if any deployments fail | 14:45:38 |
Ilan Joselevich (Kranzes) | what Domen said ^ | 14:51:36 |
Ilan Joselevich (Kranzes) | Since you are already using Hercules-CI this should be really easy | 14:53:14 |
Ilan Joselevich (Kranzes) | https://github.com/Kranzes/nix-config/commit/05e3e024535108094cb990e5e830f219e4cc73f7#diff-972262892a9f0dbfdc5d494f914d70e930693b664613ce982c35f1b4b144ad28 | 14:53:40 |
Ilan Joselevich (Kranzes) | This uses async, but you can disable that in the boolean | 14:54:11 |
Ilan Joselevich (Kranzes) | The default behavior for cachix deploy used to be async but now it's "sync" as Domen explained | 14:55:05 |
Robert Hensing (roberth) | You probably do want async if you're going to make hercules-ci-agent redeploy itself | 15:39:31 |
Ilan Joselevich (Kranzes) | In reply to @roberthensing:matrix.org You probably do want async if you're going to make hercules-ci-agent redeploy itself Do HCI agents not survive a new generation activation? | 15:49:49 |
DavHau | Thanks | 16:45:36 |